2646edd528
Changes since 16.0.0 * API changes - si:do-setf accepts optional parameter stores. New lambda-list: (access-fn function &optional (stores `(,(gensym)))) This change is backward compatible. - New MP functions: mp:with-rwlock mp:try-get-semaphore (non-blocking) mp:mailbox-try-read (non-blocking) mp:mailbox-try-send (non-blocking) - Added back removed C interfaces ecl_import_current_thread ecl_release_current_thread - When cl-truename encounters a broken symlink, it returns its path instead of signalling a file-error - Deprecated variables has been removed c::*suppress-compiler-warnings*, c::*suppress-compiler-notes* - Random state might be initialized by a random seed (truncated to 32bit value) or by a precomputed array. Latter is designed to allow reading back the printed random state (when printed readably), not as an array to initialize the random state. - C99 supporting compiler is mandatory for C backend. - COMPILER::*cc_is_cxx*: New variable to switch the output extension of emitted compiler code to ".cxx" when configured with "--with-c++". This eliminates compiler warnings that compiling C++ with a ".c" extension is deprecated; this is seen mostly with Clang++. - Added Clang-specific pragmas to disable return type, unused value and excessive parentheses warnings, which are fairly harmless, but annoying and clutter user output. - GRAY:CLOSE isn't specialized on T to preserve compatibility with some libraries. * Enhancements: - Added code walker (present as *feature* :walker) - Testing framework cleanup - Format fallbacks to prin1 if infinity or NaN are passed to it - Annotations are added at runtime (better integration with SLIME) - Mersenne-Twister RNG has new 64 bit implementation for appropriate machines - Add sockets implementation for android platform - Add android build target (official android support) * Issues fixed: - si:open-unix-socket-stream accepts both string and base-string (automatic coercion is performed) - Long form of DEFSETF accepts multiple-values as a store forms: (defsetf gah (x) (y z) `(list ,x ,y ,z)) (setf (gah 3) (values 3 4)) - Building with single-threaded boehm works if ECL threads are disabled - Using labels works with sharp-S-reader (read-from-string "(#1=\"Hello\" #S(sharp-s-reader.1.example-struct :A #1#))") - Generated C code works well with IEEE 754 infinities (regression tests created) - User-defined heap sizes can now exceed the size of a fixnum on 32-bit - The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code prevented the heap to grow for 64-bit. This now occurs, and a few other less visible bugs were fixed by restoring consistency to ECL_FIXNUM_BITS. - EXT:EXTERNAL-PROCESS-WAIT potential race condition fix - Building with object files not created by ECL works (CFFI wrappers) - Regression regarding initialization of build by ECL libraries from external code fixed. Static and shared libraries initialization funcitons has predetermined name while object files has randomized names. - Random state initial state generation was buggy and insecure (entropy from urandom was rejected) - Fix `listen' on streams when FILE_CNT isn't available (use read instad of fread) - `FIND' compiled with C compiler didn't respect `START' nor `END' arguments. Compiler macro is fixed now and should work as expected - `compute-applicable-methods-using-classes` bugfix
34 lines
974 B
Makefile
34 lines
974 B
Makefile
# $NetBSD: Makefile,v 1.22 2016/03/11 20:32:30 asau Exp $
|
|
|
|
DISTNAME= ecl-16.1.2
|
|
CATEGORIES= lang
|
|
MASTER_SITES= https://common-lisp.net/project/ecl/files/release/$(PKGVERSION_NOREV)/
|
|
EXTRACT_SUFX= .tgz
|
|
|
|
MAINTAINER= asau@inbox.ru
|
|
HOMEPAGE= https://common-lisp.net/project/ecl/
|
|
COMMENT= Embeddable Common Lisp
|
|
LICENSE= gnu-lgpl-v2
|
|
|
|
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"
|