[armedbear-cvs] r12671 - trunk/abcl

Mark Evenson mevenson at common-lisp.net
Wed May 12 10:10:27 UTC 2010


Author: mevenson
Date: Wed May 12 06:10:25 2010
New Revision: 12671

Log:
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:
   trunk/abcl/abcl.properties.in
   trunk/abcl/build.xml

Modified: trunk/abcl/abcl.properties.in
==============================================================================
--- trunk/abcl/abcl.properties.in	(original)
+++ trunk/abcl/abcl.properties.in	Wed May 12 06:10:25 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: trunk/abcl/build.xml
==============================================================================
--- trunk/abcl/build.xml	(original)
+++ trunk/abcl/build.xml	Wed May 12 06:10:25 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