X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=make-config.sh;h=c925c5825b4f65912e983792dd54ae73810fdd25;hb=203e466f5fbb3bffa7b4beb19d87bed6f8a1b5db;hp=128cf33dd0f76bc1c5708f472b348051febb4f18;hpb=04d819bb1a2e64de4e997203b9516229bb73c686;p=sbcl.git diff --git a/make-config.sh b/make-config.sh index 128cf33..c925c58 100644 --- a/make-config.sh +++ b/make-config.sh @@ -106,6 +106,7 @@ case `uname -m` in sparc*) guessed_sbcl_arch=sparc ;; sun*) guessed_sbcl_arch=sparc ;; ppc) guessed_sbcl_arch=ppc ;; + ppc64) guessed_sbcl_arch=ppc ;; Power*Macintosh) guessed_sbcl_arch=ppc ;; parisc) guessed_sbcl_arch=hppa ;; mips*) guessed_sbcl_arch=mips ;; @@ -254,9 +255,14 @@ cd $original_dir if [ "$sbcl_arch" = "x86" ]; then printf ' :gencgc :stack-grows-downward-not-upward :c-stack-is-control-stack' >> $ltf printf ' :stack-allocatable-closures :alien-callbacks' >> $ltf - if [ "$sbcl_os" = "linux" ] || [ "$sbcl_os" = "freebsd" ] || [ "$sbcl_os" = "netbsd" ] || [ "$sbcl_os" = "sunos" ]; then + if [ "$sbcl_os" = "linux" ] || [ "$sbcl_os" = "freebsd" ] || [ "$sbcl_os" = "netbsd" ] || [ "$sbcl_os" = "sunos" ] || [ "$sbcl_os" = "darwin" ] || [ "$sbcl_os" = "win32" ]; then printf ' :linkage-table' >> $ltf fi + if [ "$sbcl_os" = "win32" ]; then + # of course it doesn't provide dlopen, but there is + # roughly-equivalent magic nevertheless. + printf ' :os-provides-dlopen' >> $ltf + fi elif [ "$sbcl_arch" = "x86-64" ]; then printf ' :gencgc :stack-grows-downward-not-upward :c-stack-is-control-stack :linkage-table' >> $ltf printf ' :stack-allocatable-closures :alien-callbacks' >> $ltf @@ -267,7 +273,7 @@ elif [ "$sbcl_arch" = "mips" ]; then # cross-compilers! # # FIXME: integrate to grovel-features, mayhaps - $GNUMAKE -C tools-for-build determine-endianness -I src/runtime + $GNUMAKE -C tools-for-build determine-endianness -I ../src/runtime tools-for-build/determine-endianness >> $ltf elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "linux" ]; then # Use a C program to detect which kind of glibc we're building on, @@ -275,11 +281,11 @@ elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "linux" ]; then # versions 2.3.1 and 2.3.2 # # FIXME: integrate to grovel-features., maypahps - printf ' :stack-allocatable-closures' >> $ltf - $GNUMAKE -C tools-for-build where-is-mcontext -I src/runtime - tools-for-build/where-is-mcontext > src/runtime/ppc-linux-mcontext.h + printf ' :gencgc :stack-allocatable-closures :linkage-table' >> $ltf + $GNUMAKE -C tools-for-build where-is-mcontext -I ../src/runtime + tools-for-build/where-is-mcontext > src/runtime/ppc-linux-mcontext.h || (echo "error running where-is-mcontext"; exit 1) elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "darwin" ]; then - printf ' :stack-allocatable-closures' >> $ltf + printf ' :gencgc :stack-allocatable-closures' >> $ltf # We provide a dlopen shim, so a little lie won't hurt printf " :os-provides-dlopen :linkage-table :alien-callbacks" >> $ltf # The default stack ulimit under darwin is too small to run PURIFY.