1.1 --- a/make/build.xml Thu Dec 03 12:53:12 2009 -0800 1.2 +++ b/make/build.xml Tue Dec 08 09:16:34 2009 -0800 1.3 @@ -56,6 +56,7 @@ 1.4 <property name="build.coverage.dir" location="${build.dir}/coverage"/> 1.5 <property name="build.classes.dir" location="${build.dir}/classes"/> 1.6 <property name="build.gensrc.dir" location="${build.dir}/gensrc"/> 1.7 + <property name="build.genstubs.dir" location="${build.dir}/genstubs"/> 1.8 <property name="build.javadoc.dir" location="${build.dir}/javadoc"/> 1.9 <property name="build.jtreg.dir" location="${build.dir}/jtreg"/> 1.10 <property name="build.toolclasses.dir" location="${build.dir}/toolclasses"/> 1.11 @@ -93,6 +94,41 @@ 1.12 <isset property="target.java.home"/> 1.13 </condition> 1.14 1.15 + <!-- Logic for handling access import jdk classes, if available. 1.16 + import.jdk should be unset, or set to jdk home (to use rt.jar) 1.17 + or to jdk repo (to use src/share/classes). 1.18 + Based on the value, if any, set up default values for javac's sourcepath, 1.19 + classpath and bootclasspath. Note: the default values are overridden 1.20 + in the build-bootstrap-classes macro. --> 1.21 + 1.22 + <available property="import.jdk.src.dir" value="${import.jdk}/src/share/classes" 1.23 + filepath="${import.jdk}/src/share/classes" file="java/nio/file/Path.java"/> 1.24 + <available property="import.jdk.jar" value="${import.jdk}/jre/lib/rt.jar" 1.25 + ignoresystemclasses="true" 1.26 + classpath="${import.jdk}/jre/lib/rt.jar" classname="java.nio.file.Path"/> 1.27 + 1.28 + <condition property="javac.sourcepath" value="${build.genstubs.dir}" else=""> 1.29 + <isset property="import.jdk.src.dir"/> 1.30 + </condition> 1.31 + 1.32 + <property name="javac.classpath" value=""/> 1.33 + 1.34 + <condition property="javac.bootclasspath.opt" 1.35 + value="-Xbootclasspath:${build.classes.dir}:${import.jdk.jar}" 1.36 + else="-Xbootclasspath/p:${build.classes.dir}"> 1.37 + <isset property="import.jdk.jar"/> 1.38 + </condition> 1.39 + 1.40 + <condition property="exclude.files" value="" else="${require.import.jdk.files}"> 1.41 + <isset property="import.jdk"/> 1.42 + </condition> 1.43 + 1.44 + <!-- for debugging --> 1.45 + <target name="check-import.jdk"> 1.46 + <echo message="import.jdk: ${import.jdk}"/> 1.47 + <echo message="import.jdk.jar: ${import.jdk.jar}"/> 1.48 + <echo message="import.jdk.src.dir: ${import.jdk.src.dir}"/> 1.49 + </target> 1.50 1.51 <!-- Standard target to build deliverables for JDK build. --> 1.52 1.53 @@ -108,11 +144,17 @@ 1.54 <zip file="${dist.lib.dir}/src.zip" basedir="${src.classes.dir}"/> 1.55 </target> 1.56 1.57 - <target name="build-bootstrap-tools" depends="build-bootstrap-javac,build-bootstrap-javadoc,build-bootstrap-doclets,build-bootstrap-javah"/> 1.58 + <target name="build-bootstrap-tools" 1.59 + depends="build-bootstrap-javac,build-bootstrap-javadoc,build-bootstrap-doclets,build-bootstrap-javah" 1.60 + /> 1.61 1.62 - <target name="build-all-tools" depends="build-javac,build-javadoc,build-doclets,build-javah,build-javap,build-apt"/> 1.63 + <target name="build-all-tools" 1.64 + depends="build-javac,build-javadoc,build-doclets,build-javah,build-javap,build-apt" 1.65 + /> 1.66 1.67 - <target name="build-all-classes" depends="build-classes-javac,build-classes-javadoc,build-classes-doclets,build-classes-javah,build-classes-javap,build-classes-apt"/> 1.68 + <target name="build-all-classes" depends="build-bootstrap-javac,-create-import-jdk-stubs"> 1.69 + <build-classes includes="${javac.includes} ${javadoc.includes} ${doclets.includes} ${javah.includes} ${javap.includes} ${apt.includes}"/> 1.70 + </target> 1.71 1.72 <!-- clean --> 1.73 1.74 @@ -188,23 +230,27 @@ 1.75 1.76 <!-- javac targets --> 1.77 1.78 - <target name="build-bootstrap-javac" depends="-def-build-bootstrap-tool"> 1.79 - <build-bootstrap-tool name="javac" includes="${javac.includes}"/> 1.80 + <target name="build-bootstrap-javac" 1.81 + depends="-def-build-bootstrap-classes,-def-build-bootstrap-jar,-def-build-bootstrap-tool"> 1.82 + <build-bootstrap-classes includes="${javac.includes}"/> 1.83 + <build-bootstrap-jar name="javac" includes="${javac.includes}"/> 1.84 + <build-bootstrap-tool name="javac"/> 1.85 </target> 1.86 1.87 - <target name="build-classes-javac" depends="build-bootstrap-javac"> 1.88 - <build-classes name="javac" includes="${javac.includes}"/> 1.89 + <target name="build-classes-javac" depends="build-bootstrap-javac,-create-import-jdk-stubs"> 1.90 + <build-classes includes="${javac.includes}"/> 1.91 </target> 1.92 1.93 - <target name="build-javac" depends="build-bootstrap-javac"> 1.94 - <build-tool name="javac" includes="${javac.includes}"/> 1.95 + <target name="build-javac" depends="build-classes-javac"> 1.96 + <build-jar name="javac" includes="${javac.includes}"/> 1.97 + <build-tool name="javac"/> 1.98 </target> 1.99 1.100 <target name="javadoc-javac" depends="build-javac,-def-javadoc-tool"> 1.101 <javadoc-tool name="javac" includes="${javac.includes}" options="${javadoc.jls3.option}"/> 1.102 </target> 1.103 1.104 - <target name="jtreg-javac" depends="build-javac,-def-jtreg"> 1.105 + <target name="jtreg-javac" depends="build-javac,build-javap,-def-jtreg"> 1.106 <jtreg-tool name="javac" tests="${javac.tests}"/> 1.107 </target> 1.108 1.109 @@ -217,19 +263,20 @@ 1.110 <!-- javadoc targets --> 1.111 1.112 <target name="build-bootstrap-javadoc" depends="build-bootstrap-javac"> 1.113 - <build-bootstrap-tool name="javadoc" 1.114 - includes="${javadoc.includes}" 1.115 - jarclasspath="javac.jar doclets.jar"/> 1.116 + <build-bootstrap-classes includes="${javadoc.includes}"/> 1.117 + <build-bootstrap-jar name="javadoc" includes="${javadoc.includes}" 1.118 + jarclasspath="javac.jar doclets.jar"/> 1.119 + <build-bootstrap-tool name="javadoc"/> 1.120 </target> 1.121 1.122 <target name="build-classes-javadoc" depends="build-classes-javac"> 1.123 - <build-classes name="javadoc" includes="${javadoc.includes}"/> 1.124 + <build-classes includes="${javadoc.includes}"/> 1.125 </target> 1.126 1.127 - <target name="build-javadoc" depends="build-javac"> 1.128 - <build-tool name="javadoc" 1.129 - includes="${javadoc.includes}" 1.130 + <target name="build-javadoc" depends="build-javac,build-classes-javadoc"> 1.131 + <build-jar name="javadoc" includes="${javadoc.includes}" 1.132 jarclasspath="javac.jar doclets.jar"/> 1.133 + <build-tool name="javadoc"/> 1.134 </target> 1.135 1.136 <target name="javadoc-javadoc" depends="build-javadoc,-def-javadoc-tool"> 1.137 @@ -249,21 +296,19 @@ 1.138 <!-- doclets targets --> 1.139 1.140 <target name="build-bootstrap-doclets" depends="build-bootstrap-javadoc,-def-build-bootstrap-jar"> 1.141 - <build-bootstrap-jar name="doclets" 1.142 - includes="${doclets.includes}" 1.143 - jarmainclass="com.sun.tools.javadoc.Main" 1.144 - jarclasspath="javadoc.jar"/> 1.145 + <build-bootstrap-classes includes="${doclets.includes}"/> 1.146 + <build-bootstrap-jar name="doclets" includes="${doclets.includes}" 1.147 + jarmainclass="com.sun.tools.javadoc.Main" 1.148 + jarclasspath="javadoc.jar"/> 1.149 </target> 1.150 1.151 <target name="build-classes-doclets" depends="build-classes-javadoc"> 1.152 - <build-classes name="doclets" includes="${doclets.includes}"/> 1.153 + <build-classes includes="${doclets.includes}"/> 1.154 </target> 1.155 1.156 - <target name="build-doclets" depends="build-javadoc"> 1.157 + <target name="build-doclets" depends="build-javadoc,build-classes-doclets"> 1.158 <!-- just jar, no bin for doclets --> 1.159 - <build-jar name="doclets" 1.160 - includes="${doclets.includes}" 1.161 - jarclasspath="javadoc.jar"/> 1.162 + <build-jar name="doclets" includes="${doclets.includes}" jarclasspath="javadoc.jar"/> 1.163 </target> 1.164 1.165 <!-- (no javadoc for doclets) --> 1.166 @@ -281,19 +326,19 @@ 1.167 <!-- javah targets --> 1.168 1.169 <target name="build-bootstrap-javah" depends="build-bootstrap-javadoc"> 1.170 - <build-bootstrap-tool name="javah" 1.171 - includes="${javah.includes}" 1.172 - jarclasspath="javadoc.jar doclets.jar javac.jar"/> 1.173 + <build-bootstrap-classes includes="${javah.includes}"/> 1.174 + <build-bootstrap-jar name="javah" includes="${javah.includes}" 1.175 + jarclasspath="javadoc.jar doclets.jar javac.jar"/> 1.176 + <build-bootstrap-tool name="javah"/> 1.177 </target> 1.178 1.179 - <target name="build-javah" depends="build-javac"> 1.180 - <build-tool name="javah" 1.181 - includes="${javah.includes}" 1.182 - jarclasspath="javac.jar"/> 1.183 + <target name="build-javah" depends="build-javac,build-classes-javah"> 1.184 + <build-jar name="javah" includes="${javah.includes}" jarclasspath="javac.jar"/> 1.185 + <build-tool name="javah"/> 1.186 </target> 1.187 1.188 <target name="build-classes-javah" depends="build-classes-javadoc"> 1.189 - <build-classes name="javah" includes="${javah.includes}"/> 1.190 + <build-classes includes="${javah.includes}"/> 1.191 </target> 1.192 1.193 <!-- (no javadoc for javah) --> 1.194 @@ -310,21 +355,23 @@ 1.195 1.196 <!-- javap targets --> 1.197 1.198 - <target name="build-bootstrap-javap" depends="-def-build-bootstrap-tool"> 1.199 - <build-bootstrap-tool name="javap" 1.200 - includes="${javap.includes}" 1.201 - jarmainclass="sun.tools.javap.Main"/> 1.202 + <target name="build-bootstrap-javap" 1.203 + depends="-def-build-bootstrap-classes,-def-build-bootstrap-jar,-def-build-bootstrap-tool"> 1.204 + <build-bootstrap-classes includes="${javap.includes}"/> 1.205 + <build-bootstrap-jar name="javap" includes="${javap.includes}" 1.206 + jarmainclass="sun.tools.javap.Main"/> 1.207 + <build-bootstrap-tool name="javap"/> 1.208 </target> 1.209 1.210 <target name="build-classes-javap" depends="build-classes-javac"> 1.211 - <build-classes name="javap" includes="${javap.includes}"/> 1.212 + <build-classes includes="${javap.includes}"/> 1.213 </target> 1.214 1.215 - <target name="build-javap" depends="build-javac"> 1.216 - <build-tool name="javap" 1.217 - includes="${javap.includes}" 1.218 + <target name="build-javap" depends="build-javac,build-classes-javap"> 1.219 + <build-jar name="javap" includes="${javap.includes}" 1.220 jarmainclass="com.sun.tools.javap.Main" 1.221 jarclasspath="javac.jar"/> 1.222 + <build-tool name="javap"/> 1.223 </target> 1.224 1.225 <!-- (no javadoc for javap) --> 1.226 @@ -342,19 +389,19 @@ 1.227 <!-- apt targets --> 1.228 1.229 <target name="build-bootstrap-apt" depends="build-bootstrap-javac"> 1.230 - <build-bootstrap-tool name="apt" 1.231 - includes="${apt.includes}" 1.232 - jarclasspath="javac.jar"/> 1.233 + <build-bootstrap-classes includes="${apt.includes}"/> 1.234 + <build-bootstrap-jar name="apt" includes="${apt.includes}" 1.235 + jarclasspath="javac.jar"/> 1.236 + <build-bootstrap-tool name="apt"/> 1.237 </target> 1.238 1.239 - <target name="build-apt" depends="build-javac"> 1.240 - <build-tool name="apt" 1.241 - includes="${apt.includes}" 1.242 - jarclasspath="javac.jar"/> 1.243 + <target name="build-apt" depends="build-javac,build-classes-apt"> 1.244 + <build-jar name="apt" includes="${apt.includes}" jarclasspath="javac.jar"/> 1.245 + <build-tool name="apt"/> 1.246 </target> 1.247 1.248 <target name="build-classes-apt" depends="build-classes-javac"> 1.249 - <build-classes name="apt" includes="${apt.includes}"/> 1.250 + <build-classes includes="${apt.includes}"/> 1.251 </target> 1.252 1.253 <target name="javadoc-apt" depends="build-apt,-def-javadoc-tool"> 1.254 @@ -372,6 +419,17 @@ 1.255 1.256 <target name="apt" depends="build-apt,jtreg-apt,findbugs-apt"/> 1.257 1.258 + <!-- Create import JDK stubs --> 1.259 + 1.260 + <target name="-create-import-jdk-stubs" depends="-def-genstubs" if="import.jdk.src.dir"> 1.261 + <mkdir dir="${build.genstubs.dir}"/> 1.262 + <genstubs 1.263 + srcdir="${import.jdk.src.dir}" destdir="${build.genstubs.dir}" 1.264 + includes="${import.jdk.stub.files}" 1.265 + fork="true" classpath="${build.toolclasses.dir}:${build.bootstrap.dir}/classes:${ant.home}/lib/ant.jar" 1.266 + /> 1.267 + </target> 1.268 + 1.269 <!-- Check targets --> 1.270 1.271 <target name="-check-boot.java.home" depends="-def-check"> 1.272 @@ -396,40 +454,12 @@ 1.273 1.274 <!-- Ant macro and preset defs --> 1.275 1.276 - <target name="-def-build-tool" depends="-def-build-jar"> 1.277 + <target name="-def-build-tool"> 1.278 <macrodef name="build-tool"> 1.279 <attribute name="name"/> 1.280 - <attribute name="includes"/> 1.281 - <attribute name="excludes" default="**/package-info.java"/> 1.282 <attribute name="bin.dir" default="${dist.bin.dir}"/> 1.283 - <attribute name="classes.dir" default="${build.classes.dir}"/> 1.284 - <attribute name="gensrc.dir" default="${build.gensrc.dir}"/> 1.285 - <attribute name="lib.dir" default="${dist.lib.dir}"/> 1.286 <attribute name="java" default="${launcher.java}"/> 1.287 - <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/> 1.288 - <attribute name="javac.java.home" default="${boot.java.home}"/> 1.289 - <attribute name="javac.source" default="${javac.source}"/> 1.290 - <attribute name="javac.target" default="${javac.target}"/> 1.291 - <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/> 1.292 - <attribute name="jarclasspath" default=""/> 1.293 - <attribute name="release" default="${release}"/> 1.294 - <attribute name="full.version" default="${full.version}"/> 1.295 <sequential> 1.296 - <build-jar 1.297 - name="@{name}" 1.298 - gensrc.dir="@{gensrc.dir}" 1.299 - classes.dir="@{classes.dir}" 1.300 - lib.dir="@{lib.dir}" 1.301 - includes="@{includes}" 1.302 - excludes="@{excludes}" 1.303 - jarmainclass="@{jarmainclass}" 1.304 - jarclasspath="@{jarclasspath}" 1.305 - release="@{release}" 1.306 - full.version="@{full.version}" 1.307 - javac.bootclasspath="@{javac.bootclasspath}" 1.308 - javac.source="@{javac.source}" 1.309 - javac.target="@{javac.target}" 1.310 - /> 1.311 <mkdir dir="@{bin.dir}"/> 1.312 <copy file="${src.bin.dir}/launcher.sh-template" tofile="@{bin.dir}/@{name}"> 1.313 <filterset begintoken="#" endtoken="#"> 1.314 @@ -442,35 +472,15 @@ 1.315 </macrodef> 1.316 </target> 1.317 1.318 - <target name="-def-build-jar" depends="-def-build-classes"> 1.319 + <target name="-def-build-jar"> 1.320 <macrodef name="build-jar"> 1.321 <attribute name="name"/> 1.322 <attribute name="includes"/> 1.323 - <attribute name="excludes" default="**/package-info.java"/> 1.324 <attribute name="classes.dir" default="${build.classes.dir}"/> 1.325 - <attribute name="gensrc.dir" default="${build.gensrc.dir}"/> 1.326 <attribute name="lib.dir" default="${dist.lib.dir}"/> 1.327 - <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/> 1.328 - <attribute name="javac.java.home" default="${boot.java.home}"/> 1.329 - <attribute name="javac.source" default="${javac.source}"/> 1.330 - <attribute name="javac.target" default="${javac.target}"/> 1.331 <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/> 1.332 <attribute name="jarclasspath" default=""/> 1.333 - <attribute name="release" default="${release}"/> 1.334 - <attribute name="full.version" default="${full.version}"/> 1.335 <sequential> 1.336 - <build-classes 1.337 - name="@{name}" 1.338 - gensrc.dir="@{gensrc.dir}" 1.339 - classes.dir="@{classes.dir}" 1.340 - includes="@{includes}" 1.341 - excludes="@{excludes}" 1.342 - release="@{release}" 1.343 - full.version="@{full.version}" 1.344 - javac.bootclasspath="@{javac.bootclasspath}" 1.345 - javac.source="@{javac.source}" 1.346 - javac.target="@{javac.target}" 1.347 - /> 1.348 <mkdir dir="@{lib.dir}"/> 1.349 <jar destfile="@{lib.dir}/@{name}.jar" 1.350 basedir="@{classes.dir}" 1.351 @@ -486,18 +496,24 @@ 1.352 1.353 <target name="-def-build-classes" depends="-def-pcompile"> 1.354 <macrodef name="build-classes"> 1.355 - <attribute name="name"/> 1.356 <attribute name="includes"/> 1.357 - <attribute name="excludes" default="**/package-info.java"/> 1.358 + <attribute name="excludes" default="${exclude.files} **/package-info.java"/> 1.359 <attribute name="classes.dir" default="${build.classes.dir}"/> 1.360 <attribute name="gensrc.dir" default="${build.gensrc.dir}"/> 1.361 <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/> 1.362 - <attribute name="javac.java.home" default="${boot.java.home}"/> 1.363 - <attribute name="javac.source" default="${javac.source}"/> 1.364 - <attribute name="javac.target" default="${javac.target}"/> 1.365 + <attribute name="bootclasspath.opt" default="${javac.bootclasspath.opt}"/> 1.366 + <attribute name="classpath" default="${javac.classpath}"/> 1.367 + <attribute name="sourcepath" default="${javac.sourcepath}"/> 1.368 + <attribute name="java.home" default="${boot.java.home}"/> 1.369 + <attribute name="source" default="${javac.source}"/> 1.370 + <attribute name="target" default="${javac.target}"/> 1.371 <attribute name="release" default="${release}"/> 1.372 <attribute name="full.version" default="${full.version}"/> 1.373 <sequential> 1.374 + <echo level="verbose" message="build-classes: excludes=@{excludes}"/> 1.375 + <echo level="verbose" message="build-classes: bootclasspath.opt=@{bootclasspath.opt}"/> 1.376 + <echo level="verbose" message="build-classes: classpath=@{classpath}"/> 1.377 + <echo level="verbose" message="build-classes: sourcepath=@{sourcepath}"/> 1.378 <mkdir dir="@{gensrc.dir}"/> 1.379 <mkdir dir="@{classes.dir}"/> 1.380 <pcompile srcdir="${src.classes.dir}" 1.381 @@ -516,39 +532,28 @@ 1.382 destdir="@{gensrc.dir}" 1.383 includes="**/*.properties"/> 1.384 <javac fork="true" 1.385 - executable="@{javac.java.home}/bin/javac" 1.386 - srcdir="@{gensrc.dir}" 1.387 - destdir="@{classes.dir}" 1.388 - includes="@{includes}" 1.389 - sourcepath="" 1.390 - includeAntRuntime="no" 1.391 - source="@{javac.source}" 1.392 - target="@{javac.target}"> 1.393 - <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/> 1.394 - <compilerarg line="${javac.version.opt}"/> 1.395 - <compilerarg line="-Xlint"/> 1.396 - </javac> 1.397 - <javac fork="true" 1.398 - executable="@{javac.java.home}/bin/javac" 1.399 - srcdir="${src.classes.dir}" 1.400 + executable="@{java.home}/bin/javac" 1.401 + srcdir="${src.classes.dir}:@{gensrc.dir}" 1.402 destdir="@{classes.dir}" 1.403 includes="@{includes}" 1.404 excludes="@{excludes}" 1.405 - sourcepath="" 1.406 + sourcepath="@{sourcepath}" 1.407 + classpath="@{classpath}" 1.408 includeAntRuntime="no" 1.409 - source="@{javac.source}" 1.410 - target="@{javac.target}" 1.411 + source="@{source}" 1.412 + target="@{target}" 1.413 debug="${javac.debug}" 1.414 debuglevel="${javac.debuglevel}"> 1.415 + <compilerarg value="-implicit:none"/> 1.416 + <compilerarg value="-Xprefer:source"/> 1.417 <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/> 1.418 - <compilerarg value="-Xbootclasspath/p:@{classes.dir}"/> 1.419 + <compilerarg line="@{bootclasspath.opt}"/> 1.420 <compilerarg line="${javac.no.jdk.warnings}"/> 1.421 <compilerarg line="${javac.version.opt}"/> 1.422 <compilerarg line="${javac.lint.opts}"/> 1.423 </javac> 1.424 <copy todir="@{classes.dir}"> 1.425 - <fileset dir="${src.classes.dir}"> 1.426 - <include name="@{includes}"/> 1.427 + <fileset dir="${src.classes.dir}" includes="@{includes}"> 1.428 <exclude name="**/*.java"/> 1.429 <exclude name="**/*.properties"/> 1.430 <exclude name="**/*-template"/> 1.431 @@ -562,30 +567,32 @@ 1.432 <target name="-def-build-bootstrap-tool" depends="-check-boot.java.home,-def-build-tool"> 1.433 <presetdef name="build-bootstrap-tool"> 1.434 <build-tool 1.435 - javac.source="${boot.javac.source}" 1.436 - javac.target="${boot.javac.target}" 1.437 - gensrc.dir="${build.bootstrap.dir}/gensrc" 1.438 - classes.dir="${build.bootstrap.dir}/classes" 1.439 bin.dir="${build.bootstrap.dir}/bin" 1.440 - lib.dir="${build.bootstrap.dir}/lib" 1.441 - java="${boot.java}" 1.442 - javac.bootclasspath="" 1.443 - release="${bootstrap.release}" 1.444 - full.version="${bootstrap.full.version}"/> 1.445 + java="${boot.java}"/> 1.446 </presetdef> 1.447 </target> 1.448 1.449 <target name="-def-build-bootstrap-jar" depends="-def-build-jar"> 1.450 <presetdef name="build-bootstrap-jar"> 1.451 <build-jar 1.452 - javac.source="${boot.javac.source}" 1.453 - javac.target="${boot.javac.target}" 1.454 + classes.dir="${build.bootstrap.dir}/classes" 1.455 + lib.dir="${build.bootstrap.dir}/lib"/> 1.456 + </presetdef> 1.457 + </target> 1.458 + 1.459 + <target name="-def-build-bootstrap-classes" depends="-def-build-classes"> 1.460 + <presetdef name="build-bootstrap-classes"> 1.461 + <build-classes 1.462 + source="${boot.javac.source}" 1.463 + target="${boot.javac.target}" 1.464 gensrc.dir="${build.bootstrap.dir}/gensrc" 1.465 classes.dir="${build.bootstrap.dir}/classes" 1.466 - lib.dir="${build.bootstrap.dir}/lib" 1.467 javac.bootclasspath="" 1.468 + bootclasspath.opt="-Xbootclasspath/p:${build.bootstrap.dir}/classes" 1.469 + sourcepath="" 1.470 release="${bootstrap.release}" 1.471 - full.version="${bootstrap.full.version}"/> 1.472 + full.version="${bootstrap.full.version}" 1.473 + excludes="${require.import.jdk.files} **/package-info.java"/> 1.474 </presetdef> 1.475 </target> 1.476 1.477 @@ -603,6 +610,20 @@ 1.478 classpath="${build.toolclasses.dir}/"/> 1.479 </target> 1.480 1.481 + <target name="-def-genstubs" depends="build-bootstrap-javac"> 1.482 + <mkdir dir="${build.toolclasses.dir}"/> 1.483 + <javac fork="true" 1.484 + source="${boot.javac.source}" 1.485 + target="${boot.javac.target}" 1.486 + executable="${boot.java.home}/bin/javac" 1.487 + srcdir="${make.tools.dir}/GenStubs" 1.488 + destdir="${build.toolclasses.dir}/" 1.489 + classpath="${build.bootstrap.dir}/classes:${ant.home}/lib/ant.jar"/> 1.490 + <taskdef name="genstubs" 1.491 + classname="GenStubs$$Ant" 1.492 + classpath="${build.toolclasses.dir}/"/> 1.493 + </target> 1.494 + 1.495 <target name="-def-javadoc-tool" depends="-check-target.java.home"> 1.496 <macrodef name="javadoc-tool"> 1.497 <attribute name="name"/> 1.498 @@ -764,7 +785,7 @@ 1.499 1.500 <!-- standard JDK target --> 1.501 <target name="sanity" 1.502 - description="display settings of congiguration values"> 1.503 + description="display settings of configuration values"> 1.504 <echo level="info">ant.home = ${ant.home}</echo> 1.505 <echo level="info">boot.java.home = ${boot.java.home}</echo> 1.506 <echo level="info">target.java.home = ${target.java.home}</echo>