<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Erik, Fredrik,<br>
<br>
The need to run GenStubs in the LangTools build is a somewhat
transient one. During JDK 7 we needed it; right now, we don't, but
based on the work going into other forests, we will need it again
soon, when Lambda and Jigsaw make it into JDK 8.<br>
<br>
In the proposed Makefiles, the use of GenStubs is unconditional,
relying on the list of files in lines 132-139 on the new langtools
Makefile. It might be better if that list was pulled up into a
separate make variable, and then the use of GenStubs could be
conditional on the list being non-empty.<br>
<br>
-- Jon<br>
<br>
On 03/21/2012 07:07 AM, Erik Joelsson wrote:
<blockquote cite="mid:4F69E0B6.9070101@oracle.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
As outlined in [1], the build-infra project would like to push the
current work into jdk8 in order to expose it to a wider audience.
The webrevs are made against the jdk8/build forest. In each
repository, there are two kinds of changes: <br>
<br>
1. Changes to old makefiles and source code to be compatible with
the new build.<br>
2. The new makefiles<br>
<br>
For corba, jaxp and jaxws, all changes of category 1 have already
gone in. For langtools, we are awaiting one more change for
introducing the GenerateNativeHeader annotation. For hotspot, all
necessary changes have been pushed into hotspot-rt. For jdk, there
are two webrevs, one with everything and one with just the
category 1 changes, to make it easier to see them. Finally for the
root repository there are only new files in the common subdir.<br>
<br>
root, configure script and makefiles:<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Eerikj/build-infra-m1/webrev-root-new/">http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-root-new/</a><br>
<br>
langtools, 1 new makefile:<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Eerikj/build-infra-m1/webrev-langtools-new/">http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-langtools-new/</a><br>
<br>
langtools, GenerateNativeHeader annotation (this is already going
in through tools, but adding it here for reference as the jdk
changes depend on it)<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Eerikj/build-infra-m1/webrev-langtools-nativeheader/">http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-langtools-nativeheader/</a><br>
<br>
corba, 1 new makefile:<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Eerikj/build-infra-m1/webrev-corba-new/">http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-corba-new/</a><br>
<br>
jaxp, 1 new makefile<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Eerikj/build-infra-m1/webrev-jaxp-new/">http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-jaxp-new/</a><br>
<br>
jaxws, 1 new makefile<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Eerikj/build-infra-m1/webrev-jaxws-new/">http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-jaxws-new/</a><br>
<br>
jdk, just the changes to old files<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Eerikj/build-infra-m1/webrev-jdk-other/">http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-jdk-other/</a><br>
<br>
jdk, all changes including a partial copy of the old makefiles.<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Eerikj/build-infra-m1/webrev-jdk-new/">http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-jdk-new/</a><br>
<br>
Of course, if you prefer you can look at the new makefiles
directly in the build-infra/jdk8 repository forest too.<br>
<br>
These changes should not affect the old build at all. To build
using the new build system, change directory to "common/makefiles"
and:<br>
<br>
../autoconf/configure<br>
make<br>
(make images)<br>
<br>
State of the new build (the old build should of course be
unaffected):<br>
<ul>
<li>Linux 32bit: Works<br>
</li>
<li>Linux 64bit: Works</li>
<li>Windows 32bit: Works<br>
</li>
<li>Windows 64bit: Works</li>
<li>Solaris i586: Builds but launchers currently unusable</li>
</ul>
Some notes:<br>
<ul>
<li>The old and new build (on linux x64) produce very close to
equal results. There is a comparison script in
common/bin/compareimage.sh with which this can be checked.</li>
<li>Not all makefiles in jdk have been converted yet, for those
that haven't been, a copy of the old files are used.</li>
<li>Not all promised features in the java compilation are active
and ready in this milestone. Most notably, it's still not
using more than one cpu and the nifty new dependency tracking
is disabled. A clean build is still pretty fast, but
incremental builds aren't as good as they will be yet.</li>
<li>On windows, only cygwin is currently supported. <br>
</li>
</ul>
Now please share your feedback!<br>
<br>
/Erik<br>
<br>
[1] <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://mail.openjdk.java.net/pipermail/build-infra-dev/2012-March/000571.html">http://mail.openjdk.java.net/pipermail/build-infra-dev/2012-March/000571.html</a><br>
<br>
</blockquote>
<br>
</body>
</html>