Review Request: Build-infra update
Erik Joelsson
erik.joelsson at oracle.com
Tue May 22 15:17:51 UTC 2012
New webrevs published (those ending in .1):
http://cr.openjdk.java.net/~erikj/build-infra-m1.1/
<http://cr.openjdk.java.net/%7Eerikj/build-infra-m1.1/>
All issues below have been addressed. There are also some other
improvements that we felt should get in now.
/Erik
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
> auto-detected
> 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
> CLASSES_DIR:=$(JDK_OUTPUTDIR)/classes
> 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!
>
> //Fredrik
>
> 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:
>> http://cr.openjdk.java.net/~erikj/build-infra-m1.1/
>> <http://cr.openjdk.java.net/%7Eerikj/build-infra-m1.1/>
>>
>> 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