diff --git a/bin/build.sh b/bin/build.sh index 0ac13c8f0cc4a717a8f216329eb047b8f6ce9f0f..f451ac110d11baae0bfe8ac61850d160fedb408f 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -39,7 +39,7 @@ ENABLE2="yes" ENABLE3="yes" ENABLE4="yes" -version=20c +version=20d SRCDIR=src BINDIR=bin TOOLDIR=$BINDIR diff --git a/src/bootfiles/20d/boot-2012-12-1.lisp b/src/bootfiles/20d/boot-2012-12-1.lisp new file mode 100644 index 0000000000000000000000000000000000000000..58dc3161baf1dccc5ab13aeba13773d708d90849 --- /dev/null +++ b/src/bootfiles/20d/boot-2012-12-1.lisp @@ -0,0 +1,6 @@ +;; Add :alien-callback to *features* to build callback support for +;; platforms that support alien callbacks. + +#+(or x86 sparc ppc) +(pushnew :alien-callback *features*) + diff --git a/src/code/lispinit.lisp b/src/code/lispinit.lisp index f5548b23de547d2528041846786d885fc8ad47d6..81a6e20a39563b376d5463fe8bc1d571b441fcd7 100644 --- a/src/code/lispinit.lisp +++ b/src/code/lispinit.lisp @@ -39,12 +39,16 @@ #+stack-checking (sys:register-lisp-runtime-feature :stack-checking) -#+heap-overflow-check +;; Currently, heap-overflow-check depends on gencgc. +#+(and heap-overflow-check gencgc) (sys:register-lisp-runtime-feature :heap-overflow-check) #+double-double (sys:register-lisp-feature :double-double) +#+alien-callback +(sys:register-lisp-feature :alien-callback) + ;;; Make the error system enable interrupts. (defconstant most-positive-fixnum #.vm:target-most-positive-fixnum diff --git a/src/tools/comcom.lisp b/src/tools/comcom.lisp index 0953dc07d83a261bd226cc4973d10a556bf1709e..2205e11f08e4c3c01ed93d359a0986f90596e99c 100644 --- a/src/tools/comcom.lisp +++ b/src/tools/comcom.lisp @@ -197,7 +197,8 @@ (vmdir "target:compiler/sse2-c-call") (vmdir "target:compiler/x87-c-call")) :byte-compile *byte-compile*)) -(comf (vmdir "target:compiler/c-callback")) +(when (c:target-featurep :alien-callback) + (comf (vmdir "target:compiler/c-callback"))) (comf (vmdir "target:compiler/cell")) (comf (vmdir "target:compiler/values") :byte-compile *byte-compile*) (comf (vmdir "target:compiler/alloc")) diff --git a/src/tools/worldcom.lisp b/src/tools/worldcom.lisp index 9a74818bd6f8d2297af9d4244edaf6ce651d784d..f8ac65ac06ad3b7d00d20ee778af33997a4d7fcd 100644 --- a/src/tools/worldcom.lisp +++ b/src/tools/worldcom.lisp @@ -138,7 +138,8 @@ (setf (fdefinition 'lisp::%deftype) *original-%deftype*) (comf "target:code/alieneval") -(comf "target:code/alien-callback") +(when (c:target-featurep :alien-callback) + (comf "target:code/alien-callback")) (comf "target:code/c-call") (comf "target:code/sap")