Review Request: Build-infra update
erik.joelsson at oracle.com
Wed May 23 07:30:59 UTC 2012
On 2012-05-22 23:08, Kelly O'Hair wrote:
> Not sure where we are on these changes. I have made sure that they don't regress the old builds
> and am ready to integrate, but I'm concerned on Alan's modularity comment, and also who should
> I be adding to the "Reviewed-by" list.
I'm also not sure if Alan's comment was a blocker. The idea with
GenerateNativeHeader was approved by Jon Gibbon's initially at least. Alan?
Reviewers so far are ohair, ohrstrom and ihse at least, probably alanb?
Contributors are erikj, jonas, ihse, ykantser, tgranat, fredrik, ohair.
Not sure about the order or if it's relevant. Do we need reviewers that
> Also, I'm thinking I should separate the changes in the jdk repo to isolate the changes to the old
> build system, the sources, and the build-infra changes. Let me know if that make sense.
Separating makes sense. I could make an attempt at it today.
> On May 22, 2012, at 8:17 AM, Erik Joelsson wrote:
>> New webrevs published (those ending in .1):
>> All issues below have been addressed. There are also some other improvements that we felt should get in now.
>> On 2012-05-16 23:21, Fredrik Öhrström wrote:
>>> In configure.ac:
>>> Indententation looks odd where solaris optimizations settings for CC
>>> are calculated.
>>> Could someone enlighten this configure script with a comment about libCrun?
>>> In logger.sh:
>>> 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
>>> 278 BUILD_JDK_EXTRA_NATIVE := java.net.InetAddressImplFactory
>>> 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
>>> and BUILD_LIBINSTRUMENT_FILES, BUILD_LIBNIO_FILES, LIBAWT_XAWT_FILES,
>>> LIBAWT_HEADLESS_FILES, LIBAWT_XAWT_FILES, LIBSPLASHSCREEN_FILES,
>>> LIBAWT_FILES, LIBJSOUND_MIDIFILES, LIBJSOUND_PORTFILES, LIBJSOUND_DAUDIOFILES,
>>> LIBAPPLESCRIPTENGINE_FILES, LIBAWT_LWAWT_FILES, LIBOSXUI_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.
>>> 35 NEWCLASSES_DIR := $(JDK_OUTPUTDIR)/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 oracle.com>:
>>>> 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
>>>> * 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
More information about the build-dev