ECL 13.5.1 ========== * Visible changes: - ECL now reports #+UNIX for all compatible systems, including *BSD ones. * Compiler fixes: - Minor readability improvements in the C code. - MULTIPLE-VALUE-BIND compiles using MULTIPLE-VALUE-SETQ and now both are better optimized, generating simpler C code. - The type checking routine for LOGAND was producing spurious warnings. - (LDB (BYTE ...) ...) no longer conses a BYTE object. - Added optimizations for MASK-FIELD, DPB, DEPOSIT-FIELD, LDB-TEST and LDB. - CONSTANT-VALUE-P and friends now use the (compiler) environment. - No optional type check generated for constant values. - Declare the temporary variables in DEFMACRO/DESTRUCTURING-BIND as IGNORABLE - ECL now accepts WHILE/IF before FOR/AS, a construct that is not ANSI An example: (LOOP FOR I IN LIST WHILE (SOME-TEST I) FOR X = (F I) ... ) * Common Lisp fixes: - CONSTANTP now performs a bit more work, macroexpanding forms. - ENSURE-DIRECTORIES-EXIST ignores the host and device from the original pathname when creating the directories. - In FORMAT, printing of floating point numbers could lead to an infinite loop. - ROUND, FLOOR, CEILING and TRUNCATE have been reorganized and work faster with rational numbers. - (CONCATENATE 'SIMPLE-BASE-STRING ...) returned an ordinary string. - MAKE-ARRAY did not terminate strings with #\Null (needed internally by the C code). - (SETF DOCUMENTATION) did not operate on functions because the function object documentation had precedence over the annotation. - Added the whole Unicode character database to the C library. This means ECL can now interpret all Unicode character names properly, and print them as well. ECL now also recognizes all ASCII control-character abbreviations - Print integers using upcase letters for radix > 10 - New functions RATIOP, {SINGLE,SHORT,DOUBLE,LONG}-FLOAT-P help avoid consing in TYPEP - HASH-TABLE-COUNT did not work with weak hashes: it did not update the count of live cells (Note, however, that this function is by definition not reliable, just a hint, since a garbage collection may happen while the count is being computed) - ECL no longer uses :READ-ONLY declarations in the SETF expansions because there is code out there that modifies the values variables. - PROGV can now 'unbind' variables when the list of variables is longer than the list of values. * CLOS: - Added built in classes FIXNUM and BIGNUM. - Eliminated code for accessing slots that was no longer used. Removed also redundant code. - Updating a class (due to a change in metaclass) now forces updating its children - UPDATE-INSTANCE-FOR-REDEFINED-CLASS received an alist instead of a propertly-list as last argument - PRINT-OBJECT did not have a working default for built in classes. * Extensions: - SYSTEM must use the POSIX shell, which usually lives in /bin/sh. - CLX now uses recursive locks. - ASDF upgraded to version 2.32, including the ASDF-BUNDLE facility, which supersedes ECL's own implementation of precompiled libraries. - MAKE-INSTANCE, SHARED-INITIALIZE, REINITIALIZE-INSTANCE now work on structures as well.
36 lines
950 B
Makefile
36 lines
950 B
Makefile
# $NetBSD: Makefile,v 1.17 2013/06/16 07:42:19 asau Exp $
|
|
|
|
DISTNAME= ecl-13.5.1
|
|
CATEGORIES= lang
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=ecls/}
|
|
EXTRACT_SUFX= .tgz
|
|
|
|
MAINTAINER= asau@inbox.ru
|
|
HOMEPAGE= http://ecls.sourceforge.net/
|
|
COMMENT= Embeddable Common Lisp
|
|
LICENSE= gnu-lgpl-v2
|
|
|
|
MAKE_JOBS_SAFE= no
|
|
|
|
USE_PKGLOCALEDIR= yes
|
|
GNU_CONFIGURE= yes
|
|
USE_LIBTOOL= yes
|
|
USE_TOOLS+= gmake makeinfo
|
|
INFO_FILES= yes
|
|
|
|
CONFIGURE_ARGS+= --enable-boehm=system --with-system-gmp
|
|
|
|
SUBST_CLASSES+= fix-libffi-include
|
|
SUBST_STAGE.fix-libdir= post-patch
|
|
SUBST_MESSAGE.fix-libdir= Fixing libffi layout.
|
|
SUBST_FILES.fix-libdir= src/c/ffi.d
|
|
SUBST_SED.fix-libdir= -e '/include.*<ffi/ffi.h>/s:ffi/ffi.h:ffi.h:'
|
|
|
|
.include "options.mk"
|
|
|
|
PLIST_SUBST= PKGVERSION_MAJOR_MINOR=${PKGVERSION_NOREV:R} \
|
|
PKGVERSION_MAJOR=${PKGVERSION_NOREV:R:R}
|
|
|
|
.include "../../devel/boehm-gc/buildlink3.mk"
|
|
.include "../../devel/gmp/buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|