pkgsrc/lang/ecl/buildlink3.mk

17 lines
397 B
Makefile
Raw Normal View History

Update to ECL 16.0.0. Based on changes from Matthew Mondor as forwarded by Kamil Rytarowski. Changes since 15.3.7: API changes - There is no UFFI nickname for FFI package - we piggyback on cffi-uffi-compat for UFFI dependent systems (our UFFI wasn't version 2.0 compatible and there were problems with ADSF dependencies on UFFI - it wasn't a system) - CLOS has the new nickname "MOP" - The new ext:run-program :error argument can automatically create a separate stream if provided with the :stream keyword. The external-process structure also has a new field to hold that stream. - ext:run-program accepts new arguments - :if-input-does-not-exist, :if-error-exists and :external-format - ext:system no longer binds *standard-input* and *standard-output* and now ignores input and output (use ext:run-program for more control) - methods can be specialized on both single-float and double-float (built-in classes were added for them) - LET/FLET/LABELS will signal error if parameter of the same name will appear multiple times - lambda lists with repeated required parameter name are considered invalid - deprecated configure options "--with-system-boehm=x" and "--enable-slow-config" removed Enhancements: - Verification if manual is up-to-date, providing corrections for outdated parts - Documentation is now included in the main repository under the toplevel directory `doc' - Update libffi to version 3.2.1 - Update asdf to version 3.1.5.4 - Update Boehm-Demers-Weiser garbage collector to version 7.4.2 - Pathname string-parts internal representation is now character, not base-char - Dead code removal, tabulators were replaced by spaces - Better quality of generated code (explicit casting when necessary) Issues fixed: - Various fixes of bogus declarations - Remove deprecated GC calls - ROTATEF, SHIFTF, PSETF reworked to conform to the ANSI standard. Places were handled improperly in regard of multiple values. - Improved unicode support in character handling - Format handles floats and exponentials correctly (major format rework) - Stack limits refinements and cleanup, inconsistency and bug fixes - Duplicate large block deallocation with GMP 6.0.0a fixed - ECL builds on OpenBSD with threads enabled - Closures put in mapcar work as expected in both compiled and interpreted code - Improved readtable-case handling (:invert and character literals now conform) - Library initialization functions have unique names - no risk of clashing symbol names in object files - Format float bug fixed, when width and fdigits were not set, but k was - `logical-pathname-translations' now throws an error if logical pathname wasn't defined yet, to conform with ANSI (it used to return NIL) - Wildcards in logical pathname translations are replaced correctly - Regression testing framework and unit tests cleanup - deftype ANSI conformity fix (deftype accepts macro labda-lists) - ECL built with MSVC doesn't crash when Control-C is pressed - Other minor tweaks Changes in 15.3.7 since 15.2.21: Issues fixed: - DEFUN functions not defined as toplevel forms were also directly referenced by other code in the same file. - STABLE-SORT works as desired (bogus optimization for strings fixed). - broken --with-sse=yes configure flag works once again. Enhancements: - autoconf scripts are rewritten to support version 2.69 stack. - stack direction is now correctly determined, fixing gcc 5.x builds. - compilation of ECL under MSVC (2008/2010/2012) even with custom code pages. - In compiled code it is possible to declare variables to have a C type such as in (declare (:double a)) and then the variable is enforced to be unboxed to such type. - New form FFI:C-PROGN used to interleave C statements with lisp code, where the lisp code may refer to any number of variables. Example: (lambda (i) (let* ((limit i) (iterator 0)) (declare (:int limit iterator)) (ffi:c-progn (limit iterator) "for (#1 = 0; #1 < #0; #1++) {" (print iterator) "}"))) Changes in 15.2.21 since 13.5.1: - Features coverity scan model, ffi-unload-module implementation, probably more. - Build system enhancements, parallel builds, fixes, simplifications, cleanups, maintenance. minor cleanup, maintenance. - Numerous fixes.
2015-12-09 22:00:47 +01:00
# $NetBSD: buildlink3.mk,v 1.9 2015/12/09 21:00:47 asau Exp $
BUILDLINK_TREE+= ecl
.if !defined(ECL_BUILDLINK3_MK)
ECL_BUILDLINK3_MK:=
Update to ECL 16.0.0. Based on changes from Matthew Mondor as forwarded by Kamil Rytarowski. Changes since 15.3.7: API changes - There is no UFFI nickname for FFI package - we piggyback on cffi-uffi-compat for UFFI dependent systems (our UFFI wasn't version 2.0 compatible and there were problems with ADSF dependencies on UFFI - it wasn't a system) - CLOS has the new nickname "MOP" - The new ext:run-program :error argument can automatically create a separate stream if provided with the :stream keyword. The external-process structure also has a new field to hold that stream. - ext:run-program accepts new arguments - :if-input-does-not-exist, :if-error-exists and :external-format - ext:system no longer binds *standard-input* and *standard-output* and now ignores input and output (use ext:run-program for more control) - methods can be specialized on both single-float and double-float (built-in classes were added for them) - LET/FLET/LABELS will signal error if parameter of the same name will appear multiple times - lambda lists with repeated required parameter name are considered invalid - deprecated configure options "--with-system-boehm=x" and "--enable-slow-config" removed Enhancements: - Verification if manual is up-to-date, providing corrections for outdated parts - Documentation is now included in the main repository under the toplevel directory `doc' - Update libffi to version 3.2.1 - Update asdf to version 3.1.5.4 - Update Boehm-Demers-Weiser garbage collector to version 7.4.2 - Pathname string-parts internal representation is now character, not base-char - Dead code removal, tabulators were replaced by spaces - Better quality of generated code (explicit casting when necessary) Issues fixed: - Various fixes of bogus declarations - Remove deprecated GC calls - ROTATEF, SHIFTF, PSETF reworked to conform to the ANSI standard. Places were handled improperly in regard of multiple values. - Improved unicode support in character handling - Format handles floats and exponentials correctly (major format rework) - Stack limits refinements and cleanup, inconsistency and bug fixes - Duplicate large block deallocation with GMP 6.0.0a fixed - ECL builds on OpenBSD with threads enabled - Closures put in mapcar work as expected in both compiled and interpreted code - Improved readtable-case handling (:invert and character literals now conform) - Library initialization functions have unique names - no risk of clashing symbol names in object files - Format float bug fixed, when width and fdigits were not set, but k was - `logical-pathname-translations' now throws an error if logical pathname wasn't defined yet, to conform with ANSI (it used to return NIL) - Wildcards in logical pathname translations are replaced correctly - Regression testing framework and unit tests cleanup - deftype ANSI conformity fix (deftype accepts macro labda-lists) - ECL built with MSVC doesn't crash when Control-C is pressed - Other minor tweaks Changes in 15.3.7 since 15.2.21: Issues fixed: - DEFUN functions not defined as toplevel forms were also directly referenced by other code in the same file. - STABLE-SORT works as desired (bogus optimization for strings fixed). - broken --with-sse=yes configure flag works once again. Enhancements: - autoconf scripts are rewritten to support version 2.69 stack. - stack direction is now correctly determined, fixing gcc 5.x builds. - compilation of ECL under MSVC (2008/2010/2012) even with custom code pages. - In compiled code it is possible to declare variables to have a C type such as in (declare (:double a)) and then the variable is enforced to be unboxed to such type. - New form FFI:C-PROGN used to interleave C statements with lisp code, where the lisp code may refer to any number of variables. Example: (lambda (i) (let* ((limit i) (iterator 0)) (declare (:int limit iterator)) (ffi:c-progn (limit iterator) "for (#1 = 0; #1 < #0; #1++) {" (print iterator) "}"))) Changes in 15.2.21 since 13.5.1: - Features coverity scan model, ffi-unload-module implementation, probably more. - Build system enhancements, parallel builds, fixes, simplifications, cleanups, maintenance. minor cleanup, maintenance. - Numerous fixes.
2015-12-09 22:00:47 +01:00
BUILDLINK_API_DEPENDS.ecl+= ecl>=16.0.0
BUILDLINK_ABI_DEPENDS.ecl+= ecl>=16.0.0
BUILDLINK_PKGSRCDIR.ecl?= ../../lang/ecl
.include "../../devel/boehm-gc/buildlink3.mk"
.include "../../devel/gmp/buildlink3.mk"
.endif # ECL_BUILDLINK3_MK
BUILDLINK_TREE+= -ecl