Nothing that can't be fixed or adjusted after the initial integration. So
consider me a reviewer.
Just a few comments.
* I noticed that the copyright years were a little strange, saying "Copyright
(c) 2007, 2011," instead of "Copyright (c) 2011, 2012," or "Copyright (c)
2012,".
* The "@GenerateNativeHeader" additions seem like they deserve some kind of
comment, maybe a short one on the same line, like "No native methods here, but
the constants are needed in the supporting JNI code" or something like that?
* The top repo's additions are a bit of a mind blower. Lots of stuff here.
Haven't seem m4 files in a long time. ;^)
- In common/makefiles/IdlCompilation.gmk, lines 82-84 it says
82 $(if $3,$1_$(strip $2))
83 $(if $3,$1_$(strip $3))
84 $(if $4,$1_$(strip $4))
Is line 82 right? $3 and not $2?
- In common/makefiles/MakeBase.gmk, this is very strange to me:
134 compress_pre:=$(strip $(shell cat
$(SRC_ROOT)/common/makefiles/compress.pre))
135 compress_post:=$(strip $(shell cat
$(SRC_ROOT)/common/makefiles/compress.post))
This path mapping logic seems like high maintenance. I understand what it
is trying to get around,
and I don't have any suggestions for improvements at this time, but it does
look very very touchy stuff. :^(
The good thing is that we have only one copy of it, and if anyone figures
out a better way, we can change it, in one place.
It will take me quite a bit of time to understand this new makefile logic
completely.
-kto
On Mar 21, 2012, at 7:07 AM, Erik Joelsson wrote:
> 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:
>
> 1. Changes to old makefiles and source code to be compatible with the new
> build.
> 2. The new makefiles
>
> 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.
>
> root, configure script and makefiles:
> http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-root-new/
>
> langtools, 1 new makefile:
> http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-langtools-new/
>
> langtools, GenerateNativeHeader annotation (this is already going in through
> tools, but adding it here for reference as the jdk changes depend on it)
> http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-langtools-nativeheader/
>
> corba, 1 new makefile:
> http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-corba-new/
>
> jaxp, 1 new makefile
> http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-jaxp-new/
>
> jaxws, 1 new makefile
> http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-jaxws-new/
>
> jdk, just the changes to old files
> http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-jdk-other/
>
> jdk, all changes including a partial copy of the old makefiles.
> http://cr.openjdk.java.net/~erikj/build-infra-m1/webrev-jdk-new/
>
> Of course, if you prefer you can look at the new makefiles directly in the
> build-infra/jdk8 repository forest too.
>
> These changes should not affect the old build at all. To build using the new
> build system, change directory to "common/makefiles" and:
>
> ../autoconf/configure
> make
> (make images)
>
> State of the new build (the old build should of course be unaffected):
> Linux 32bit: Works
> Linux 64bit: Works
> Windows 32bit: Works
> Windows 64bit: Works
> Solaris i586: Builds but launchers currently unusable
> Some notes:
> 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.
> Not all makefiles in jdk have been converted yet, for those that haven't
> been, a copy of the old files are used.
> 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.
> On windows, only cygwin is currently supported.
> Now please share your feedback!
>
> /Erik
>
> [1]
> http://mail.openjdk.java.net/pipermail/build-infra-dev/2012-March/000571.html
>