[armedbear-cvs] r12684 - branches/0.20.x/abcl

Mark Evenson mevenson at common-lisp.net
Sat May 15 16:33:16 UTC 2010


Author: mevenson
Date: Sat May 15 12:33:15 2010
New Revision: 12684

Log:
Backport r1267[14]: Site specific initialization code can be named by 'abcl.startup.file'.

Builds of ABCL can now be customized with "site specific" startup code
by setting the Ant property 'abcl.startup.file' to the path of a file
containing the custom code. This code is merged into 'system.lisp'
which is loaded during the boot process.



Modified:
   branches/0.20.x/abcl/abcl.properties.in
   branches/0.20.x/abcl/build.xml

Modified: branches/0.20.x/abcl/abcl.properties.in
==============================================================================
--- branches/0.20.x/abcl/abcl.properties.in	(original)
+++ branches/0.20.x/abcl/abcl.properties.in	Sat May 15 12:33:15 2010
@@ -10,4 +10,7 @@
 #abcl.compile.lisp.skip=true
 
 # java.options sets the Java options in the abcl wrapper scripts
-#java.options=-Xmx1g
\ No newline at end of file
+#java.options=-Xmx1g
+
+# Additional site specific startup code to be merged in 'system.lisp'
+#abcl.startup.file=${basedir}/startup.lisp

Modified: branches/0.20.x/abcl/build.xml
==============================================================================
--- branches/0.20.x/abcl/build.xml	(original)
+++ branches/0.20.x/abcl/build.xml	Sat May 15 12:33:15 2010
@@ -101,7 +101,7 @@
     <target name="abcl.compile" depends="abcl.clean.maybe,abcl.compile.lisp">
       <echo>Compiled ABCL with Java version: ${java.version}</echo>
     </target>
-    
+
     <target name="abcl.clean.maybe" unless="abcl.build.incremental">
       <echo>Cleaning all intermediate compilation artifacts.</echo>
       <echo>Setting 'abcl.build.incremental' enables incremental compilation.</echo>
@@ -223,9 +223,12 @@
     <path id="abcl.lisp.output.path"
           location="${build.classes.dir}/org/armedbear/lisp/"/>
     <pathconvert dirsep="/" property="abcl.lisp.output" refid="abcl.lisp.output.path"/>
+
+    <property name="system.lisp.file" 
+              value="${build.classes.dir}/org/armedbear/lisp/system.lisp"/>
     
     <target name="abcl.compile.lisp" 
-	    depends="abcl.copy.lisp,abcl.compile.java,abcl.fasls.uptodate"
+	    depends="abcl.copy.lisp,abcl.compile.java,abcl.system.update.maybe,abcl.fasls.uptodate"
 	    unless="abcl.fasls.uptodate.p">
       <echo>
 Compiling Lisp system 
@@ -241,6 +244,9 @@
         <arg value="--eval"/>
         <arg value="(setf *load-verbose* t)"/>
       </java>
+      <concat destfile="${system.lisp.file}" append="true">
+        <fileset file="${abcl.startup.file}"/>
+      </concat>
     </target>
 
     <property name="abcl.build.path"
@@ -271,6 +277,16 @@
       <echo>abcl.hostname: ${abcl.hostname}</echo>
     </target>
 
+    <target name="abcl.system.uptodate">
+      <uptodate property="abcl.system.needs-update.p" 
+                srcfile="${system.lisp.file}"
+                targetfile="${abcl.startup.file}"/>
+    </target>
+    
+    <target name="abcl.system.update.maybe" depends="abcl.system.uptodate" if="abcl.system.needs-update.p">
+      <touch file="${src.dir}/org/armedbear/lisp/compile-system.lisp"/>
+    </target>
+
     <target name="abcl.jar.uptodate" depends="abcl.compile">
       <uptodate property="abcl.jar.uptodate.p" targetfile="${abcl.jar.path}">
         <srcfiles dir="${build.classes.dir}">




More information about the armedbear-cvs mailing list