Review Request: Build-infra M1

Kelly O'Hair kelly.ohair at oracle.com
Mon Mar 26 16:13:07 UTC 2012


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
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20120326/08bb1f3e/attachment.htm>


More information about the build-dev mailing list