[Git][cmucl/cmucl][sparc64-dev] Add solaris64-features.lisp

Raymond Toy rtoy at common-lisp.net
Sat Dec 24 19:09:50 UTC 2016

Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl

19bb3ddb by Raymond Toy at 2016-12-24T11:09:33-08:00
Add solaris64-features.lisp

For now solairs64-features.lisp is the same as solaris-features.lisp,
excepti it adds :sparc64 to *features*.

Update create-target.sh to use solaris64-features.lisp when hte config
is sparc64.

- - - - -

2 changed files:

- bin/create-target.sh
- + src/tools/setenv-scripts/solaris64-features.lisp


--- a/bin/create-target.sh
+++ b/bin/create-target.sh
@@ -63,6 +63,7 @@ uname_m=`uname -m 2>/dev/null`
 case $lisp_variant in
     *linux*) lvshort=linux;;
     *freebsd*) lvshort=freebsd;;
+    *sparc64*) lvshort=solaris64;;
     *solaris*|sparc*) lvshort=solaris;;
     *) lvshort=unknown;;
@@ -118,7 +119,8 @@ echo '#error You need to run genesis (via build-world.sh) before compiling the s
     cat $setenv_dir/base-features.lisp 
     case $lvshort in
 	linux|freebsd) gcname=":gencgc"; sed "s;@@gcname@@;$gcname;" $setenv_dir/$lvshort-features.lisp >> setenv.lisp;;
+        solaris64) cat $setenv_dir/solaris64-features.lisp;;
 	solaris) cat $setenv_dir/solaris-features.lisp;;
 	*) sed "s;@@LISP@@;$lisp_variant;" $setenv_dir/unknown.lisp;;
-    esac
+    esac2
 ) > ../setenv.lisp || quit "Can't create setenv.lisp"

--- /dev/null
+++ b/src/tools/setenv-scripts/solaris64-features.lisp
@@ -0,0 +1,24 @@
+;; e.g. for Solaris on sparc you probably want some of these:
+;;(pushnew :sparc *features*)
+;;(pushnew :svr4 *features*)
+;; Solaris supports linkage-table
+;;(pushnew :linkage-table *features*)
+;; CPU selection:
+;; Sparc-v7 gives us fsqrt instruction
+;;(pushnew :sparc-v7 *features*)
+;;(setf *features* (remove :sparc-v7 *features*))
+;; Sparc-v8 gives us an integer multiply and divide instruction
+;;(pushnew :sparc-v8 *features*)
+;;(setf *features* (remove :sparc-v8 *features*))
+;; Sparc-v9 gives us the extra FP registers, fast bignum multiply and
+;; floor, other float operations available on the Sparc V9, and other
+;; assorted V9 features.
+;;(pushnew :sparc-v9 *features*)
+;;(setf *features* (remove :sparc-v9 *features*))
+;; This enables some hand-written vops for complex float arithmetic.
+;;(pushnew :complex-fp-vops *features*)
+(pushnew :sparc64 *features*)

View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/19bb3ddb0dbee98c8be7f8ef6cf57ec23dd7b4ea
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20161224/fec24f50/attachment-0001.html>

More information about the cmucl-cvs mailing list