[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / lang / mercury

File: [cvs.NetBSD.org] / pkgsrc / lang / mercury / Makefile (download)

Revision 1.8, Fri May 2 17:48:28 2003 UTC (20 years, 11 months ago) by jtb
Branch: MAIN
Changes since 1.7: +18 -17 lines

Update mercury to version 0.11.0.

Changes to the Mercury language:
* Support for constrained polymorphic modes.
* Addition of state variable syntax.
* Improved support for higher-order functions.
* Predicate and function equivalence type and mode declarations.
* Support for defining predicates or functions
  using different clauses for different modes.
* Support for Haskell-like "@" expressions.
* Generalized foreign language interface.

Changes to the Mercury compiler:
* A new `--make' option, for simpler building of programs.
* A new `--smart-recompilation' option, for fine-grained dependency tracking.
* A new optional warning: `--warn-non-tail-recursion'.
* A new optimization: `--constraint-propagation'.
* A new optimization: `--loop-invariants'.
* Support for arbitrary mappings from module name to source file name.

Portability improvements:
* Mac OS X is now supported "out-of-the-box".
* On Windows we now support generating non-Cygwin executables.
* Better conformance to ANSI/ISO C.

Changes to the compiler back-ends:
* The native code Linux/x86 back-end is now "release quality".
* The .NET CLR back-end is much improved.

Major improvements to the Mercury debugger, including:
* Support for source-linked debugging using vim (rather than emacs).
* Command-line completion.
* Ability to display values of higher-order terms.
* Declarative debugging.
* Support for transparent retries across I/O.

A new profiler, which we call the Mercury deep profiler or mdprof:
* Supports both time and memory profiling.
* Gathers information about individual call sites as well as procedures.
* Eliminates the assumption that all calls to a procedure have equal cost.
* Allows users to explore the gathered data interactively with a web browser.

Numerous minor improvements to the Mercury standard library.

A new testing tool in the extras distribution.

# $NetBSD: Makefile,v 1.8 2003/05/02 17:48:28 jtb Exp $

DISTNAME=		mercury-compiler-0.11.0
PKGNAME=		mercury-0.11.0
CATEGORIES=		lang
MASTER_SITES=		ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/ \
			${MASTER_SITE_SUNSITE:=devel/lang/mercury/}

MAINTAINER=		packages@netbsd.org
HOMEPAGE=		http://www.cs.mu.oz.au/mercury/
COMMENT=		modern logic/functional programming language

USE_BUILDLINK2=		yes
GNU_CONFIGURE=		yes
USE_GMAKE=		yes
USE_GNU_READLINE=	yes	# rl_prep_term_function

INFO_FILES=		mercury.info

# Some of the scripts test CC and use special settings for gcc.
CONFIGURE_ENV+=		CC=gcc

MAKE_ENV+=		READLINE_PREFIX=${BUILDLINK_PREFIX.readline}

do-build:
	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
		${MAKE} INSTALL_PREFIX=${WRKSRC}/tmp \
			MERCURY_COMPILER=${WRKSRC}/tmp/lib/mercury/bin/${MACHINE_GNU_PLATFORM}/mercury_compile \
		install

do-install:
	cd ${WRKSRC}/tmp && ${PAX} -rw . ${PREFIX}
	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/mercury
	${FIND} ${WRKSRC} -type d -name "CVS" | ${XARGS} ${RM} -fr
	${FIND} ${WRKSRC} -type f -name ".cvsignore" | ${XARGS} ${RM} -f
	cd ${WRKSRC}/samples && ${PAX} -rw . ${PREFIX}/share/examples/mercury

.include "../../devel/readline/buildlink2.mk"
.include "../../devel/ncurses/buildlink2.mk"
.include "../../mk/texinfo.mk"
.include "../../mk/bsd.pkg.mk"