From: Juho S. <js...@us...> - 2006-11-13 16:04:12
|
Update of /cvsroot/sbcl/sbcl/src/compiler/generic In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv11026/src/compiler/generic Modified Files: genesis.lisp Log Message: 0.9.18.49: Fix Linux/x86 build after a clean.sh. * Write the target features to genesis/Makefile.features, included into other makefiles. * Remove the disgusting shell/grep tricks for feature-based conditionalizing in Makefiles Index: genesis.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/genesis.lisp,v retrieving revision 1.124 retrieving revision 1.125 diff -u -d -r1.124 -r1.125 --- genesis.lisp 2 Nov 2006 17:18:37 -0000 1.124 +++ genesis.lisp 13 Nov 2006 16:03:30 -0000 1.125 @@ -2599,6 +2599,15 @@ (format t " *~@[ ~A~]~%" line)) (format t " */~%")) +(defun write-makefile-features () + ;; propagating *SHEBANG-FEATURES* into the Makefiles + (dolist (shebang-feature-name (sort (mapcar #'symbol-name + sb-cold:*shebang-features*) + #'string<)) + (format t + "LISP_FEATURE_~A=1~%" + (substitute #\_ #\- shebang-feature-name)))) + (defun write-config-h () ;; propagating *SHEBANG-FEATURES* into C-level #define's (dolist (shebang-feature-name (sort (mapcar #'symbol-name @@ -3264,11 +3273,11 @@ (format t "#endif /* SBCL_GENESIS_~A */~%" (string-upcase ,name)))))) - (when map-file-name - (with-open-file (*standard-output* map-file-name - :direction :output - :if-exists :supersede) - (write-map))) + (when map-file-name + (with-open-file (*standard-output* map-file-name + :direction :output + :if-exists :supersede) + (write-map))) (out-to "config" (write-config-h)) (out-to "constants" (write-constants-h)) (let ((structs (sort (copy-list sb!vm:*primitive-objects*) #'string< @@ -3295,5 +3304,13 @@ (sb!kernel:layout-info (sb!kernel:find-layout class))))) (out-to "static-symbols" (write-static-symbols)) - (when core-file-name + (let ((fn (format nil "~A/Makefile.features" c-header-dir-name))) + (ensure-directories-exist fn) + (with-open-file (*standard-output* fn :if-exists :supersede + :direction :output) + (write-makefile-features))) + + (when core-file-name (write-initial-core-file core-file-name)))))) + + |