1.1 --- a/make/build.xml Fri Nov 06 17:29:00 2009 -0800 1.2 +++ b/make/build.xml Tue Nov 17 16:45:19 2009 -0800 1.3 @@ -112,7 +112,9 @@ 1.4 1.5 <target name="build-all-tools" depends="build-javac,build-javadoc,build-doclets,build-javah,build-javap,build-apt"/> 1.6 1.7 - <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.8 + <target name="build-all-classes" depends="build-bootstrap-javac"> 1.9 + <build-classes includes="${javac.includes} ${javadoc.includes} ${doclets.includes} ${javah.includes} ${javap.includes} ${apt.includes}"/> 1.10 + </target> 1.11 1.12 <!-- clean --> 1.13 1.14 @@ -188,23 +190,27 @@ 1.15 1.16 <!-- javac targets --> 1.17 1.18 - <target name="build-bootstrap-javac" depends="-def-build-bootstrap-tool"> 1.19 - <build-bootstrap-tool name="javac" includes="${javac.includes}"/> 1.20 + <target name="build-bootstrap-javac" 1.21 + depends="-def-build-bootstrap-classes,-def-build-bootstrap-jar,-def-build-bootstrap-tool"> 1.22 + <build-bootstrap-classes includes="${javac.includes}"/> 1.23 + <build-bootstrap-jar name="javac" includes="${javac.includes}"/> 1.24 + <build-bootstrap-tool name="javac"/> 1.25 </target> 1.26 1.27 <target name="build-classes-javac" depends="build-bootstrap-javac"> 1.28 - <build-classes name="javac" includes="${javac.includes}"/> 1.29 + <build-classes includes="${javac.includes}"/> 1.30 </target> 1.31 1.32 - <target name="build-javac" depends="build-bootstrap-javac"> 1.33 - <build-tool name="javac" includes="${javac.includes}"/> 1.34 + <target name="build-javac" depends="build-classes-javac"> 1.35 + <build-jar name="javac" includes="${javac.includes}"/> 1.36 + <build-tool name="javac"/> 1.37 </target> 1.38 1.39 <target name="javadoc-javac" depends="build-javac,-def-javadoc-tool"> 1.40 <javadoc-tool name="javac" includes="${javac.includes}" options="${javadoc.jls3.option}"/> 1.41 </target> 1.42 1.43 - <target name="jtreg-javac" depends="build-javac,-def-jtreg"> 1.44 + <target name="jtreg-javac" depends="build-javac,build-javap,-def-jtreg"> 1.45 <jtreg-tool name="javac" tests="${javac.tests}"/> 1.46 </target> 1.47 1.48 @@ -217,19 +223,20 @@ 1.49 <!-- javadoc targets --> 1.50 1.51 <target name="build-bootstrap-javadoc" depends="build-bootstrap-javac"> 1.52 - <build-bootstrap-tool name="javadoc" 1.53 - includes="${javadoc.includes}" 1.54 - jarclasspath="javac.jar doclets.jar"/> 1.55 + <build-bootstrap-classes includes="${javadoc.includes}"/> 1.56 + <build-bootstrap-jar name="javadoc" includes="${javadoc.includes}" 1.57 + jarclasspath="javac.jar doclets.jar"/> 1.58 + <build-bootstrap-tool name="javadoc"/> 1.59 </target> 1.60 1.61 <target name="build-classes-javadoc" depends="build-classes-javac"> 1.62 - <build-classes name="javadoc" includes="${javadoc.includes}"/> 1.63 + <build-classes includes="${javadoc.includes}"/> 1.64 </target> 1.65 1.66 - <target name="build-javadoc" depends="build-javac"> 1.67 - <build-tool name="javadoc" 1.68 - includes="${javadoc.includes}" 1.69 + <target name="build-javadoc" depends="build-javac,build-classes-javadoc"> 1.70 + <build-jar name="javadoc" includes="${javadoc.includes}" 1.71 jarclasspath="javac.jar doclets.jar"/> 1.72 + <build-tool name="javadoc"/> 1.73 </target> 1.74 1.75 <target name="javadoc-javadoc" depends="build-javadoc,-def-javadoc-tool"> 1.76 @@ -249,21 +256,19 @@ 1.77 <!-- doclets targets --> 1.78 1.79 <target name="build-bootstrap-doclets" depends="build-bootstrap-javadoc,-def-build-bootstrap-jar"> 1.80 - <build-bootstrap-jar name="doclets" 1.81 - includes="${doclets.includes}" 1.82 - jarmainclass="com.sun.tools.javadoc.Main" 1.83 - jarclasspath="javadoc.jar"/> 1.84 + <build-bootstrap-classes includes="${doclets.includes}"/> 1.85 + <build-bootstrap-jar name="doclets" includes="${doclets.includes}" 1.86 + jarmainclass="com.sun.tools.javadoc.Main" 1.87 + jarclasspath="javadoc.jar"/> 1.88 </target> 1.89 1.90 <target name="build-classes-doclets" depends="build-classes-javadoc"> 1.91 - <build-classes name="doclets" includes="${doclets.includes}"/> 1.92 + <build-classes includes="${doclets.includes}"/> 1.93 </target> 1.94 1.95 - <target name="build-doclets" depends="build-javadoc"> 1.96 + <target name="build-doclets" depends="build-javadoc,build-classes-doclets"> 1.97 <!-- just jar, no bin for doclets --> 1.98 - <build-jar name="doclets" 1.99 - includes="${doclets.includes}" 1.100 - jarclasspath="javadoc.jar"/> 1.101 + <build-jar name="doclets" includes="${doclets.includes}" jarclasspath="javadoc.jar"/> 1.102 </target> 1.103 1.104 <!-- (no javadoc for doclets) --> 1.105 @@ -281,19 +286,19 @@ 1.106 <!-- javah targets --> 1.107 1.108 <target name="build-bootstrap-javah" depends="build-bootstrap-javadoc"> 1.109 - <build-bootstrap-tool name="javah" 1.110 - includes="${javah.includes}" 1.111 - jarclasspath="javadoc.jar doclets.jar javac.jar"/> 1.112 + <build-bootstrap-classes includes="${javah.includes}"/> 1.113 + <build-bootstrap-jar name="javah" includes="${javah.includes}" 1.114 + jarclasspath="javadoc.jar doclets.jar javac.jar"/> 1.115 + <build-bootstrap-tool name="javah"/> 1.116 </target> 1.117 1.118 - <target name="build-javah" depends="build-javac"> 1.119 - <build-tool name="javah" 1.120 - includes="${javah.includes}" 1.121 - jarclasspath="javac.jar"/> 1.122 + <target name="build-javah" depends="build-javac,build-classes-javah"> 1.123 + <build-jar name="javah" includes="${javah.includes}" jarclasspath="javac.jar"/> 1.124 + <build-tool name="javah"/> 1.125 </target> 1.126 1.127 <target name="build-classes-javah" depends="build-classes-javadoc"> 1.128 - <build-classes name="javah" includes="${javah.includes}"/> 1.129 + <build-classes includes="${javah.includes}"/> 1.130 </target> 1.131 1.132 <!-- (no javadoc for javah) --> 1.133 @@ -310,21 +315,23 @@ 1.134 1.135 <!-- javap targets --> 1.136 1.137 - <target name="build-bootstrap-javap" depends="-def-build-bootstrap-tool"> 1.138 - <build-bootstrap-tool name="javap" 1.139 - includes="${javap.includes}" 1.140 - jarmainclass="sun.tools.javap.Main"/> 1.141 + <target name="build-bootstrap-javap" 1.142 + depends="-def-build-bootstrap-classes,-def-build-bootstrap-jar,-def-build-bootstrap-tool"> 1.143 + <build-bootstrap-classes includes="${javap.includes}"/> 1.144 + <build-bootstrap-jar name="javap" includes="${javap.includes}" 1.145 + jarmainclass="sun.tools.javap.Main"/> 1.146 + <build-bootstrap-tool name="javap"/> 1.147 </target> 1.148 1.149 <target name="build-classes-javap" depends="build-classes-javac"> 1.150 - <build-classes name="javap" includes="${javap.includes}"/> 1.151 + <build-classes includes="${javap.includes}"/> 1.152 </target> 1.153 1.154 - <target name="build-javap" depends="build-javac"> 1.155 - <build-tool name="javap" 1.156 - includes="${javap.includes}" 1.157 + <target name="build-javap" depends="build-javac,build-classes-javap"> 1.158 + <build-jar name="javap" includes="${javap.includes}" 1.159 jarmainclass="com.sun.tools.javap.Main" 1.160 jarclasspath="javac.jar"/> 1.161 + <build-tool name="javap"/> 1.162 </target> 1.163 1.164 <!-- (no javadoc for javap) --> 1.165 @@ -342,19 +349,19 @@ 1.166 <!-- apt targets --> 1.167 1.168 <target name="build-bootstrap-apt" depends="build-bootstrap-javac"> 1.169 - <build-bootstrap-tool name="apt" 1.170 - includes="${apt.includes}" 1.171 - jarclasspath="javac.jar"/> 1.172 + <build-bootstrap-classes includes="${apt.includes}"/> 1.173 + <build-bootstrap-jar name="apt" includes="${apt.includes}" 1.174 + jarclasspath="javac.jar"/> 1.175 + <build-bootstrap-tool name="apt"/> 1.176 </target> 1.177 1.178 - <target name="build-apt" depends="build-javac"> 1.179 - <build-tool name="apt" 1.180 - includes="${apt.includes}" 1.181 - jarclasspath="javac.jar"/> 1.182 + <target name="build-apt" depends="build-javac,build-classes-apt"> 1.183 + <build-jar name="apt" includes="${apt.includes}" jarclasspath="javac.jar"/> 1.184 + <build-tool name="apt"/> 1.185 </target> 1.186 1.187 <target name="build-classes-apt" depends="build-classes-javac"> 1.188 - <build-classes name="apt" includes="${apt.includes}"/> 1.189 + <build-classes includes="${apt.includes}"/> 1.190 </target> 1.191 1.192 <target name="javadoc-apt" depends="build-apt,-def-javadoc-tool"> 1.193 @@ -396,40 +403,12 @@ 1.194 1.195 <!-- Ant macro and preset defs --> 1.196 1.197 - <target name="-def-build-tool" depends="-def-build-jar"> 1.198 + <target name="-def-build-tool"> 1.199 <macrodef name="build-tool"> 1.200 <attribute name="name"/> 1.201 - <attribute name="includes"/> 1.202 - <attribute name="excludes" default="**/package-info.java"/> 1.203 <attribute name="bin.dir" default="${dist.bin.dir}"/> 1.204 - <attribute name="classes.dir" default="${build.classes.dir}"/> 1.205 - <attribute name="gensrc.dir" default="${build.gensrc.dir}"/> 1.206 - <attribute name="lib.dir" default="${dist.lib.dir}"/> 1.207 <attribute name="java" default="${launcher.java}"/> 1.208 - <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/> 1.209 - <attribute name="javac.java.home" default="${boot.java.home}"/> 1.210 - <attribute name="javac.source" default="${javac.source}"/> 1.211 - <attribute name="javac.target" default="${javac.target}"/> 1.212 - <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/> 1.213 - <attribute name="jarclasspath" default=""/> 1.214 - <attribute name="release" default="${release}"/> 1.215 - <attribute name="full.version" default="${full.version}"/> 1.216 <sequential> 1.217 - <build-jar 1.218 - name="@{name}" 1.219 - gensrc.dir="@{gensrc.dir}" 1.220 - classes.dir="@{classes.dir}" 1.221 - lib.dir="@{lib.dir}" 1.222 - includes="@{includes}" 1.223 - excludes="@{excludes}" 1.224 - jarmainclass="@{jarmainclass}" 1.225 - jarclasspath="@{jarclasspath}" 1.226 - release="@{release}" 1.227 - full.version="@{full.version}" 1.228 - javac.bootclasspath="@{javac.bootclasspath}" 1.229 - javac.source="@{javac.source}" 1.230 - javac.target="@{javac.target}" 1.231 - /> 1.232 <mkdir dir="@{bin.dir}"/> 1.233 <copy file="${src.bin.dir}/launcher.sh-template" tofile="@{bin.dir}/@{name}"> 1.234 <filterset begintoken="#" endtoken="#"> 1.235 @@ -442,35 +421,15 @@ 1.236 </macrodef> 1.237 </target> 1.238 1.239 - <target name="-def-build-jar" depends="-def-build-classes"> 1.240 + <target name="-def-build-jar"> 1.241 <macrodef name="build-jar"> 1.242 <attribute name="name"/> 1.243 <attribute name="includes"/> 1.244 - <attribute name="excludes" default="**/package-info.java"/> 1.245 <attribute name="classes.dir" default="${build.classes.dir}"/> 1.246 - <attribute name="gensrc.dir" default="${build.gensrc.dir}"/> 1.247 <attribute name="lib.dir" default="${dist.lib.dir}"/> 1.248 - <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/> 1.249 - <attribute name="javac.java.home" default="${boot.java.home}"/> 1.250 - <attribute name="javac.source" default="${javac.source}"/> 1.251 - <attribute name="javac.target" default="${javac.target}"/> 1.252 <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/> 1.253 <attribute name="jarclasspath" default=""/> 1.254 - <attribute name="release" default="${release}"/> 1.255 - <attribute name="full.version" default="${full.version}"/> 1.256 <sequential> 1.257 - <build-classes 1.258 - name="@{name}" 1.259 - gensrc.dir="@{gensrc.dir}" 1.260 - classes.dir="@{classes.dir}" 1.261 - includes="@{includes}" 1.262 - excludes="@{excludes}" 1.263 - release="@{release}" 1.264 - full.version="@{full.version}" 1.265 - javac.bootclasspath="@{javac.bootclasspath}" 1.266 - javac.source="@{javac.source}" 1.267 - javac.target="@{javac.target}" 1.268 - /> 1.269 <mkdir dir="@{lib.dir}"/> 1.270 <jar destfile="@{lib.dir}/@{name}.jar" 1.271 basedir="@{classes.dir}" 1.272 @@ -486,15 +445,14 @@ 1.273 1.274 <target name="-def-build-classes" depends="-def-pcompile"> 1.275 <macrodef name="build-classes"> 1.276 - <attribute name="name"/> 1.277 <attribute name="includes"/> 1.278 <attribute name="excludes" default="**/package-info.java"/> 1.279 <attribute name="classes.dir" default="${build.classes.dir}"/> 1.280 <attribute name="gensrc.dir" default="${build.gensrc.dir}"/> 1.281 - <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/> 1.282 - <attribute name="javac.java.home" default="${boot.java.home}"/> 1.283 - <attribute name="javac.source" default="${javac.source}"/> 1.284 - <attribute name="javac.target" default="${javac.target}"/> 1.285 + <attribute name="bootclasspath" default="${build.bootstrap.dir}/classes"/> 1.286 + <attribute name="java.home" default="${boot.java.home}"/> 1.287 + <attribute name="source" default="${javac.source}"/> 1.288 + <attribute name="target" default="${javac.target}"/> 1.289 <attribute name="release" default="${release}"/> 1.290 <attribute name="full.version" default="${full.version}"/> 1.291 <sequential> 1.292 @@ -516,31 +474,18 @@ 1.293 destdir="@{gensrc.dir}" 1.294 includes="**/*.properties"/> 1.295 <javac fork="true" 1.296 - executable="@{javac.java.home}/bin/javac" 1.297 - srcdir="@{gensrc.dir}" 1.298 - destdir="@{classes.dir}" 1.299 - includes="@{includes}" 1.300 - sourcepath="" 1.301 - includeAntRuntime="no" 1.302 - source="@{javac.source}" 1.303 - target="@{javac.target}"> 1.304 - <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/> 1.305 - <compilerarg line="${javac.version.opt}"/> 1.306 - <compilerarg line="-Xlint"/> 1.307 - </javac> 1.308 - <javac fork="true" 1.309 - executable="@{javac.java.home}/bin/javac" 1.310 - srcdir="${src.classes.dir}" 1.311 + executable="@{java.home}/bin/javac" 1.312 + srcdir="${src.classes.dir}:@{gensrc.dir}" 1.313 destdir="@{classes.dir}" 1.314 includes="@{includes}" 1.315 excludes="@{excludes}" 1.316 sourcepath="" 1.317 includeAntRuntime="no" 1.318 - source="@{javac.source}" 1.319 - target="@{javac.target}" 1.320 + source="@{source}" 1.321 + target="@{target}" 1.322 debug="${javac.debug}" 1.323 debuglevel="${javac.debuglevel}"> 1.324 - <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/> 1.325 + <compilerarg value="-J-Xbootclasspath/p:@{bootclasspath}"/> 1.326 <compilerarg value="-Xbootclasspath/p:@{classes.dir}"/> 1.327 <compilerarg line="${javac.no.jdk.warnings}"/> 1.328 <compilerarg line="${javac.version.opt}"/> 1.329 @@ -562,28 +507,27 @@ 1.330 <target name="-def-build-bootstrap-tool" depends="-check-boot.java.home,-def-build-tool"> 1.331 <presetdef name="build-bootstrap-tool"> 1.332 <build-tool 1.333 - javac.source="${boot.javac.source}" 1.334 - javac.target="${boot.javac.target}" 1.335 - gensrc.dir="${build.bootstrap.dir}/gensrc" 1.336 - classes.dir="${build.bootstrap.dir}/classes" 1.337 bin.dir="${build.bootstrap.dir}/bin" 1.338 - lib.dir="${build.bootstrap.dir}/lib" 1.339 - java="${boot.java}" 1.340 - javac.bootclasspath="" 1.341 - release="${bootstrap.release}" 1.342 - full.version="${bootstrap.full.version}"/> 1.343 + java="${boot.java}"/> 1.344 </presetdef> 1.345 </target> 1.346 1.347 <target name="-def-build-bootstrap-jar" depends="-def-build-jar"> 1.348 <presetdef name="build-bootstrap-jar"> 1.349 <build-jar 1.350 - javac.source="${boot.javac.source}" 1.351 - javac.target="${boot.javac.target}" 1.352 + classes.dir="${build.bootstrap.dir}/classes" 1.353 + lib.dir="${build.bootstrap.dir}/lib"/> 1.354 + </presetdef> 1.355 + </target> 1.356 + 1.357 + <target name="-def-build-bootstrap-classes" depends="-def-build-classes"> 1.358 + <presetdef name="build-bootstrap-classes"> 1.359 + <build-classes 1.360 + source="${boot.javac.source}" 1.361 + target="${boot.javac.target}" 1.362 gensrc.dir="${build.bootstrap.dir}/gensrc" 1.363 classes.dir="${build.bootstrap.dir}/classes" 1.364 - lib.dir="${build.bootstrap.dir}/lib" 1.365 - javac.bootclasspath="" 1.366 + bootclasspath="" 1.367 release="${bootstrap.release}" 1.368 full.version="${bootstrap.full.version}"/> 1.369 </presetdef>