pkgsrc/lang/mercury/Makefile

70 lines
2.4 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.60 2017/01/19 18:52:14 agc Exp $
Update to Mercury 14.01.1 NEWS for Mercury 14.01.1 ------------------------ This is a bug-fix release. * The function string.string/1 and related functions now handle version arrays properly. * Fix resource leaks in dir fold predicates. * The mfilterjavac program is now generated with the correct file extension on Windows. * A problem that caused compilation of the Boehm GC to fail on 64-bit openSUSE 13.1 systems has been fixed. (Github issue #14) * The documentation now builds correctly on Cygwin systems. * The script configure_mingw_cross now supports 64-bit Windows targets. * We have added workarounds for problems with (arguably broken) system headers on MinGW and MinGW64 systems. * The MinGW port now builds in the absence of POSIX threads library. * Low-level C parallel grades now work on Windows instead of crashing at startup. (Bug #338) * We now use thread-safe alternatives to strerror(). (Bug #340) * We have added the configure option --enable-gc-mmap. * We configure Boehm GC to use mmap in threaded grades on Linux to avoid conflicts with glibc malloc leading to memory corruption. * A problem that caused string.format/[23] to sometimes return incorrect results when formatting floats with the 'g' conversion specifier has been fixed. This bug only affected the non-C backends. (Bug #342) * string.format now handles special float values (i.e. nan, inf, and -inf) correctly with the non-C backends. * A bug that caused io.write_float/[34] to append ".0" to float special values has been fixed. This bug affected the C and C# backends. * In the C# and Java grades, the predicate string.from_char_list now implements the documented behaviour for input lists containing null characters (i.e. it throws an exception). Likewise, for string.from_reverse_char_list in the C# grade. * We have fixed a problem that caused `mmc --make' to attempt to install libraries in non-existent grades. Changes to the Mercury compiler: * The compiler now supports stripping of executables in a separate post-link step. The new options, --strip-executable-command, --strip-executable-shared-flags and --strip-executable-static-flags are used to control this. (This is now the default on Mac OS X systems.) NEWS for Mercury 14.01 ---------------------- Changes to the Mercury language: * Repeated type variables may now occur in the heads of type class instances. For example, instance declarations like the following are now allowed: :- instance foo(list(T), map(T, T)). Changes to the Mercury standard library: * We have added the function cord.condense/1. * The following functions in the standard library's cord module now use constant stack space: foldl/3, foldl_pred/4. * We have added the following predicates to the array and version_array modules: is_empty/1, all_true/2 and all_false/2. * We have added the following predicates and functions to the map module: det_min_key/1, det_max_key/1, foldl2_values/6 and foldl3_values/8. * We have added the following predicates to the list module: foldr2/6, foldr3/8, det_take/3 and map_foldr/5. * We have added the following predicates to the bag module: foldl/4 and foldl2/6. * We have added the following predicates to the assoc_list module: foldl2_values/6 and foldl3_values/8. * We have added the following predicates and functions to the pqueue module: is_empty/1, peek/3, peek_key/2, peek_value/2, det_peek/3, merge/3, det_peek_key/1 and det_peek_value/1. * We have added the predicate bimap.equal/2. * We have added the following predicates to the int module: fold_up3/9 and fold_down3/9. Changes to the Mercury compiler: * On Mac OS X systems the compiler is now configured use the version of the host system as the default value for the deployment target. A new configuration option, `--with-macosx-deployment-target', allows an alternative value to be selected at configuration time. Portability improvements: * We have made the implementation compatible with GCC 4.8 and Visual Studio 2013. * We have made the implementation compatible with OS X 10.9. Changes to the extras distribution: * We've added a library that provides support for accessing the function trail from Mercury code.
2015-01-04 20:37:02 +01:00
DISTNAME= mercury-srcdist-14.01.1
PKGNAME= mercury-14.01.1
PKGREVISION= 7
CATEGORIES= lang
MASTER_SITES= http://dl.mercurylang.org/release/
MASTER_SITES+= ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/
MASTER_SITES+= http://www.mercury.cs.mu.oz.au/download/files/
MASTER_SITES+= ${MASTER_SITE_SUNSITE:=devel/lang/mercury/}
MAINTAINER= pkgsrc-users@NetBSD.org
Update to Mercury 13.05.1 Beta NEWS for Mercury 13.05.1 ------------------------ Changes to the Mercury standard library: * We have added the function bimap.count/1. NEWS for Mercury 13.05 ---------------------- Changes to the Mercury standard library: * We have swapped the argument order of the predicates set.singleton_set/2, set_bbbtree.singleton_set/2, set_ordlist.singleton_set/2 and set_unordlist.singleton_set/2 so that it conforms with the order in the other set modules. * All the modules that operate on sets now have two new predicates. One is insert_new: if the item is not already in the set, it inserts the item, otherwise it fails. The other is all_true: it succeeds if and only if all elements in the set pass a test. * The map and varset modules each have a new predicate that deletes a sorted list of items from a map or varset, and can do so faster than usual by exploiting the order. * The map, bimap and tree234 modules each have a new predicate that does a search, and if the search is unsuccessful, does an insertion during the *same* traversal. * The argument order of the following predicates has been changed so as to make them more conducive to the use of state variable notation: pqueue.insert/4, pqueue.remove/4, stack.push/3, stack.push_list/3, stack.pop/3 and stack.det_pop/3. * We have added versions of the operations in the math module that omit the domain checks. * We have added new predicates to the parsing_utils module: input_string/3, get_skip_whitespace_pred/2 and next_char_no_progress/4. * The lexer module returns base 10 integer literals in the string representation, if the integer is too large for an `int'. * We have add the following new predicates to the list module: list.all_true_corresponding/3, list.all_false_corresponding/3 and list.same_length3/3. * We have added the type maybe.maybe_error/2 which is polymorphic in the error type. * We have added predicates to the calendar module for folding over the days in a given range of dates: foldl_days/5, foldl2_days/7 and foldl3_days/9. * We have added two functions to both the hash_table and version_hash_table modules: copy/1 and from_assoc_list/4. Changes to the Mercury compiler: * Generation of 64-bit code on Windows using the MinGW64 port of GCC is now supported, i.e. the x86_64-w64-mingw32 architecture is now supported. * We have improved compilation times for very large programs. In particular, compilation times for predicates containing the following have been improved: - large ground terms - large disjunctions - large numbers of higher order constructs and/or code that uses large hierarchies of type classes * We have implemented a type representation optimisation, where a functor with exactly one argument can be represented by a tagged pointer to the argument value, which itself does not require the tag bits. * In C grades, consecutive enumeration arguments in discriminated union types can now be packed into a single word. * Double-precision `float' constructor arguments are now stored in unboxed form in high-level C grades. * Double-precision `float' constructor arguments are now stored in unboxed form on 32-bit architectures in the low-level C grades. This was previously so for 64-bit architectures. * Double-precision float arguments can now be passed via dedicated Mercury abstract machine registers to avoid boxing, in low-level C grades on 32-bit architectures. Float variables can occupy two words on the Mercury stack to avoid boxing. * The option `--warn-non-tail-recursion' no longer requires `--high-level-code'. * A new option, `--sign-assembly', provides supports for signing assemblies generated by the C# backend with a strong name. * A new option, `--cstack-reserve-size', allows the size of the C stack for executables to be changed on Microsoft Windows systems. Changes to the Mercury debugger: * We have added new capabilities to the "level", "retry" and "finish" mdb commands. If these commands are given the argument "clentry", they will operate on the ancestor of the current call that represents entry to the clique of mutually recursive procedures that the current call belongs to. If they are given the argument "clparent", they will operate on the parent of that call. * The mdb command "stack" can now find and mark cliques of mutually recursive calls on the stack, and can (and by default, will) impose a limit on the number of lines it prints for each clique. Changes to the extras distribution: * We have added a binding to the GLFW library. NEWS for Mercury 11.07.2, 3 August 2012 --------------------------------------- This is a bug-fix release: it fixes the following: * The name of the C# compiler in newer versions of Mono is now recognised. * The configure script now distinguishes between the MS C# compiler and the Chicken Scheme compiler. * Thread local storage now works on Mac OS X when using clang as the C compiler. * Various build issues on Solaris 10 have been resolved. * The --erlang option now sets all the relevant grade components correctly. * The binary input and output streams are now set to binary translation mode when using the MSVC CRT. * The standard library's lexer module now correctly tokenizes binary, octal and hexadecimal integer literals. * Some bugs in the UTF-8 routines used by the C grades have been fixed. Also, the performance of these routines has been improved. * The exit status is now correctly set when --warn-non-tail-recursion is being used. Changes to the Mercury standard library: * We have added additional modes to map.foldr/4, map.foldr/6 and the list.foldl<N>_corresponding3 predicates. * The predicates parsing_utils.float_literal/3 and parsing_utils.float_literal_as_string/4 now accept an optional plus sign in the exponent. * The obsolete predicates string.remove_suffix_det/2 and string.index_det/2 have been removed. * The predicate time.times/4 is now implemented for the csharp grade. * The version_hash_table module is now supported in the csharp and java grades. * The unsafe versions of the predicates in the array2d module are now more efficient. Changes to the Mercury compiler: * The compiler now outputs #line directives in C# code it generates. NEWS for Mercury 11.07.1, 2 March 2012 -------------------------------------- This is a bug-fix release. It fixes a problem that was preventing the standard library from building in the csharp grade on Cygwin and also adds support for using GCC in C99 (or GNU99) mode with Mercury. In addition, there are a number of minor changes to the standard library. Changes to the Mercury standard library: * We have added the predicate map.keys_and_values/3. * We have added the predicates set.is_singleton/2, set_bbbtree.is_singleton/2, set_ctree234.is_singleton/2 and set_unordlist.is_singleton/2. * We have added the function list.foldl_corresponding/4.
2013-06-11 21:34:14 +02:00
HOMEPAGE= http://www.mercurylang.org/
COMMENT= Modern logic/functional programming language
BUILD_DEPENDS+= dvipsk>=0:../../print/dvipsk # dvips
2015-03-22 10:53:57 +01:00
BUILD_DEPENDS+= web2c>=0:../../print/web2c # pdftex
BUILD_DEPENDS+= gtexinfo>=0:../../devel/gtexinfo # texi2dvi
BUILD_DEPENDS+= tex-texinfo>=0:../../print/tex-texinfo # texinfo.tex
BUILD_DEPENDS+= tex-latex-fonts>=0:../../fonts/tex-latex-fonts
GNU_CONFIGURE= yes
Update to Mercury 14.01.1 NEWS for Mercury 14.01.1 ------------------------ This is a bug-fix release. * The function string.string/1 and related functions now handle version arrays properly. * Fix resource leaks in dir fold predicates. * The mfilterjavac program is now generated with the correct file extension on Windows. * A problem that caused compilation of the Boehm GC to fail on 64-bit openSUSE 13.1 systems has been fixed. (Github issue #14) * The documentation now builds correctly on Cygwin systems. * The script configure_mingw_cross now supports 64-bit Windows targets. * We have added workarounds for problems with (arguably broken) system headers on MinGW and MinGW64 systems. * The MinGW port now builds in the absence of POSIX threads library. * Low-level C parallel grades now work on Windows instead of crashing at startup. (Bug #338) * We now use thread-safe alternatives to strerror(). (Bug #340) * We have added the configure option --enable-gc-mmap. * We configure Boehm GC to use mmap in threaded grades on Linux to avoid conflicts with glibc malloc leading to memory corruption. * A problem that caused string.format/[23] to sometimes return incorrect results when formatting floats with the 'g' conversion specifier has been fixed. This bug only affected the non-C backends. (Bug #342) * string.format now handles special float values (i.e. nan, inf, and -inf) correctly with the non-C backends. * A bug that caused io.write_float/[34] to append ".0" to float special values has been fixed. This bug affected the C and C# backends. * In the C# and Java grades, the predicate string.from_char_list now implements the documented behaviour for input lists containing null characters (i.e. it throws an exception). Likewise, for string.from_reverse_char_list in the C# grade. * We have fixed a problem that caused `mmc --make' to attempt to install libraries in non-existent grades. Changes to the Mercury compiler: * The compiler now supports stripping of executables in a separate post-link step. The new options, --strip-executable-command, --strip-executable-shared-flags and --strip-executable-static-flags are used to control this. (This is now the default on Mac OS X systems.) NEWS for Mercury 14.01 ---------------------- Changes to the Mercury language: * Repeated type variables may now occur in the heads of type class instances. For example, instance declarations like the following are now allowed: :- instance foo(list(T), map(T, T)). Changes to the Mercury standard library: * We have added the function cord.condense/1. * The following functions in the standard library's cord module now use constant stack space: foldl/3, foldl_pred/4. * We have added the following predicates to the array and version_array modules: is_empty/1, all_true/2 and all_false/2. * We have added the following predicates and functions to the map module: det_min_key/1, det_max_key/1, foldl2_values/6 and foldl3_values/8. * We have added the following predicates to the list module: foldr2/6, foldr3/8, det_take/3 and map_foldr/5. * We have added the following predicates to the bag module: foldl/4 and foldl2/6. * We have added the following predicates to the assoc_list module: foldl2_values/6 and foldl3_values/8. * We have added the following predicates and functions to the pqueue module: is_empty/1, peek/3, peek_key/2, peek_value/2, det_peek/3, merge/3, det_peek_key/1 and det_peek_value/1. * We have added the predicate bimap.equal/2. * We have added the following predicates to the int module: fold_up3/9 and fold_down3/9. Changes to the Mercury compiler: * On Mac OS X systems the compiler is now configured use the version of the host system as the default value for the deployment target. A new configuration option, `--with-macosx-deployment-target', allows an alternative value to be selected at configuration time. Portability improvements: * We have made the implementation compatible with GCC 4.8 and Visual Studio 2013. * We have made the implementation compatible with OS X 10.9. Changes to the extras distribution: * We've added a library that provides support for accessing the function trail from Mercury code.
2015-01-04 20:37:02 +01:00
USE_TOOLS+= gmake pax bison flex makeinfo
USE_TOOLS+= perl # ?
USE_TOOLS+= makeinfo
INFO_FILES= yes
# Some of the scripts test CC and use special settings for gcc.
CONFIGURE_ENV+= CC=gcc
CONFIGURE_ENV+= HOSTNAMECMD=${TOOLS_HOSTNAME_CMD:Q}
USE_TOOLS+= hostname
2015-12-26 12:58:19 +01:00
ALL_ENV+= READLINE_PREFIX=${BUILDLINK_PREFIX.readline}
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.
2003-05-02 19:48:28 +02:00
INSTALL_PREFIX= ${WRKSRC}/tmp
BUILD_MAKE_FLAGS= ${MAKE_FLAGS}
BUILD_MAKE_FLAGS+= INSTALL_PREFIX=${INSTALL_PREFIX:Q}
BUILD_MAKE_FLAGS+= INSTALL_INFO_DIR=${INSTALL_PREFIX:Q}/${PKGINFODIR:Q}
BUILD_MAKE_FLAGS+= INSTALL_MAN_DIR=${INSTALL_PREFIX:Q}/${PKGMANDIR:Q}
BUILD_MAKE_FLAGS+= MERCURY_COMPILER=${INSTALL_PREFIX:Q}/bin/mercury_compile
BUILD_MAKE_FLAGS+= PARALLEL=$(MAKE_JOBS:D-j$(MAKE_JOBS))
Update to Mercury 13.05.1 Beta NEWS for Mercury 13.05.1 ------------------------ Changes to the Mercury standard library: * We have added the function bimap.count/1. NEWS for Mercury 13.05 ---------------------- Changes to the Mercury standard library: * We have swapped the argument order of the predicates set.singleton_set/2, set_bbbtree.singleton_set/2, set_ordlist.singleton_set/2 and set_unordlist.singleton_set/2 so that it conforms with the order in the other set modules. * All the modules that operate on sets now have two new predicates. One is insert_new: if the item is not already in the set, it inserts the item, otherwise it fails. The other is all_true: it succeeds if and only if all elements in the set pass a test. * The map and varset modules each have a new predicate that deletes a sorted list of items from a map or varset, and can do so faster than usual by exploiting the order. * The map, bimap and tree234 modules each have a new predicate that does a search, and if the search is unsuccessful, does an insertion during the *same* traversal. * The argument order of the following predicates has been changed so as to make them more conducive to the use of state variable notation: pqueue.insert/4, pqueue.remove/4, stack.push/3, stack.push_list/3, stack.pop/3 and stack.det_pop/3. * We have added versions of the operations in the math module that omit the domain checks. * We have added new predicates to the parsing_utils module: input_string/3, get_skip_whitespace_pred/2 and next_char_no_progress/4. * The lexer module returns base 10 integer literals in the string representation, if the integer is too large for an `int'. * We have add the following new predicates to the list module: list.all_true_corresponding/3, list.all_false_corresponding/3 and list.same_length3/3. * We have added the type maybe.maybe_error/2 which is polymorphic in the error type. * We have added predicates to the calendar module for folding over the days in a given range of dates: foldl_days/5, foldl2_days/7 and foldl3_days/9. * We have added two functions to both the hash_table and version_hash_table modules: copy/1 and from_assoc_list/4. Changes to the Mercury compiler: * Generation of 64-bit code on Windows using the MinGW64 port of GCC is now supported, i.e. the x86_64-w64-mingw32 architecture is now supported. * We have improved compilation times for very large programs. In particular, compilation times for predicates containing the following have been improved: - large ground terms - large disjunctions - large numbers of higher order constructs and/or code that uses large hierarchies of type classes * We have implemented a type representation optimisation, where a functor with exactly one argument can be represented by a tagged pointer to the argument value, which itself does not require the tag bits. * In C grades, consecutive enumeration arguments in discriminated union types can now be packed into a single word. * Double-precision `float' constructor arguments are now stored in unboxed form in high-level C grades. * Double-precision `float' constructor arguments are now stored in unboxed form on 32-bit architectures in the low-level C grades. This was previously so for 64-bit architectures. * Double-precision float arguments can now be passed via dedicated Mercury abstract machine registers to avoid boxing, in low-level C grades on 32-bit architectures. Float variables can occupy two words on the Mercury stack to avoid boxing. * The option `--warn-non-tail-recursion' no longer requires `--high-level-code'. * A new option, `--sign-assembly', provides supports for signing assemblies generated by the C# backend with a strong name. * A new option, `--cstack-reserve-size', allows the size of the C stack for executables to be changed on Microsoft Windows systems. Changes to the Mercury debugger: * We have added new capabilities to the "level", "retry" and "finish" mdb commands. If these commands are given the argument "clentry", they will operate on the ancestor of the current call that represents entry to the clique of mutually recursive procedures that the current call belongs to. If they are given the argument "clparent", they will operate on the parent of that call. * The mdb command "stack" can now find and mark cliques of mutually recursive calls on the stack, and can (and by default, will) impose a limit on the number of lines it prints for each clique. Changes to the extras distribution: * We have added a binding to the GLFW library. NEWS for Mercury 11.07.2, 3 August 2012 --------------------------------------- This is a bug-fix release: it fixes the following: * The name of the C# compiler in newer versions of Mono is now recognised. * The configure script now distinguishes between the MS C# compiler and the Chicken Scheme compiler. * Thread local storage now works on Mac OS X when using clang as the C compiler. * Various build issues on Solaris 10 have been resolved. * The --erlang option now sets all the relevant grade components correctly. * The binary input and output streams are now set to binary translation mode when using the MSVC CRT. * The standard library's lexer module now correctly tokenizes binary, octal and hexadecimal integer literals. * Some bugs in the UTF-8 routines used by the C grades have been fixed. Also, the performance of these routines has been improved. * The exit status is now correctly set when --warn-non-tail-recursion is being used. Changes to the Mercury standard library: * We have added additional modes to map.foldr/4, map.foldr/6 and the list.foldl<N>_corresponding3 predicates. * The predicates parsing_utils.float_literal/3 and parsing_utils.float_literal_as_string/4 now accept an optional plus sign in the exponent. * The obsolete predicates string.remove_suffix_det/2 and string.index_det/2 have been removed. * The predicate time.times/4 is now implemented for the csharp grade. * The version_hash_table module is now supported in the csharp and java grades. * The unsafe versions of the predicates in the array2d module are now more efficient. Changes to the Mercury compiler: * The compiler now outputs #line directives in C# code it generates. NEWS for Mercury 11.07.1, 2 March 2012 -------------------------------------- This is a bug-fix release. It fixes a problem that was preventing the standard library from building in the csharp grade on Cygwin and also adds support for using GCC in C99 (or GNU99) mode with Mercury. In addition, there are a number of minor changes to the standard library. Changes to the Mercury standard library: * We have added the predicate map.keys_and_values/3. * We have added the predicates set.is_singleton/2, set_bbbtree.is_singleton/2, set_ctree234.is_singleton/2 and set_unordlist.is_singleton/2. * We have added the function list.foldl_corresponding/4.
2013-06-11 21:34:14 +02:00
CHECK_PORTABILITY_SKIP+= boehm_gc/configure
CHECK_INTERPRETER_SKIP+= lib/mercury/reconf/scripts/mtags.in
post-patch:
${TOUCH} \
${WRKSRC}/library/table_builtin.date3 \
${WRKSRC}/library/table_builtin.date \
${WRKSRC}/library/table_builtin.optdate \
${WRKSRC}/library/table_builtin.trans_opt_date \
${WRKSRC}/library/table_builtin.c_date
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.
2003-05-02 19:48:28 +02:00
do-build:
2007-02-15 15:36:39 +01:00
cd ${WRKSRC} && ${BUILD_MAKE_CMD} install
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.
2003-05-02 19:48:28 +02:00
do-install:
cd ${WRKSRC}/tmp && pax -rw . ${DESTDIR}${PREFIX}
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/examples/mercury
${FIND} ${WRKSRC} -type d -name "CVS" -print | ${XARGS} ${RM} -fr
${FIND} ${WRKSRC} -type f -name ".cvsignore" -print | ${XARGS} ${RM} -f
cd ${WRKSRC}/samples && \
pax -rw . ${DESTDIR}${PREFIX}/share/examples/mercury
# rl_prep_term_function
.include "../../devel/readline/buildlink3.mk"
.include "../../devel/ncurses/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"