Index: src/clj/precompile.clj
===================================================================
--- src/clj/precompile.clj	(revision 0)
+++ src/clj/precompile.clj	(revision 0)
@@ -0,0 +1,11 @@
+;; This script is run by the Ant build task to precompile the core
+;; Clojure source files.
+
+(println "Compiling Clojure core sources...")
+
+(binding [*compile-path* (System/getProperty "clojure.compile.path")]
+  (compile 'clojure.core)
+  (compile 'clojure.set)
+  (compile 'clojure.xml)
+  (compile 'clojure.zip)
+  (compile 'clojure.inspector))
Index: build.xml
===================================================================
--- build.xml	(revision 1099)
+++ build.xml	(working copy)
@@ -11,6 +11,7 @@
 	<property name="build" location="classes"/>
 	<property name="clojure_jar" location="clojure.jar"/>
 	<property name="bootclj" location="${cljsrc}/clojure/core.clj"/>
+	<property name="precompile" location="${cljsrc}/precompile.clj"/>
 
 	<target name="init">
 		<tstamp/>
@@ -18,14 +19,23 @@
 	</target>
 
 	<target name="compile" depends="init"
-	        description="Compile Java sources.">
+		description="Compile Java sources.">
 		<javac srcdir="${jsrc}" destdir="${build}" includeJavaRuntime="yes" debug="true" target="1.5"/>
 	</target>
 
-	<target name="jar" depends="compile"
-	        description="Create jar file.">
+	<target name="core" depends="compile"
+		description="Precompile Clojure core sources.">
+		<java classname="clojure.lang.Script"
+                      classpath="${build}:${cljsrc}">
+                        <sysproperty key="clojure.compile.path" value="${build}"/>
+			<arg value="${precompile}"/>
+		</java>
+	</target>
+
+	<target name="jar" depends="core"
+		description="Create jar file.">
 		<jar jarfile="${clojure_jar}" basedir="${build}">
-			<fileset dir="${cljsrc}" includes="**/*.clj"/>
+			<!-- <fileset dir="${cljsrc}" includes="**/*.clj"/> -->
 			<manifest>
 				<attribute name="Main-Class" value="clojure.lang.Repl"/>
 				<attribute name="Class-Path" value="."/>
@@ -34,7 +44,7 @@
 	</target>
 
 	<target name="clean"
-	        description="Remove autogenerated files and directories.">
+		description="Remove autogenerated files and directories.">
 		<delete dir="${build}"/>
 	</target>
 
