Review Request: Build-infra update

Fredrik Öhrström oehrstroem at
Wed May 16 21:21:32 UTC 2012

Indententation looks odd where solaris optimizations settings for CC
are calculated.
Could someone enlighten this configure script with a comment about libCrun?

trap "rm -rf '$RCDIR'" EXIT
The $RCDIR is not replaced with the contents of the variable RCDIR
since it is surrounded by single quotes.
I assume the single quotes were added to deal with paths with spaces
in them on windows.
Perhaps there is some clever way to solve this.

Somewhat broken comment in JavaCompilation.gmk:
 178     # When this macro is run in the same makefile as the java
compilation, dependencies are transfered
 179     # in make variables. When the macro is run in a different
makefile than the java compilation, the
 180     # needs to be found in the filesystem.

In the root makefile, could you explain what CONF does and what the
source tip code does?

In the corba makefile, it seems like we forgot to use $(MKDIR) for
mkdir and several other commands.

In CompileJavaClasses.gmk:
 88 # Jonas 2012-04-25: It's only used to generate...i.e a build tool

Then it should still be excluded from the jdk build, even on Macosx,
should it not?

 128 ifeq ($(JONAS),TODO_DONE)

 277 # List of java classes that should be javah compiled, but is not

Is this because we have not had time to add GenerateNativeHeader for this class?

In NativeCompilation.gmk:
91 #   as this is firt time I see it

Is the source so messed up that we need BUILD_LIBMLIB_IMAGE_V_FILES

Unfortunately, I can guess that the answer is yes. However everyone should now
that each time an explicit source file name is added to a makefile, a
kitten dies!

Can we rename newobjs into objs? The names newobjs and newclasses were only
used while we converted the makefiles.

In CopyFiles.gmk:
# TODO: Platform dir needs to be "win32" on windows /erikj
Fixed isn't it?

In GenerateClasses.gmk:
 33 # Depend on files in classes for now to avoid bad dependency
handling caused by
 34 # copy always updating timestamps in classes.

Drop the comment, and drop NEWCLASSES_DIR, just do
in the macro call.

In GenerateJavaSources.gmk:
Use $(CHMOD) instead of chmod etc etc

In GensrcMisc.gmk:
Why is realpath needed here?
 172                 SRC:=$(realpath $(dir $(GENSRC_SOL_SRC)

In GensrcCharacterData.gmk:
replace echo with $(ECHO)

In Images.gmk:
You can remove the comments from line 35 to 44.
Though the incantation: I.e. -do-not-use- :: rules!!!!!
Repeat after me: -do-not-use- :: rules!!!!!
Should be recited 100 times by anyone who wants to
edit the new makefiles. :-)

Are makefiles/com/Makefile and makefiles/javax/Makefile
empty? Can they be removed?

Awesome work!


2012/5/16 Erik Joelsson <erik.joelsson at>:
> The build-infra project has been quite productive and would like to push an
> update to the new build in jdk8.
> All webrevs can be found here:
> <>
> What's new in this push?
> * Makefile conversion is basically done (a few minor exceptions but all code
> is compiled by new makefiles now).
> * Solaris ia32 is now as binary compatible with the old build as linux is.
> * Build speed is significantly improved since only new makefiles are used.
> (Rough examples for full open build: Linux 7min, Solaris ia32 7min, Windows
> 22min)
> * Windows still builds and is runnable.
> * Several bugfixes.
> Why push now, it's not all done yet?
> The main driver for this push is the jigsaw project that needs to consume
> the full conversion of the makefiles in order to work on the jigsaw build.
> We also think that people trying out the new build will enjoy the speed
> improvement. Of course we also welcome more feedback on the new build
> system.
> /Erik

More information about the build-dev mailing list