Review Request: Build-infra update
Kelly O'Hair
kelly.ohair at oracle.com
Tue May 22 21:08:58 UTC 2012
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.
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.
-kto
On May 22, 2012, at 8:17 AM, Erik Joelsson wrote:
> 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