From erik.joelsson at oracle.com Sun Jul 1 10:05:34 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Sun, 01 Jul 2012 17:05:34 +0000 Subject: hg: build-infra/jdk8: Fixed sparcv9 in configure. Message-ID: <20120701170534.A079647C2E@hg.openjdk.java.net> Changeset: e7bd60be090c Author: erikj Date: 2012-07-01 18:58 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/e7bd60be090c Fixed sparcv9 in configure. ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 From erik.joelsson at oracle.com Sun Jul 1 10:05:58 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Sun, 01 Jul 2012 17:05:58 +0000 Subject: hg: build-infra/jdk8/jdk: 2 new changesets Message-ID: <20120701170639.3804847C2F@hg.openjdk.java.net> Changeset: b16c62aaa255 Author: erikj Date: 2012-07-01 19:01 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/b16c62aaa255 Fixed sparcv9 native compile. ! makefiles/CompileNativeLibraries.gmk Changeset: c7263de8403b Author: erikj Date: 2012-07-01 19:02 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/c7263de8403b Merge ! makefiles/CompileNativeLibraries.gmk From david.holmes at oracle.com Sun Jul 1 17:31:29 2012 From: david.holmes at oracle.com (David Holmes) Date: Mon, 02 Jul 2012 10:31:29 +1000 Subject: build output/logging buffering? In-Reply-To: <4FEE5E3D.9060406@oracle.com> References: <4FED1E20.700@oracle.com> <4FEE24BD.6040500@oracle.com> <4FEE5E3D.9060406@oracle.com> Message-ID: <4FF0EBE1.1020801@oracle.com> On 30/06/2012 12:02 PM, David Holmes wrote: > On 30/06/2012 10:39 AM, Kelly O'Hair wrote: >> That logger.sh script is doing some strange buffering to fd 3 somehow. >> I'd never see that used before. >> >> http://hg.openjdk.java.net/build-infra/jdk8/file/ccfffd988af6/common/bin/logger.sh >> > > Don't know about the fd 3 but maybe it is the subshell that introduces > the buffering ? I did a simple test using the form: (exec 3>&1 ; ("$@" 2>&1 1>&3; echo $? > "$RCDIR/rc") | tee -a $LOGFILE 1>&2 ; exec 3>&-) | tee -a $LOGFILE and couldn't reproduce the problem. I'll have to see if I can reproduce more easily in the real build system. Thanks, David ----- > > David > >> >> -kto >> >> On Jun 29, 2012, at 2:57 PM, Erik Joelsson wrote: >> >>> This problem was new to me. It seems strange that stderr and stdout >>> would behave differently. Both are piped through a separate instance >>> of 'tee' to preserver the separation on the console, but to get both >>> into the logfile. >>> >>> /Erik >>> >>> On 2012-06-28 20:16, David Holmes wrote: >>>> I see that a build will create a build.log by default. I also see I >>>> can set VERBOSE= to get back to the older more verbose style of >>>> output (eg full compilation commands etc). >>>> >>>> But it seems that due to the logging there is some buffering taking >>>> place that prevents me from seeing the most recent build output >>>> while it is running. I just had a problem where due to a mistyped >>>> variable I did a "cd " and then starting trawling my entire home >>>> directory, but I couldn't see this in the build output, ie no "cd " >>>> was visible, presumably because the output was being buffered. >>>> >>>> What I did see, which gave me the hint were a bunch of warnings that >>>> presumably went to stderr, not stdout and do did not get buffered. >>>> >>>> David >>> >> From oehrstroem at gmail.com Sun Jul 1 23:50:22 2012 From: oehrstroem at gmail.com (=?ISO-8859-1?Q?Fredrik_=D6hrstr=F6m?=) Date: Mon, 2 Jul 2012 08:50:22 +0200 Subject: build output/logging buffering? In-Reply-To: References: <4FED1E20.700@oracle.com> <4FEE24BD.6040500@oracle.com> Message-ID: stderr and stdout are always independent and stderr writing is usually visible earlier than stdout writing because it is not buffered. The timing of stderr and stdout is probably drifting apart even more because of the logger script. You can patch the spec file to get rid of the logger and see if it affects your ordering. Set BUILD_LOG_WRAPPER to the empty string. //Fredrik Den l?rdagen den 30:e juni 2012 skrev Kelly O'Hair: > That logger.sh script is doing some strange buffering to fd 3 somehow. > I'd never see that used before. > > > http://hg.openjdk.java.net/build-infra/jdk8/file/ccfffd988af6/common/bin/logger.sh > > > -kto > > On Jun 29, 2012, at 2:57 PM, Erik Joelsson wrote: > > > This problem was new to me. It seems strange that stderr and stdout > would behave differently. Both are piped through a separate instance of > 'tee' to preserver the separation on the console, but to get both into the > logfile. > > > > /Erik > > > > On 2012-06-28 20:16, David Holmes wrote: > >> I see that a build will create a build.log by default. I also see I can > set VERBOSE= to get back to the older more verbose style of output (eg full > compilation commands etc). > >> > >> But it seems that due to the logging there is some buffering taking > place that prevents me from seeing the most recent build output while it is > running. I just had a problem where due to a mistyped variable I did a "cd > " and then starting trawling my entire home directory, but I couldn't see > this in the build output, ie no "cd " was visible, presumably because the > output was being buffered. > >> > >> What I did see, which gave me the hint were a bunch of warnings that > presumably went to stderr, not stdout and do did not get buffered. > >> > >> David > > > > From fredrik.ohrstrom at oracle.com Tue Jul 3 08:42:02 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 03 Jul 2012 15:42:02 +0000 Subject: hg: build-infra/jdk8/langtools: Adjust sources to match jdk8/tl/langtools. Message-ID: <20120703154207.4F54647C69@hg.openjdk.java.net> Changeset: 7a40da8224b1 Author: ohrstrom Date: 2012-07-03 16:18 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/7a40da8224b1 Adjust sources to match jdk8/tl/langtools. ! src/share/classes/com/sun/tools/javac/Main.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/Locations.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/util/Context.java ! src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/Options.java ! src/share/classes/com/sun/tools/javah/JavahFileManager.java ! src/share/classes/com/sun/tools/javap/JavapFileManager.java From fredrik.ohrstrom at oracle.com Tue Jul 3 08:50:34 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 03 Jul 2012 15:50:34 +0000 Subject: hg: build-infra/jdk8/langtools: Remove sources to match jdk8/tl/langtools. Message-ID: <20120703155037.C9B7E47C6A@hg.openjdk.java.net> Changeset: 0f38577a6a25 Author: ohrstrom Date: 2012-07-03 17:49 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/0f38577a6a25 Remove sources to match jdk8/tl/langtools. - src/share/classes/com/sun/tools/javac/server/JavacServer.java - src/share/classes/com/sun/tools/javac/smart/BuildState.java - src/share/classes/com/sun/tools/javac/smart/CleanProperties.java - src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java - src/share/classes/com/sun/tools/javac/smart/CompileProperties.java - src/share/classes/com/sun/tools/javac/smart/CopyFile.java - src/share/classes/com/sun/tools/javac/smart/JavacState.java - src/share/classes/com/sun/tools/javac/smart/Log.java - src/share/classes/com/sun/tools/javac/smart/Main.java - src/share/classes/com/sun/tools/javac/smart/Module.java - src/share/classes/com/sun/tools/javac/smart/Package.java - src/share/classes/com/sun/tools/javac/smart/ProblemException.java - src/share/classes/com/sun/tools/javac/smart/Source.java - src/share/classes/com/sun/tools/javac/smart/SyntaxException.java - src/share/classes/com/sun/tools/javac/smart/Transformer.java - src/share/classes/com/sun/tools/javac/smart/Util.java From erik.joelsson at oracle.com Tue Jul 3 09:38:27 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Tue, 03 Jul 2012 16:38:27 +0000 Subject: hg: build-infra/jdk8/jdk: Removing all the now unused copies of the old makefiles. Message-ID: <20120703163850.D9A0447C6D@hg.openjdk.java.net> Changeset: 495116a555ca Author: erikj Date: 2012-07-03 18:38 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/495116a555ca Removing all the now unused copies of the old makefiles. - makefiles/com/sun/crypto/provider/Makefile - makefiles/common/Classes.gmk - makefiles/common/Cscope.gmk - makefiles/common/Defs-embedded.gmk - makefiles/common/Defs-linux.gmk - makefiles/common/Defs-macosx.gmk - makefiles/common/Defs-solaris.gmk - makefiles/common/Defs-windows.gmk - makefiles/common/Defs.gmk - makefiles/common/Demo.gmk - makefiles/common/Library.gmk - makefiles/common/Mapfile-vers.gmk - makefiles/common/Modules.gmk - makefiles/common/Program.gmk - makefiles/common/Release-embedded.gmk - makefiles/common/Release-macosx.gmk - makefiles/common/Release.gmk - makefiles/common/Rules.gmk - makefiles/common/Subdirs.gmk - makefiles/common/internal/Defs-corba.gmk - makefiles/common/internal/Defs-jaxp.gmk - makefiles/common/internal/Defs-jaxws.gmk - makefiles/common/internal/Defs-langtools.gmk - makefiles/common/internal/ImportComponents.gmk - makefiles/common/internal/NativeCompileRules.gmk - makefiles/common/internal/Resources.gmk - makefiles/common/shared/Compiler-gcc.gmk - makefiles/common/shared/Compiler-llvm.gmk - makefiles/common/shared/Compiler-msvc.gmk - makefiles/common/shared/Compiler-sun.gmk - makefiles/common/shared/Defs-control.gmk - makefiles/common/shared/Defs-java.gmk - makefiles/common/shared/Defs-javadoc.gmk - makefiles/common/shared/Defs-linux.gmk - makefiles/common/shared/Defs-macosx.gmk - makefiles/common/shared/Defs-solaris.gmk - makefiles/common/shared/Defs-versions.gmk - makefiles/common/shared/Defs-windows.gmk - makefiles/common/shared/Defs.gmk - makefiles/common/shared/Platform.gmk - makefiles/common/shared/PrivateDefs.gmk-example - makefiles/common/shared/Sanity-Settings.gmk - makefiles/java/Makefile - makefiles/java/redist/Makefile - makefiles/java/redist/sajdi/Makefile - makefiles/javax/crypto/Defs-jce.gmk - makefiles/javax/crypto/Makefile - makefiles/javax/crypto/policy/limited/LIMITED - makefiles/javax/crypto/policy/limited/default_local.policy - makefiles/javax/crypto/policy/limited/exempt_local.policy - makefiles/javax/crypto/policy/unlimited/UNLIMITED - makefiles/javax/crypto/policy/unlimited/default_US_export.policy - makefiles/javax/crypto/policy/unlimited/default_local.policy - makefiles/mkdemo/Makefile - makefiles/mkdemo/jni/Makefile - makefiles/mkdemo/jni/Poller/Makefile - makefiles/mkdemo/jvmti/Makefile - makefiles/mkdemo/jvmti/README.txt - makefiles/mkdemo/jvmti/hprof/Makefile - makefiles/mkdemo/jvmti/mapfile-vers - makefiles/mkdemo/management/README.txt - makefiles/sun/jkernel/Makefile - makefiles/sun/security/ec/Makefile - makefiles/sun/security/pkcs11/FILES_c.gmk - makefiles/sun/security/pkcs11/Makefile - makefiles/sun/security/pkcs11/mapfile-vers From jim.gish at oracle.com Tue Jul 3 09:54:04 2012 From: jim.gish at oracle.com (Jim Gish) Date: Tue, 03 Jul 2012 12:54:04 -0400 Subject: Why Two versions of FILES_java.gmk ? Message-ID: <4FF323AC.7060806@oracle.com> I'm adding new java files into make/java/java/FILES_java.gmk. Why is there also makefiles/java/java/FILES_java.gmk ? Do they serve different purposes? They are not in sync. -- Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304 Oracle Java Platform Group | Core Libraries Team 35 Network Drive Burlington, MA 01803 jim.gish at oracle.com From mike.duigou at oracle.com Tue Jul 3 10:38:00 2012 From: mike.duigou at oracle.com (Mike Duigou) Date: Tue, 3 Jul 2012 10:38:00 -0700 Subject: Why Two versions of FILES_java.gmk ? In-Reply-To: <4FF323AC.7060806@oracle.com> References: <4FF323AC.7060806@oracle.com> Message-ID: <794FD6A7-1181-491D-95C8-BECBBE8DDF96@oracle.com> One is used by the old build system (make) and the other is used by the new build infrastructure (makefiles). It's unfortunate that they are out of sync. As you have guessed they should not be. I'm hoping that the new build infra can eventually get rid of the need for silly listing files. Mike On Jul 3 2012, at 09:54 , Jim Gish wrote: > I'm adding new java files into make/java/java/FILES_java.gmk. Why is there also makefiles/java/java/FILES_java.gmk ? Do they serve different purposes? They are not in sync. > > -- > Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304 > Oracle Java Platform Group | Core Libraries Team > 35 Network Drive > Burlington, MA 01803 > jim.gish at oracle.com > From jim.gish at oracle.com Tue Jul 3 10:42:33 2012 From: jim.gish at oracle.com (Jim Gish) Date: Tue, 03 Jul 2012 13:42:33 -0400 Subject: Why Two versions of FILES_java.gmk ? In-Reply-To: <794FD6A7-1181-491D-95C8-BECBBE8DDF96@oracle.com> References: <4FF323AC.7060806@oracle.com> <794FD6A7-1181-491D-95C8-BECBBE8DDF96@oracle.com> Message-ID: <4FF32F09.6020403@oracle.com> Thanks, Mike. Shall I sync them up since I'm changing them anyway at the moment? Jim On 07/03/2012 01:38 PM, Mike Duigou wrote: > One is used by the old build system (make) and the other is used by the new build infrastructure (makefiles). It's unfortunate that they are out of sync. As you have guessed they should not be. I'm hoping that the new build infra can eventually get rid of the need for silly listing files. > > Mike > > On Jul 3 2012, at 09:54 , Jim Gish wrote: > >> I'm adding new java files into make/java/java/FILES_java.gmk. Why is there also makefiles/java/java/FILES_java.gmk ? Do they serve different purposes? They are not in sync. >> >> -- >> Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304 >> Oracle Java Platform Group | Core Libraries Team >> 35 Network Drive >> Burlington, MA 01803 >> jim.gish at oracle.com >> -- Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304 Oracle Java Platform Group | Core Libraries Team 35 Network Drive Burlington, MA 01803 jim.gish at oracle.com From erik.joelsson at oracle.com Tue Jul 3 11:16:29 2012 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Tue, 03 Jul 2012 11:16:29 -0700 Subject: Why Two versions of FILES_java.gmk ? In-Reply-To: <4FF32F09.6020403@oracle.com> References: <4FF323AC.7060806@oracle.com> <794FD6A7-1181-491D-95C8-BECBBE8DDF96@oracle.com> <4FF32F09.6020403@oracle.com> Message-ID: <4FF336FD.4060309@oracle.com> The new build system holds a copy of the old to piggy back on while the conversion was happening. We are about to push an update to the new build system where all these copied files are removed. You do not need to update the makefiles-version of the file as it will be removed very soon. In the new build system, there is no need to list files like this. /Erik On 2012-07-03 10:42, Jim Gish wrote: > Thanks, Mike. > > Shall I sync them up since I'm changing them anyway at the moment? > > Jim > > On 07/03/2012 01:38 PM, Mike Duigou wrote: >> One is used by the old build system (make) and the other is used by >> the new build infrastructure (makefiles). It's unfortunate that they >> are out of sync. As you have guessed they should not be. I'm hoping >> that the new build infra can eventually get rid of the need for silly >> listing files. >> >> Mike >> >> On Jul 3 2012, at 09:54 , Jim Gish wrote: >> >>> I'm adding new java files into make/java/java/FILES_java.gmk. Why >>> is there also makefiles/java/java/FILES_java.gmk ? Do they serve >>> different purposes? They are not in sync. >>> >>> -- >>> Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304 >>> Oracle Java Platform Group | Core Libraries Team >>> 35 Network Drive >>> Burlington, MA 01803 >>> jim.gish at oracle.com >>> > From kelly.ohair at oracle.com Tue Jul 3 11:38:02 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Tue, 3 Jul 2012 11:38:02 -0700 Subject: jdk8 makefile changes Message-ID: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> Heads up... We expect to do a sync up of the jdk8/build forest with the latest in the build-infra forest in the next few days. As the new build-infra project starts getting more solid and we contemplate when we can switch the default to building with the new build-infra Makefiles (we don't know exactly when yet). **** IMPORTANT NOTICE **** It will be important that *anyone* making *any* changes to the jdk8 Makefiles keep the build-dev or build-infra mailing lists informed. For a period of time we need to maintain two separate build mechanisms, and we want to make sure that both build the same thing. The hotspot repository is the one exception where we don't have two sets of makefiles, but we still would like to know when anyone is changing the makefiles or anything to do with the build process. ***************************** We will soon be running both builds and doing comparisons of the resulting j2sdk-image files from both to insure we match. So if we detect differences we will be tracking down how those differences happened (that's a hint that we will be watching :^). More information on the new build-infra Makefiles can be found at: http://openjdk.java.net/projects/build-infra/ User Guide is at: http://openjdk.java.net/projects/build-infra/guide.html Some preliminary timings for building the product image (effectively, build/j2sdk-image/): OLD NEW build-infra times (All estimates, similar VMs/Zones) linux_i586 (21m 59s) (08m 13s) linux_x64 (13m 34s) (07m 04s) solaris_i586 (26m 14s) (11m 31s) solaris_sparc (54m 02s) (28m 21s) windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses CYGWIN) windows_x64 (36m 36s) (23m 50s) " " " Notes: * Machines with more processors will reduce the build time for build-infra builds, less so with the old Makefiles. * Always use local disk or /tmp (all above timings use /tmp, always local disk) * Above uses VMs for Windows and Linux, raw hardware would be faster * Use of ccache can sometimes speed things up, but can also skew the timings, in the above measurements OLD used ccache, NEW did not. -kto From fredrik.ohrstrom at oracle.com Wed Jul 4 15:46:29 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 04 Jul 2012 22:46:29 +0000 Subject: hg: build-infra/jdk8: 4 new changesets Message-ID: <20120704224630.774BE47CD4@hg.openjdk.java.net> Changeset: c7a9c57d8081 Author: ohrstrom Date: 2012-07-04 20:08 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/c7a9c57d8081 First version of sjavac. Now ready to try out memory settings. ! common/autoconf/build-performance.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/spec.sh.in ! common/makefiles/JavaCompilation.gmk ! common/makefiles/Makefile Changeset: d09ccbfa4f16 Author: ohrstrom Date: 2012-07-04 21:03 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/d09ccbfa4f16 Adjust heap settings. ! common/autoconf/build-performance.m4 ! common/autoconf/generated-configure.sh Changeset: 0bb122f2fcfb Author: ohrstrom Date: 2012-07-04 21:40 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/0bb122f2fcfb Adjust demos. ! common/makefiles/JavaCompilation.gmk Changeset: 78bb276f5d7d Author: ohrstrom Date: 2012-07-05 00:30 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/78bb276f5d7d Working sjavac. ! common/makefiles/JavaCompilation.gmk From fredrik.ohrstrom at oracle.com Wed Jul 4 15:46:42 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 04 Jul 2012 22:46:42 +0000 Subject: hg: build-infra/jdk8/corba: First version of sjavac. Message-ID: <20120704224644.7BC8B47CD5@hg.openjdk.java.net> Changeset: 4b8527cab3a8 Author: ohrstrom Date: 2012-07-04 20:09 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/corba/rev/4b8527cab3a8 First version of sjavac. ! makefiles/Makefile From fredrik.ohrstrom at oracle.com Wed Jul 4 15:47:08 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 04 Jul 2012 22:47:08 +0000 Subject: hg: build-infra/jdk8/jaxp: First version of sjavac. Message-ID: <20120704224713.7B90847CD6@hg.openjdk.java.net> Changeset: e369c1bfc57c Author: ohrstrom Date: 2012-07-04 20:09 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jaxp/rev/e369c1bfc57c First version of sjavac. ! makefiles/Makefile From fredrik.ohrstrom at oracle.com Wed Jul 4 15:47:25 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 04 Jul 2012 22:47:25 +0000 Subject: hg: build-infra/jdk8/jaxws: First version of sjavac. Message-ID: <20120704224730.2E4E247CDA@hg.openjdk.java.net> Changeset: 070e813fd91b Author: ohrstrom Date: 2012-07-04 20:09 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jaxws/rev/070e813fd91b First version of sjavac. ! makefiles/Makefile From fredrik.ohrstrom at oracle.com Wed Jul 4 15:47:54 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 04 Jul 2012 22:47:54 +0000 Subject: hg: build-infra/jdk8/jdk: 2 new changesets Message-ID: <20120704224836.17E3A47CE0@hg.openjdk.java.net> Changeset: b8218d9d8686 Author: ohrstrom Date: 2012-07-04 20:10 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/b8218d9d8686 First version of sjavac. ! makefiles/CompileJavaClasses.gmk ! makefiles/GendataBreakIterator.gmk ! makefiles/Setup.gmk Changeset: b4b08311ca2c Author: ohrstrom Date: 2012-07-04 21:40 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/b4b08311ca2c Adjust demos. ! makefiles/CompileDemos.gmk ! makefiles/Images.gmk From fredrik.ohrstrom at oracle.com Wed Jul 4 15:48:53 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 04 Jul 2012 22:48:53 +0000 Subject: hg: build-infra/jdk8/langtools: 2 new changesets Message-ID: <20120704224901.A29B147CE3@hg.openjdk.java.net> Changeset: 562c0baaba87 Author: ohrstrom Date: 2012-07-04 20:09 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/562c0baaba87 First version of sjavac. ! makefiles/Makefile ! src/share/classes/com/sun/tools/javac/Main.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/comp/Dependencies.java - src/share/classes/com/sun/tools/javac/comp/NativeapiVisitor.java ! src/share/classes/com/sun/tools/javac/comp/PubapiVisitor.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Main.java + src/share/classes/com/sun/tools/javac/server/JavacServer.java + src/share/classes/com/sun/tools/javac/smart/BuildState.java + src/share/classes/com/sun/tools/javac/smart/CleanProperties.java + src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java + src/share/classes/com/sun/tools/javac/smart/CompileProperties.java + src/share/classes/com/sun/tools/javac/smart/CopyFile.java + src/share/classes/com/sun/tools/javac/smart/JavacState.java + src/share/classes/com/sun/tools/javac/smart/Log.java + src/share/classes/com/sun/tools/javac/smart/Main.java + src/share/classes/com/sun/tools/javac/smart/Module.java + src/share/classes/com/sun/tools/javac/smart/Package.java + src/share/classes/com/sun/tools/javac/smart/ProblemException.java + src/share/classes/com/sun/tools/javac/smart/Source.java + src/share/classes/com/sun/tools/javac/smart/SyntaxException.java + src/share/classes/com/sun/tools/javac/smart/Transformer.java + src/share/classes/com/sun/tools/javac/smart/Util.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/SmartFileManager.java ! src/share/classes/com/sun/tools/javah/JavahFileManager.java ! src/share/classes/com/sun/tools/javap/JavapFileManager.java Changeset: f1d1a7cacea3 Author: ohrstrom Date: 2012-07-05 00:43 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/f1d1a7cacea3 sjavac now works. ! src/share/classes/com/sun/tools/javac/server/JavacServer.java ! src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java ! src/share/classes/com/sun/tools/javac/smart/JavacState.java ! src/share/classes/com/sun/tools/javac/smart/Main.java From david.holmes at oracle.com Wed Jul 4 15:56:36 2012 From: david.holmes at oracle.com (David Holmes) Date: Thu, 05 Jul 2012 08:56:36 +1000 Subject: Minor nit: "Building OpenJDK .." Message-ID: <4FF4CA24.1070305@oracle.com> common/makefiles/MakefileHelpers.gmk always reports that it is building OpenJDK even if it is not: define PrintStartMessage $(if $(VERBOSE),,@$(ECHO) Running make as $(MAKE) $(MFLAGS) $(MAKE_ARGS)) $(call CheckEnvironment) @$(ECHO) "Building OpenJDK for target $(if $(MAKECMDGOALS),'$(MAKECMDGOALS)','all') in configuration '$(CONF_NAME)'" endef define PrintEndMessage @$(ECHO) "Finished building OpenJDK for target '$@'" $(call CheckEnvironment) endef David ----- From erik.joelsson at oracle.com Thu Jul 5 11:27:31 2012 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 05 Jul 2012 11:27:31 -0700 Subject: Minor nit: "Building OpenJDK .." In-Reply-To: <4FF4CA24.1070305@oracle.com> References: <4FF4CA24.1070305@oracle.com> Message-ID: <4FF5DC93.5010908@oracle.com> Not a major issue no, but I agree that it would be nice, and useful, if it said something more accuratly describing the product being built. /Erik On 2012-07-04 15:56, David Holmes wrote: > common/makefiles/MakefileHelpers.gmk always reports that it is > building OpenJDK even if it is not: > > define PrintStartMessage > $(if $(VERBOSE),,@$(ECHO) Running make as $(MAKE) $(MFLAGS) > $(MAKE_ARGS)) > $(call CheckEnvironment) > @$(ECHO) "Building OpenJDK for target $(if > $(MAKECMDGOALS),'$(MAKECMDGOALS)','all') in configuration '$(CONF_NAME)'" > endef > > define PrintEndMessage > @$(ECHO) "Finished building OpenJDK for target '$@'" > $(call CheckEnvironment) > endef > > > David > ----- From erik.joelsson at oracle.com Thu Jul 5 13:41:33 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 05 Jul 2012 20:41:33 +0000 Subject: hg: build-infra/jdk8: Fixed objcopy on linux. Message-ID: <20120705204134.1514947D0E@hg.openjdk.java.net> Changeset: 9ccdb1ddab63 Author: erikj Date: 2012-07-05 22:41 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/9ccdb1ddab63 Fixed objcopy on linux. ! common/makefiles/NativeCompilation.gmk From erik.joelsson at oracle.com Thu Jul 5 15:17:41 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 05 Jul 2012 22:17:41 +0000 Subject: hg: build-infra/jdk8: Fixed objcopy again, on rebuild. Replaced a lot of shell commands with Message-ID: <20120705221741.3E36847D1E@hg.openjdk.java.net> Changeset: 36a2d0b4be02 Author: erikj Date: 2012-07-06 00:00 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/36a2d0b4be02 Fixed objcopy again, on rebuild. Replaced a lot of shell commands with spec defined variables. ! common/makefiles/IdlCompilation.gmk ! common/makefiles/Makefile ! common/makefiles/NativeCompilation.gmk From erik.joelsson at oracle.com Thu Jul 5 15:33:31 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 05 Jul 2012 22:33:31 +0000 Subject: hg: build-infra/jdk8/jdk: Corrected j2re image creation. Message-ID: <20120705223348.92C5C47D21@hg.openjdk.java.net> Changeset: c95226167657 Author: erikj Date: 2012-07-06 00:33 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/c95226167657 Corrected j2re image creation. ! makefiles/CompileDemos.gmk ! makefiles/Images.gmk From kelly.ohair at oracle.com Thu Jul 5 18:34:20 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Thu, 5 Jul 2012 18:34:20 -0700 Subject: Minor nit: "Building OpenJDK .." In-Reply-To: <4FF5DC93.5010908@oracle.com> References: <4FF4CA24.1070305@oracle.com> <4FF5DC93.5010908@oracle.com> Message-ID: <6AEA5236-A895-4B24-AB43-05402DCBBEFA@oracle.com> Filed 7182054: build-infra: Print more approriate name of what is being built for this so we don't forget it. -kto On Jul 5, 2012, at 11:27 AM, Erik Joelsson wrote: > Not a major issue no, but I agree that it would be nice, and useful, if it said something more accuratly describing the product being built. > > /Erik > > On 2012-07-04 15:56, David Holmes wrote: >> common/makefiles/MakefileHelpers.gmk always reports that it is building OpenJDK even if it is not: >> >> define PrintStartMessage >> $(if $(VERBOSE),,@$(ECHO) Running make as $(MAKE) $(MFLAGS) $(MAKE_ARGS)) >> $(call CheckEnvironment) >> @$(ECHO) "Building OpenJDK for target $(if $(MAKECMDGOALS),'$(MAKECMDGOALS)','all') in configuration '$(CONF_NAME)'" >> endef >> >> define PrintEndMessage >> @$(ECHO) "Finished building OpenJDK for target '$@'" >> $(call CheckEnvironment) >> endef >> >> >> David >> ----- > From david.holmes at oracle.com Fri Jul 6 04:48:40 2012 From: david.holmes at oracle.com (David Holmes) Date: Fri, 06 Jul 2012 21:48:40 +1000 Subject: Build failure: CompileJavaPackage.java Message-ID: <4FF6D098.90504@oracle.com> The sjavac changesets that were just pushed to langtools seem to have introduced a problem with a regular build: build-bootstrap-javac: [mkdir] Created dir: /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc [mkdir] Created dir: /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/classes [pcompile] Generating 7 resource files to /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc [copy] Copying 1 file to /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc [pcompile] Generating 1 resource files to /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc [javac] Compiling 335 source files to /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/classes [javac] /java/embedded/users/dh198349/build-infra/langtools/src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java:79: warning: [rawtypes] found raw type: Set [javac] final Set[] core_srcs = (Set[])new Set[num_cores]; [javac] ^ [javac] missing type arguments for generic class Set [javac] where E is a type-variable: [javac] E extends Object declared in interface Set [javac] /java/embedded/users/dh198349/build-infra/langtools/src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java:79: warning: [unchecked] unchecked cast [javac] final Set[] core_srcs = (Set[])new Set[num_cores]; [javac] ^ [javac] required: Set[] [javac] found: Set[] [javac] error: warnings found and -Werror specified [javac] 1 error [javac] 2 warnings BUILD FAILED /java/embedded/users/dh198349/build-infra/langtools/make/build.xml:492: The following error occurred while executing this line: /java/embedded/users/dh198349/build-infra/langtools/make/build.xml:803: Compile failed; see the compiler error output for details. --- I'm assuming that in the new build warnings are not converted to errors? David From erik.joelsson at oracle.com Fri Jul 6 09:08:25 2012 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Fri, 06 Jul 2012 09:08:25 -0700 Subject: Build failure: CompileJavaPackage.java In-Reply-To: <4FF6D098.90504@oracle.com> References: <4FF6D098.90504@oracle.com> Message-ID: <4FF70D79.1020506@oracle.com> I haven't seen this, are you sure you got all the changes? /Erik On 2012-07-06 04:48, David Holmes wrote: > The sjavac changesets that were just pushed to langtools seem to have > introduced a problem with a regular build: > > build-bootstrap-javac: > [mkdir] Created dir: > /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc > [mkdir] Created dir: > /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/classes > [pcompile] Generating 7 resource files to > /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc > [copy] Copying 1 file to > /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc > [pcompile] Generating 1 resource files to > /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc > [javac] Compiling 335 source files to > /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/classes > [javac] > /java/embedded/users/dh198349/build-infra/langtools/src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java:79: > warning: [rawtypes] found raw type: Set > [javac] final Set[] core_srcs = (Set[])new > Set[num_cores]; > [javac] ^ > [javac] missing type arguments for generic class Set > [javac] where E is a type-variable: > [javac] E extends Object declared in interface Set > [javac] > /java/embedded/users/dh198349/build-infra/langtools/src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java:79: > warning: [unchecked] unchecked cast > [javac] final Set[] core_srcs = (Set[])new > Set[num_cores]; > [javac] ^ > [javac] required: Set[] > [javac] found: Set[] > [javac] error: warnings found and -Werror specified > [javac] 1 error > [javac] 2 warnings > > BUILD FAILED > /java/embedded/users/dh198349/build-infra/langtools/make/build.xml:492: The > following error occurred while executing this line: > /java/embedded/users/dh198349/build-infra/langtools/make/build.xml:803: Compile > failed; see the compiler error output for details. > > --- > > I'm assuming that in the new build warnings are not converted to errors? > > David > From erik.joelsson at oracle.com Fri Jul 6 11:54:02 2012 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Fri, 06 Jul 2012 11:54:02 -0700 Subject: Build failure: CompileJavaPackage.java In-Reply-To: <4FF70D79.1020506@oracle.com> References: <4FF6D098.90504@oracle.com> <4FF70D79.1020506@oracle.com> Message-ID: <4FF7344A.5070204@oracle.com> Ah, I see now, it's in the old build where -Werror is enabled. This needs to be fixed. /Erik On 2012-07-06 09:08, Erik Joelsson wrote: > I haven't seen this, are you sure you got all the changes? > > /Erik > > On 2012-07-06 04:48, David Holmes wrote: >> The sjavac changesets that were just pushed to langtools seem to have >> introduced a problem with a regular build: >> >> build-bootstrap-javac: >> [mkdir] Created dir: >> /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc >> [mkdir] Created dir: >> /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/classes >> [pcompile] Generating 7 resource files to >> /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc >> [copy] Copying 1 file to >> /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc >> [pcompile] Generating 1 resource files to >> /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/gensrc >> [javac] Compiling 335 source files to >> /java/embedded/users/dh198349/build-infra/builds/b00/linux-i586-ea/langtools/build/bootstrap/classes >> [javac] >> /java/embedded/users/dh198349/build-infra/langtools/src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java:79: >> warning: [rawtypes] found raw type: Set >> [javac] final Set[] core_srcs = (Set[])new >> Set[num_cores]; >> [javac] ^ >> [javac] missing type arguments for generic class Set >> [javac] where E is a type-variable: >> [javac] E extends Object declared in interface Set >> [javac] >> /java/embedded/users/dh198349/build-infra/langtools/src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java:79: >> warning: [unchecked] unchecked cast >> [javac] final Set[] core_srcs = (Set[])new >> Set[num_cores]; >> [javac] ^ >> [javac] required: Set[] >> [javac] found: Set[] >> [javac] error: warnings found and -Werror specified >> [javac] 1 error >> [javac] 2 warnings >> >> BUILD FAILED >> /java/embedded/users/dh198349/build-infra/langtools/make/build.xml:492: >> The following error occurred while executing this line: >> /java/embedded/users/dh198349/build-infra/langtools/make/build.xml:803: >> Compile failed; see the compiler error output for details. >> >> --- >> >> I'm assuming that in the new build warnings are not converted to errors? >> >> David >> > From erik.joelsson at oracle.com Fri Jul 6 14:45:08 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Fri, 06 Jul 2012 21:45:08 +0000 Subject: hg: build-infra/jdk8/langtools: Fixed warning in CompileJavaPackage.java. Added same warning level to new build as old bulid has. Message-ID: <20120706214513.D016F47DE9@hg.openjdk.java.net> Changeset: 04d0d3e7a298 Author: erikj Date: 2012-07-06 23:44 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/04d0d3e7a298 Fixed warning in CompileJavaPackage.java. Added same warning level to new build as old bulid has. ! makefiles/Makefile ! src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java From david.holmes at oracle.com Mon Jul 9 01:00:02 2012 From: david.holmes at oracle.com (David Holmes) Date: Mon, 09 Jul 2012 18:00:02 +1000 Subject: Partial rebuilds? In-Reply-To: <4FECE5F8.8060908@oracle.com> References: <4FEBE707.7040401@oracle.com> <4FECD3C5.3090603@oracle.com> <4FECE5F8.8060908@oracle.com> Message-ID: <4FFA8F82.6010706@oracle.com> Actually I don't need to do it this way at all. Today I discovered the *-only targets. So I can just do "cd $OUTPUTDIR && make hotspot-only" Now if only there were clean-*-only targets. I changed a hotspot makefile and needed to rebuild and of course it didn't. So I deleted $OUTPUTDIR/hotspot, which of course caused a rebuild, but in the process broke other things - specifically the rest of the build was unhappy that hotspot/dist got deleted. So I had to do a full clean and rebuilt anyway. Cheers, David On 29/06/2012 9:17 AM, Erik Joelsson wrote: > I haven't tried this, but if you add SPEC=/path/to/spec.gmk to the > hotspot make line it should work. > > /Erik > > On 2012-06-28 14:59, David Holmes wrote: >> On 29/06/2012 7:35 AM, Kelly O'Hair wrote: >>> make all >>> >>> make -C hotspot/make clean >>> make all >>> >>> ??? >> >> That doesn't actually work for hotspot. It doesn't seem know about the >> settings in spec.gmk if you do "-C hotspot/make ". >> >> Right now if I want to do a full or partial build I invoke make in the >> /make directory. With the new build a top-level make is done by >> going to the and running make. So in the >> new build, assuming -C hotspot/make worked I have to determine whether >> I need to be in the output directory or the source directory to invoke >> make. :( >> >> David >> >>> >>> -kto >>> >>> On Jun 27, 2012, at 10:09 PM, David Holmes wrote: >>> >>>> With the old build I can do: >>>> >>>> make all >>>> >>>> make -C hotspot/make clean product >>>> >>>> and so only rebuild hotspot. >>>> >>>> I don't see a way to do that with the new build. Is there one? >>>> >>>> Thanks, >>>> David >>> > From erik.joelsson at oracle.com Mon Jul 9 08:40:14 2012 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Mon, 09 Jul 2012 08:40:14 -0700 Subject: Partial rebuilds? In-Reply-To: <4FFA8F82.6010706@oracle.com> References: <4FEBE707.7040401@oracle.com> <4FECD3C5.3090603@oracle.com> <4FECE5F8.8060908@oracle.com> <4FFA8F82.6010706@oracle.com> Message-ID: <4FFAFB5E.1040101@oracle.com> On 2012-07-09 01:00, David Holmes wrote: > Actually I don't need to do it this way at all. Today I discovered the > *-only targets. So I can just do "cd $OUTPUTDIR && make hotspot-only" > > Now if only there were clean-*-only targets. I changed a hotspot > makefile and needed to rebuild and of course it didn't. So I deleted > $OUTPUTDIR/hotspot, which of course caused a rebuild, but in the > process broke other things - specifically the rest of the build was > unhappy that hotspot/dist got deleted. So I had to do a full clean and > rebuilt anyway. > I'm sure we can improve on the behavior in these cases. I would expect deleting $OUTPUTDIR/hotspot to work pretty well. /Erik From kelly.ohair at oracle.com Mon Jul 9 15:12:48 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Mon, 9 Jul 2012 15:12:48 -0700 Subject: jdk8 makefile changes In-Reply-To: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> Message-ID: <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> The jdk8/build forest has been in sync for a few days, so anyone willing to try the new build system with OpenJDK 8, please follow these instructions: hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build cd jdk8-build sh ./get_source.sh cd common/makefiles ../autoconf/configure make images Let us know what works, what doesn't. Many of us will be concentrating on binary comparisons over the next few days to insure that we are building everything we did before, and the same content. -kto On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: > > Heads up... > > We expect to do a sync up of the jdk8/build forest with the latest in the build-infra forest in the next few days. > > As the new build-infra project starts getting more solid and we contemplate when we can switch > the default to building with the new build-infra Makefiles (we don't know exactly when yet). > > **** IMPORTANT NOTICE **** > It will be important that *anyone* making *any* changes to the jdk8 Makefiles keep the build-dev > or build-infra mailing lists informed. > For a period of time we need to maintain two separate build mechanisms, and we want to make sure > that both build the same thing. > The hotspot repository is the one exception where we don't have two sets of makefiles, but we still > would like to know when anyone is changing the makefiles or anything to do with the build process. > ***************************** > > We will soon be running both builds and doing comparisons of the resulting j2sdk-image files from > both to insure we match. So if we detect differences we will be tracking down how those differences > happened (that's a hint that we will be watching :^). > > More information on the new build-infra Makefiles can be found at: > http://openjdk.java.net/projects/build-infra/ > > User Guide is at: > http://openjdk.java.net/projects/build-infra/guide.html > > Some preliminary timings for building the product image (effectively, build/j2sdk-image/): > OLD NEW build-infra times (All estimates, similar VMs/Zones) > linux_i586 (21m 59s) (08m 13s) > linux_x64 (13m 34s) (07m 04s) > solaris_i586 (26m 14s) (11m 31s) > solaris_sparc (54m 02s) (28m 21s) > windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses CYGWIN) > windows_x64 (36m 36s) (23m 50s) " " " > > Notes: > * Machines with more processors will reduce the build time for build-infra builds, less so with the old Makefiles. > * Always use local disk or /tmp (all above timings use /tmp, always local disk) > * Above uses VMs for Windows and Linux, raw hardware would be faster > * Use of ccache can sometimes speed things up, but can also skew the timings, > in the above measurements OLD used ccache, NEW did not. > > -kto From david.holmes at oracle.com Mon Jul 9 16:44:47 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 10 Jul 2012 09:44:47 +1000 Subject: jdk8 makefile changes In-Reply-To: <4FFB68D6.4050205@redhat.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB68D6.4050205@redhat.com> Message-ID: <4FFB6CEF.5010804@oracle.com> Hi Omair, The static vs dynamic link check that you see is only in place for the JDK libraries not hotspot. For hotspot (which has not been modified as part of the build-infra project) you still need to pass STATIC_CXX=false as a make variable on the make invocation. David ----- On 10/07/2012 9:27 AM, Omair Majid wrote: > Hi Kelly, > > On 07/09/2012 06:12 PM, Kelly O'Hair wrote: >> The jdk8/build forest has been in sync for a few days, so anyone willing to try the new build system with OpenJDK 8, please >> follow these instructions: >> >> hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build >> cd jdk8-build >> sh ./get_source.sh >> cd common/makefiles >> ../autoconf/configure >> make images >> >> Let us know what works, what doesn't. > > I tried it out and ran into a bit of a snag: > > $ bash ../autoconf/configure > checking for readlink... /usr/bin/readlink > checking for apt-get... no > checking for yum... yum > checking for grep that handles long lines and -e... /usr/bin/grep > checking for gawk... gawk > > [ snip ] > > checking if dynamic link of stdc++ is possible... yes > checking if static link of stdc++ is possible... no > configure: Static linking of libstdc++ was not possible reverting to > dynamic linking. > checking how to link with libstdc++... dynamic > > [ snip ] > ==================================================== > A new configuration has been successfully created in > /home/omajid/devel/jdk8-build/build/linux-x64-normal-server-release > using default settings. > > Configuration summary: > * Debug level: release > * JDK variant: normal > * JVM variants: server > * OpenJDK target: OS: linux, CPU architecture: x86, address length: 64 > * Boot JDK: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3.x86_64 > > Build performance summary: > * Cores to use: 4 > * Memory limit: 3753 MB > * ccache status: not installed (consider installing) > > Build performance tip: ccache gives a tremendous speedup for C++ > recompilations. > You do not have ccache installed. Try installing it. > You might be able to fix this by running 'sudo yum install ccache'. > $ make images > Building OpenJDK for target 'images' in configuration > 'linux-x64-normal-server-release' > > [ snip ] > > Compiling > /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/workgroup.cpp > Compiling > /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/xmlstream.cpp > Compiling > /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp > Making signal interposition lib... > Making SA debugger back-end... > Compiling > /home/omajid/devel/jdk8-build/hotspot/src/share/vm/runtime/vm_version.cpp > Linking vm... > /usr/bin/ld: cannot find -lstdc++ > collect2: error: ld returned 1 exit status > ln: accessing `libjvm.so.1': Too many levels of symbolic links > /usr/bin/chcon: failed to get security context of `libjvm.so': Too many > levels of symbolic links > ERROR: Cannot chcon libjvm.so > /usr/bin/objcopy: Warning: could not locate 'libjvm.so'. reason: Too > many levels of symbolic links > make[5]: *** [libjvm.so] Error 1 > make[4]: *** [the_vm] Error 2 > make[3]: *** [product] Error 2 > make[2]: *** [generic_build2] Error 2 > make[1]: *** [product] Error 2 > make: *** [hotspot-only] Error 2 > > As you can tell, I don not have static c++ linking available, but > linking dynamically is failing too. I have built other variants of > openjdk 7 and 8 on this machine before using dynamic linking > (STATIC_CXX=false), so I was expecting this to work. Is there any > additional information I can provide to help? > > Thanks, > Omair From david.holmes at oracle.com Mon Jul 9 17:20:09 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 10 Jul 2012 10:20:09 +1000 Subject: jdk8 makefile changes In-Reply-To: <4FFB6E8D.1010409@oracle.COM> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB6E8D.1010409@oracle.COM> Message-ID: <4FFB7539.5070309@oracle.com> On 10/07/2012 9:51 AM, Kumar Srinivasan wrote: > On windows, I see a failure when building hotspot, as as follows. > Kumar > > link.exe /SAFESEH /manifest kernel32.lib user32.lib gdi32.lib > winspool.lib codlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib > Wsock32.lib winmm.lib /nologo /machine:I386 /opt:REF /opt:ICF,8 /map /debug > psapi.lib /subystem:console /out:adlc.exe main.obj adlparse.obj archDesc.obj arena.obj > dfa.ob dict2.obj filebuff.obj forms.obj formsopt.obj formssel.obj opcodes.obj > output_.obj output_h.obj > /usr/bin/link: extra operand `kernel32.lib' It looks like it is trying to run the GNU link command instead of the Visual Studio one. David ----- > Try `/usr/bin/link --help' for more information. > NMAKE : fatal error U1077: > 'C:\WORKSP~1\JDK8-B~1\build\WINDOW~1\UNCYGD~1.EXE' : > return code '0x1' > Stop. > NMAKE : fatal error U1077: 'cd' : return code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files\MSVS10\VC\BIN\nmake.EXE"' > : retur > code '0x2' > Stop. > make[2]: *** [generic_build2] Error 2 > make[1]: *** [product] Error 2 > make: *** [hotspot-only] Error 2 >> The jdk8/build forest has been in sync for a few days, so anyone >> willing to try the new build system with OpenJDK 8, please >> follow these instructions: >> >> hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build >> cd jdk8-build >> sh ./get_source.sh >> cd common/makefiles >> ../autoconf/configure >> make images >> >> Let us know what works, what doesn't. >> >> Many of us will be concentrating on binary comparisons over the next >> few days to insure that we are building >> everything we did before, and the same content. >> >> -kto >> >> On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: >> >>> Heads up... >>> >>> We expect to do a sync up of the jdk8/build forest with the latest in >>> the build-infra forest in the next few days. >>> >>> As the new build-infra project starts getting more solid and we >>> contemplate when we can switch >>> the default to building with the new build-infra Makefiles (we don't >>> know exactly when yet). >>> >>> **** IMPORTANT NOTICE **** >>> It will be important that *anyone* making *any* changes to the jdk8 >>> Makefiles keep the build-dev >>> or build-infra mailing lists informed. >>> For a period of time we need to maintain two separate build >>> mechanisms, and we want to make sure >>> that both build the same thing. >>> The hotspot repository is the one exception where we don't have two >>> sets of makefiles, but we still >>> would like to know when anyone is changing the makefiles or anything >>> to do with the build process. >>> ***************************** >>> >>> We will soon be running both builds and doing comparisons of the >>> resulting j2sdk-image files from >>> both to insure we match. So if we detect differences we will be >>> tracking down how those differences >>> happened (that's a hint that we will be watching :^). >>> >>> More information on the new build-infra Makefiles can be found at: >>> http://openjdk.java.net/projects/build-infra/ >>> >>> User Guide is at: >>> http://openjdk.java.net/projects/build-infra/guide.html >>> >>> Some preliminary timings for building the product image (effectively, >>> build/j2sdk-image/): >>> OLD NEW build-infra times (All estimates, similar VMs/Zones) >>> linux_i586 (21m 59s) (08m 13s) >>> linux_x64 (13m 34s) (07m 04s) >>> solaris_i586 (26m 14s) (11m 31s) >>> solaris_sparc (54m 02s) (28m 21s) >>> windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses >>> CYGWIN) >>> windows_x64 (36m 36s) (23m 50s) " " " >>> >>> Notes: >>> * Machines with more processors will reduce the build time for >>> build-infra builds, less so with the old Makefiles. >>> * Always use local disk or /tmp (all above timings use /tmp, always >>> local disk) >>> * Above uses VMs for Windows and Linux, raw hardware would be faster >>> * Use of ccache can sometimes speed things up, but can also skew the >>> timings, >>> in the above measurements OLD used ccache, NEW did not. >>> >>> -kto > From david.holmes at oracle.com Mon Jul 9 18:04:40 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 10 Jul 2012 11:04:40 +1000 Subject: jdk8 makefile changes In-Reply-To: <4FFB7E64.5010507@oracle.COM> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB6E8D.1010409@oracle.COM> <4FFB7539.5070309@oracle.com> <4FFB7E64.5010507@oracle.COM> Message-ID: <4FFB7FA8.9040109@oracle.com> On 10/07/2012 10:59 AM, Kumar Srinivasan wrote: > nOn 7/9/2012 5:20 PM, David Holmes wrote: >> On 10/07/2012 9:51 AM, Kumar Srinivasan wrote: >>> On windows, I see a failure when building hotspot, as as follows. >>> Kumar >>> >>> link.exe /SAFESEH /manifest kernel32.lib user32.lib gdi32.lib >>> winspool.lib codlg32.lib advapi32.lib shell32.lib ole32.lib >>> oleaut32.lib uuid.lib >>> Wsock32.lib winmm.lib /nologo /machine:I386 /opt:REF /opt:ICF,8 /map >>> /debug >>> psapi.lib /subystem:console /out:adlc.exe main.obj adlparse.obj >>> archDesc.obj arena.obj >>> dfa.ob dict2.obj filebuff.obj forms.obj formsopt.obj formssel.obj >>> opcodes.obj >>> output_.obj output_h.obj >>> /usr/bin/link: extra operand `kernel32.lib' >> >> It looks like it is trying to run the GNU link command instead of the >> Visual Studio one. > one other clue, VS10 is not in its standard install location, setting > the path to the VS's link > does not help, so autoconf has inferred the wrong path it seems. config.log will tell you what configure did and did not do. I don't know if Windows builds are supposed to work yet :) But again hotspot is largely untouched so however you had to set things up to build hotspot before, you will likely still need to do now. David ----- > Kumar > > >> >> David >> ----- >> >> >>> Try `/usr/bin/link --help' for more information. >>> NMAKE : fatal error U1077: >>> 'C:\WORKSP~1\JDK8-B~1\build\WINDOW~1\UNCYGD~1.EXE' : >>> return code '0x1' >>> Stop. >>> NMAKE : fatal error U1077: 'cd' : return code '0x2' >>> Stop. >>> NMAKE : fatal error U1077: '"C:\Program Files\MSVS10\VC\BIN\nmake.EXE"' >>> : retur >>> code '0x2' >>> Stop. >>> make[2]: *** [generic_build2] Error 2 >>> make[1]: *** [product] Error 2 >>> make: *** [hotspot-only] Error 2 >>>> The jdk8/build forest has been in sync for a few days, so anyone >>>> willing to try the new build system with OpenJDK 8, please >>>> follow these instructions: >>>> >>>> hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build >>>> cd jdk8-build >>>> sh ./get_source.sh >>>> cd common/makefiles >>>> ../autoconf/configure >>>> make images >>>> >>>> Let us know what works, what doesn't. >>>> >>>> Many of us will be concentrating on binary comparisons over the next >>>> few days to insure that we are building >>>> everything we did before, and the same content. >>>> >>>> -kto >>>> >>>> On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: >>>> >>>>> Heads up... >>>>> >>>>> We expect to do a sync up of the jdk8/build forest with the latest in >>>>> the build-infra forest in the next few days. >>>>> >>>>> As the new build-infra project starts getting more solid and we >>>>> contemplate when we can switch >>>>> the default to building with the new build-infra Makefiles (we don't >>>>> know exactly when yet). >>>>> >>>>> **** IMPORTANT NOTICE **** >>>>> It will be important that *anyone* making *any* changes to the jdk8 >>>>> Makefiles keep the build-dev >>>>> or build-infra mailing lists informed. >>>>> For a period of time we need to maintain two separate build >>>>> mechanisms, and we want to make sure >>>>> that both build the same thing. >>>>> The hotspot repository is the one exception where we don't have two >>>>> sets of makefiles, but we still >>>>> would like to know when anyone is changing the makefiles or anything >>>>> to do with the build process. >>>>> ***************************** >>>>> >>>>> We will soon be running both builds and doing comparisons of the >>>>> resulting j2sdk-image files from >>>>> both to insure we match. So if we detect differences we will be >>>>> tracking down how those differences >>>>> happened (that's a hint that we will be watching :^). >>>>> >>>>> More information on the new build-infra Makefiles can be found at: >>>>> http://openjdk.java.net/projects/build-infra/ >>>>> >>>>> User Guide is at: >>>>> http://openjdk.java.net/projects/build-infra/guide.html >>>>> >>>>> Some preliminary timings for building the product image (effectively, >>>>> build/j2sdk-image/): >>>>> OLD NEW build-infra times (All estimates, similar VMs/Zones) >>>>> linux_i586 (21m 59s) (08m 13s) >>>>> linux_x64 (13m 34s) (07m 04s) >>>>> solaris_i586 (26m 14s) (11m 31s) >>>>> solaris_sparc (54m 02s) (28m 21s) >>>>> windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses >>>>> CYGWIN) >>>>> windows_x64 (36m 36s) (23m 50s) " " " >>>>> >>>>> Notes: >>>>> * Machines with more processors will reduce the build time for >>>>> build-infra builds, less so with the old Makefiles. >>>>> * Always use local disk or /tmp (all above timings use /tmp, always >>>>> local disk) >>>>> * Above uses VMs for Windows and Linux, raw hardware would be faster >>>>> * Use of ccache can sometimes speed things up, but can also skew the >>>>> timings, >>>>> in the above measurements OLD used ccache, NEW did not. >>>>> >>>>> -kto >>> > From david.holmes at oracle.com Mon Jul 9 18:19:59 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 10 Jul 2012 11:19:59 +1000 Subject: jdk8 makefile changes In-Reply-To: <4FFB7FE4.8090506@redhat.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB68D6.4050205@redhat.com> <4FFB6CEF.5010804@oracle.com> <4FFB7FE4.8090506@redhat.com> Message-ID: <4FFB833F.7040908@oracle.com> On 10/07/2012 11:05 AM, Omair Majid wrote: > On 07/09/2012 07:44 PM, David Holmes wrote: >> Hi Omair, >> >> The static vs dynamic link check that you see is only in place for the >> JDK libraries not hotspot. For hotspot (which has not been modified as >> part of the build-infra project) you still need to pass STATIC_CXX=false >> as a make variable on the make invocation. > > Ah, false alarm then. Please ignore :) Not a false alarm at all - we need to document these issues :) > And yes, "make images STATIC_CXX=false" makes the build work for me. Excellent. Note I'm not part of the build-infra project just an end-user :) Cheers, David > Thanks, > Omair > > From david.holmes at oracle.com Mon Jul 9 19:24:14 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 10 Jul 2012 12:24:14 +1000 Subject: jdk8 makefile changes In-Reply-To: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> Message-ID: <4FFB924E.6030603@oracle.com> Hi Kelly, The full debug symbol support seems to have issues. In the old build we use ENABLE_FULL_DEBUG_SYMBOLS in both the JDK and Hotspot. In the new build we have ENABLE_DEBUG_SYMBOLS instead. This name difference means hotspot and the JDK are using different "flags" to control the same thing. :( David ----- On 4/07/2012 4:38 AM, Kelly O'Hair wrote: > > Heads up... > > We expect to do a sync up of the jdk8/build forest with the latest in the build-infra forest in the next few days. > > As the new build-infra project starts getting more solid and we contemplate when we can switch > the default to building with the new build-infra Makefiles (we don't know exactly when yet). > > **** IMPORTANT NOTICE **** > It will be important that *anyone* making *any* changes to the jdk8 Makefiles keep the build-dev > or build-infra mailing lists informed. > For a period of time we need to maintain two separate build mechanisms, and we want to make sure > that both build the same thing. > The hotspot repository is the one exception where we don't have two sets of makefiles, but we still > would like to know when anyone is changing the makefiles or anything to do with the build process. > ***************************** > > We will soon be running both builds and doing comparisons of the resulting j2sdk-image files from > both to insure we match. So if we detect differences we will be tracking down how those differences > happened (that's a hint that we will be watching :^). > > More information on the new build-infra Makefiles can be found at: > http://openjdk.java.net/projects/build-infra/ > > User Guide is at: > http://openjdk.java.net/projects/build-infra/guide.html > > Some preliminary timings for building the product image (effectively, build/j2sdk-image/): > OLD NEW build-infra times (All estimates, similar VMs/Zones) > linux_i586 (21m 59s) (08m 13s) > linux_x64 (13m 34s) (07m 04s) > solaris_i586 (26m 14s) (11m 31s) > solaris_sparc (54m 02s) (28m 21s) > windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses CYGWIN) > windows_x64 (36m 36s) (23m 50s) " " " > > Notes: > * Machines with more processors will reduce the build time for build-infra builds, less so with the old Makefiles. > * Always use local disk or /tmp (all above timings use /tmp, always local disk) > * Above uses VMs for Windows and Linux, raw hardware would be faster > * Use of ccache can sometimes speed things up, but can also skew the timings, > in the above measurements OLD used ccache, NEW did not. > > -kto From fredrik.ohrstrom at oracle.com Tue Jul 10 02:43:54 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 10 Jul 2012 09:43:54 +0000 Subject: hg: build-infra/jdk8/jdk: Disable sjavac for some jobjc code until we have understood why it fails to compile. Message-ID: <20120710094441.0204F47ED6@hg.openjdk.java.net> Changeset: 2f64fb0762f2 Author: ohrstrom Date: 2012-07-10 11:43 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/2f64fb0762f2 Disable sjavac for some jobjc code until we have understood why it fails to compile. ! makefiles/CompileJavaClasses.gmk ! makefiles/GensrcJObjC.gmk From fredrik.ohrstrom at oracle.com Tue Jul 10 02:45:46 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 10 Jul 2012 09:45:46 +0000 Subject: hg: build-infra/jdk8/langtools: Make sure the same server is used from all client threads. Message-ID: <20120710094553.2F41C47ED9@hg.openjdk.java.net> Changeset: 2131bbf55523 Author: ohrstrom Date: 2012-07-10 11:42 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/2131bbf55523 Make sure the same server is used from all client threads. ! src/share/classes/com/sun/tools/javac/server/JavacServer.java From fredrik.ohrstrom at oracle.com Tue Jul 10 02:56:29 2012 From: fredrik.ohrstrom at oracle.com (=?iso-8859-1?Q?Fredrik_=D6hrstr=F6m?=) Date: Tue, 10 Jul 2012 11:56:29 +0200 Subject: jdk8 makefile changes In-Reply-To: <4FFB7FE4.8090506@redhat.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB68D6.4050205@redhat.com> <4FFB6CEF.5010804@oracle.com> <4FFB7FE4.8090506@redhat.com> Message-ID: <7B1A130E-5293-4EB3-9EEC-697BBA749BB1@oracle.com> The configure script does set a few variables in the spec.gmk file that is used but the hotspot repo. (It does read the spec.gmk file) We did forget about STATIC_CXX though, it should be added to spec.gmk and set appropriately, then the hotspot makefile that looks at it should be adjusted, because now it only allows STATIC_CXX to be set using the command line. //Fredrik 10 jul 2012 kl. 03:05 skrev Omair Majid: > On 07/09/2012 07:44 PM, David Holmes wrote: >> Hi Omair, >> >> The static vs dynamic link check that you see is only in place for the >> JDK libraries not hotspot. For hotspot (which has not been modified as >> part of the build-infra project) you still need to pass STATIC_CXX=false >> as a make variable on the make invocation. > > Ah, false alarm then. Please ignore :) > > And yes, "make images STATIC_CXX=false" makes the build work for me. > > Thanks, > Omair > > From fredrik.ohrstrom at oracle.com Tue Jul 10 03:36:45 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 10 Jul 2012 10:36:45 +0000 Subject: hg: build-infra/jdk8/langtools: Add syncs to avoid OverlappingFileLockException Message-ID: <20120710103648.39B0547EE9@hg.openjdk.java.net> Changeset: faf3d0800712 Author: ohrstrom Date: 2012-07-10 12:36 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/faf3d0800712 Add syncs to avoid OverlappingFileLockException ! src/share/classes/com/sun/tools/javac/server/JavacServer.java From fredrik.ohrstrom at oracle.com Tue Jul 10 06:49:56 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 10 Jul 2012 13:49:56 +0000 Subject: hg: build-infra/jdk8: Use a single server for all sjavac compilations. Message-ID: <20120710134956.EEB6947EF4@hg.openjdk.java.net> Changeset: 98fc608cac16 Author: ohrstrom Date: 2012-07-10 15:43 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/98fc608cac16 Use a single server for all sjavac compilations. ! common/makefiles/JavaCompilation.gmk From fredrik.ohrstrom at oracle.com Tue Jul 10 11:49:29 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 10 Jul 2012 18:49:29 +0000 Subject: hg: build-infra/jdk8: 2 new changesets Message-ID: <20120710184929.C902A47F07@hg.openjdk.java.net> Changeset: a97c57ba6ad1 Author: ohrstrom Date: 2012-07-10 20:30 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/a97c57ba6ad1 Simplifying the JavaCompilation.gmk makefile now that we have a working sjavac. ! common/makefiles/JavaCompilation.gmk Changeset: 9d00db5762ee Author: ohrstrom Date: 2012-07-10 20:49 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/9d00db5762ee Cleaning up. ! common/makefiles/JavaCompilation.gmk From fredrik.ohrstrom at oracle.com Tue Jul 10 11:50:58 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 10 Jul 2012 18:50:58 +0000 Subject: hg: build-infra/jdk8/jdk: Renaming NOSJAVAC to DISABLE_SJAVAC Message-ID: <20120710185117.7924947F08@hg.openjdk.java.net> Changeset: de7f098a7600 Author: ohrstrom Date: 2012-07-10 20:49 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/de7f098a7600 Renaming NOSJAVAC to DISABLE_SJAVAC ! makefiles/CompileDemos.gmk ! makefiles/CompileJavaClasses.gmk ! makefiles/GendataBreakIterator.gmk ! makefiles/GensrcJObjC.gmk From fredrik.ohrstrom at oracle.com Tue Jul 10 11:51:32 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 10 Jul 2012 18:51:32 +0000 Subject: hg: build-infra/jdk8/langtools: Rename NOSJAVAC to DISABLE_SJAVAC Message-ID: <20120710185136.9DAA147F0A@hg.openjdk.java.net> Changeset: 73ec374e6725 Author: ohrstrom Date: 2012-07-10 20:49 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/73ec374e6725 Rename NOSJAVAC to DISABLE_SJAVAC ! makefiles/Makefile From fredrik.ohrstrom at oracle.com Tue Jul 10 14:37:27 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 10 Jul 2012 21:37:27 +0000 Subject: hg: build-infra/jdk8/langtools: Improving log information when compiling using sjavac. Message-ID: <20120710213731.530BD47F19@hg.openjdk.java.net> Changeset: f27dc9ff568c Author: ohrstrom Date: 2012-07-10 23:36 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/f27dc9ff568c Improving log information when compiling using sjavac. ! src/share/classes/com/sun/tools/javac/smart/BuildState.java ! src/share/classes/com/sun/tools/javac/smart/CleanProperties.java - src/share/classes/com/sun/tools/javac/smart/CompileJavaPackage.java + src/share/classes/com/sun/tools/javac/smart/CompileJavaPackages.java ! src/share/classes/com/sun/tools/javac/smart/CompileProperties.java ! src/share/classes/com/sun/tools/javac/smart/CopyFile.java ! src/share/classes/com/sun/tools/javac/smart/JavacState.java ! src/share/classes/com/sun/tools/javac/smart/Main.java ! src/share/classes/com/sun/tools/javac/smart/Package.java ! src/share/classes/com/sun/tools/javac/smart/Transformer.java ! src/share/classes/com/sun/tools/javac/smart/Util.java From fredrik.ohrstrom at oracle.com Tue Jul 10 15:20:35 2012 From: fredrik.ohrstrom at oracle.com (=?iso-8859-1?Q?Fredrik_=D6hrstr=F6m?=) Date: Wed, 11 Jul 2012 00:20:35 +0200 Subject: First webrev for smart javac wrapper Message-ID: <4DE41F3C-A28A-40CD-8093-CFE24FAAA148@oracle.com> The current build-infra/jdk8 forest can now be configured using --enable-sjavac This causes the build to do proper incremental builds of Java sources (all the other sources are already properly handled when building incrementally) i.e. only the java sources that need to be compiled are actually compiled. Dependency tracking causes other packages that import from the recompiled package to be recompiled, but >only< if the public api of the first package was changed. It also attempts to use multiple cores, i.e. start a JavaCompiler per core. These compilers do currently not share any state at all! This is something that we should improve upon in the future. It spawns a background javac server in which all sjavac compilations take place. Tested on linux32, linux64 and macosx64. Building on my workstation, 8 cores, 16GB RAM, SSD, fully primed ccache. -- Build times ---------- Target Start 2012-07-10 23:39:19 End 2012-07-10 23:42:20 00:00:08 corba 00:01:10 hotspot 00:00:07 jaxp 00:00:10 jaxws 00:00:53 jdk 00:00:33 langtools 00:03:01 TOTAL ------------------------- When building with an empty ccache: -- Build times ---------- Target Start 2012-07-10 23:43:58 End 2012-07-10 23:52:57 00:00:08 corba 00:06:21 hotspot 00:00:08 jaxp 00:00:10 jaxws 00:01:38 jdk 00:00:34 langtools 00:08:59 TOTAL ------------------------- The jdk build is slower since the sjavac server shuts down because of inactivity during the hotspot build. The cost of re-optimizing the byte code is apparent. The timeout can of course be adjusted, or prevented. After you built the jdk, add a public method foo to javax/management/JMX.java and do make again. You will see (and some javac warnings, here redacted): Compiling BUILD_JDK Compiling javax.management(85) Package :javax.management pubapi has changed! Compiling com.sun.jmx.interceptor(2) com.sun.jmx.mbeanserver(31) com.sun.jmx.remote.internal(14) com.sun.jmx.remote.protocol.iiop(4) com.sun.jmx.remote.protocol.rmi(2) com.sun.jmx.remote.security(7) com.sun.jmx.remote.util(5) com.sun.tools.jconsole(2) java.lang.management(21) javax.management.loading(9) Compiling javax.management.modelmbean(12) javax.management.monitor(10) javax.management.openmbean(25) javax.management.relation(27) javax.management.remote(18) javax.management.remote.rmi(9) Compiling javax.management.timer(4) sun.management(50) sun.management.jmxremote(3) sun.tools.jconsole(35) sun.tools.jconsole.inspector(24) Compiling ClassLoadingImpl.c Compiling FileSystemImpl.c Compiling Flag.c Compiling GarbageCollectorImpl.c Compiling GcInfoBuilder.c Compiling HotSpotDiagnostic.c Compiling HotspotThread.c Compiling MemoryImpl.c Compiling MemoryManagerImpl.c Compiling MemoryPoolImpl.c Compiling ThreadImpl.c Compiling VMManagementImpl.c Linking libmanagement.so Running rmic -v1.2 -iiop for javax.management.remote.rmi.RMIConnectionImpl javax.management.remote.rmi.RMIServerImpl Running rmic -v1.2 -keepgenerated for javax.management.remote.rmi.RMIConnectionImpl javax.management.remote.rmi.RMIServerImpl Running rmic -iiop -standardPackage for javax.management.remote.rmi.RMIConnectionImpl javax.management.remote.rmi.RMIServerImpl The pubapi change in JMX.java triggered a recompilation of other packages importing from javax.management, (it does not track dependencies between java source files, only between java packages.) Then the recompiles of files with native methods, regenerate the c header files, and this triggers the recompilation of the C-sources that include these header files. Clearly in this case, the header files should not be regenerated since the native api has not changed, but that feature is waiting to be built into the smart javac file manager. (ie not write non-changed headers to disk) And finally it regenerates the rmi code related to the management api. The first webrev is here. http://cr.openjdk.java.net/~ohrstrom/webrev-2012-07-10-sjavac-v1/ Awaiting feedback to create the next webrev! Thanks! //Fredrik From kelly.ohair at oracle.com Tue Jul 10 18:06:36 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Tue, 10 Jul 2012 18:06:36 -0700 Subject: jdk8 makefile changes In-Reply-To: <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> Message-ID: <598E6B3A-1A13-4F89-B3BC-DFDB6D3E5BAB@oracle.com> A Windows tip: * On Windows, I use: make BUILD_LOG_WRAPPER= VERBOSE= The logger tricks in the new makefiles seem to give Windows/CYGWIN grief, not all the time -kto On Jul 9, 2012, at 3:12 PM, Kelly O'Hair wrote: > The jdk8/build forest has been in sync for a few days, so anyone willing to try the new build system with OpenJDK 8, please > follow these instructions: > > hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build > cd jdk8-build > sh ./get_source.sh > cd common/makefiles > ../autoconf/configure > make images > > Let us know what works, what doesn't. > > Many of us will be concentrating on binary comparisons over the next few days to insure that we are building > everything we did before, and the same content. > > -kto > > On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: > >> >> Heads up... >> >> We expect to do a sync up of the jdk8/build forest with the latest in the build-infra forest in the next few days. >> >> As the new build-infra project starts getting more solid and we contemplate when we can switch >> the default to building with the new build-infra Makefiles (we don't know exactly when yet). >> >> **** IMPORTANT NOTICE **** >> It will be important that *anyone* making *any* changes to the jdk8 Makefiles keep the build-dev >> or build-infra mailing lists informed. >> For a period of time we need to maintain two separate build mechanisms, and we want to make sure >> that both build the same thing. >> The hotspot repository is the one exception where we don't have two sets of makefiles, but we still >> would like to know when anyone is changing the makefiles or anything to do with the build process. >> ***************************** >> >> We will soon be running both builds and doing comparisons of the resulting j2sdk-image files from >> both to insure we match. So if we detect differences we will be tracking down how those differences >> happened (that's a hint that we will be watching :^). >> >> More information on the new build-infra Makefiles can be found at: >> http://openjdk.java.net/projects/build-infra/ >> >> User Guide is at: >> http://openjdk.java.net/projects/build-infra/guide.html >> >> Some preliminary timings for building the product image (effectively, build/j2sdk-image/): >> OLD NEW build-infra times (All estimates, similar VMs/Zones) >> linux_i586 (21m 59s) (08m 13s) >> linux_x64 (13m 34s) (07m 04s) >> solaris_i586 (26m 14s) (11m 31s) >> solaris_sparc (54m 02s) (28m 21s) >> windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses CYGWIN) >> windows_x64 (36m 36s) (23m 50s) " " " >> >> Notes: >> * Machines with more processors will reduce the build time for build-infra builds, less so with the old Makefiles. >> * Always use local disk or /tmp (all above timings use /tmp, always local disk) >> * Above uses VMs for Windows and Linux, raw hardware would be faster >> * Use of ccache can sometimes speed things up, but can also skew the timings, >> in the above measurements OLD used ccache, NEW did not. >> >> -kto > From kumar.x.srinivasan at oracle.COM Mon Jul 9 16:51:41 2012 From: kumar.x.srinivasan at oracle.COM (Kumar Srinivasan) Date: Mon, 09 Jul 2012 16:51:41 -0700 Subject: jdk8 makefile changes In-Reply-To: <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> Message-ID: <4FFB6E8D.1010409@oracle.COM> On windows, I see a failure when building hotspot, as as follows. Kumar link.exe /SAFESEH /manifest kernel32.lib user32.lib gdi32.lib winspool.lib co dlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib Wsock32.lib winmm.lib /nologo /machine:I386 /opt:REF /opt:ICF,8 /map /debug psapi.lib /sub ystem:console /out:adlc.exe main.obj adlparse.obj archDesc.obj arena.obj dfa.ob dict2.obj filebuff.obj forms.obj formsopt.obj formssel.obj opcodes.obj output_ .obj output_h.obj /usr/bin/link: extra operand `kernel32.lib' Try `/usr/bin/link --help' for more information. NMAKE : fatal error U1077: 'C:\WORKSP~1\JDK8-B~1\build\WINDOW~1\UNCYGD~1.EXE' : return code '0x1' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files\MSVS10\VC\BIN\nmake.EXE"' : retur code '0x2' Stop. make[2]: *** [generic_build2] Error 2 make[1]: *** [product] Error 2 make: *** [hotspot-only] Error 2 > The jdk8/build forest has been in sync for a few days, so anyone willing to try the new build system with OpenJDK 8, please > follow these instructions: > > hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build > cd jdk8-build > sh ./get_source.sh > cd common/makefiles > ../autoconf/configure > make images > > Let us know what works, what doesn't. > > Many of us will be concentrating on binary comparisons over the next few days to insure that we are building > everything we did before, and the same content. > > -kto > > On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: > >> Heads up... >> >> We expect to do a sync up of the jdk8/build forest with the latest in the build-infra forest in the next few days. >> >> As the new build-infra project starts getting more solid and we contemplate when we can switch >> the default to building with the new build-infra Makefiles (we don't know exactly when yet). >> >> **** IMPORTANT NOTICE **** >> It will be important that *anyone* making *any* changes to the jdk8 Makefiles keep the build-dev >> or build-infra mailing lists informed. >> For a period of time we need to maintain two separate build mechanisms, and we want to make sure >> that both build the same thing. >> The hotspot repository is the one exception where we don't have two sets of makefiles, but we still >> would like to know when anyone is changing the makefiles or anything to do with the build process. >> ***************************** >> >> We will soon be running both builds and doing comparisons of the resulting j2sdk-image files from >> both to insure we match. So if we detect differences we will be tracking down how those differences >> happened (that's a hint that we will be watching :^). >> >> More information on the new build-infra Makefiles can be found at: >> http://openjdk.java.net/projects/build-infra/ >> >> User Guide is at: >> http://openjdk.java.net/projects/build-infra/guide.html >> >> Some preliminary timings for building the product image (effectively, build/j2sdk-image/): >> OLD NEW build-infra times (All estimates, similar VMs/Zones) >> linux_i586 (21m 59s) (08m 13s) >> linux_x64 (13m 34s) (07m 04s) >> solaris_i586 (26m 14s) (11m 31s) >> solaris_sparc (54m 02s) (28m 21s) >> windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses CYGWIN) >> windows_x64 (36m 36s) (23m 50s) " " " >> >> Notes: >> * Machines with more processors will reduce the build time for build-infra builds, less so with the old Makefiles. >> * Always use local disk or /tmp (all above timings use /tmp, always local disk) >> * Above uses VMs for Windows and Linux, raw hardware would be faster >> * Use of ccache can sometimes speed things up, but can also skew the timings, >> in the above measurements OLD used ccache, NEW did not. >> >> -kto From kumar.x.srinivasan at oracle.COM Mon Jul 9 17:53:43 2012 From: kumar.x.srinivasan at oracle.COM (Kumar Srinivasan) Date: Mon, 09 Jul 2012 17:53:43 -0700 Subject: jdk8 makefile changes In-Reply-To: <4FFB7539.5070309@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB6E8D.1010409@oracle.COM> <4FFB7539.5070309@oracle.com> Message-ID: <4FFB7D17.4070906@oracle.COM> On 7/9/2012 5:20 PM, David Holmes wrote: > On 10/07/2012 9:51 AM, Kumar Srinivasan wrote: >> On windows, I see a failure when building hotspot, as as follows. >> Kumar >> >> link.exe /SAFESEH /manifest kernel32.lib user32.lib gdi32.lib >> winspool.lib codlg32.lib advapi32.lib shell32.lib ole32.lib >> oleaut32.lib uuid.lib >> Wsock32.lib winmm.lib /nologo /machine:I386 /opt:REF /opt:ICF,8 /map >> /debug >> psapi.lib /subystem:console /out:adlc.exe main.obj adlparse.obj >> archDesc.obj arena.obj >> dfa.ob dict2.obj filebuff.obj forms.obj formsopt.obj formssel.obj >> opcodes.obj >> output_.obj output_h.obj >> /usr/bin/link: extra operand `kernel32.lib' > > It looks like it is trying to run the GNU link command instead of the > Visual Studio one. Right shouldn't the makefile pick it up from $VSINSTALLDIR/VC/bin/link.exe ? Kumar > > David > ----- > > >> Try `/usr/bin/link --help' for more information. >> NMAKE : fatal error U1077: >> 'C:\WORKSP~1\JDK8-B~1\build\WINDOW~1\UNCYGD~1.EXE' : >> return code '0x1' >> Stop. >> NMAKE : fatal error U1077: 'cd' : return code '0x2' >> Stop. >> NMAKE : fatal error U1077: '"C:\Program Files\MSVS10\VC\BIN\nmake.EXE"' >> : retur >> code '0x2' >> Stop. >> make[2]: *** [generic_build2] Error 2 >> make[1]: *** [product] Error 2 >> make: *** [hotspot-only] Error 2 >>> The jdk8/build forest has been in sync for a few days, so anyone >>> willing to try the new build system with OpenJDK 8, please >>> follow these instructions: >>> >>> hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build >>> cd jdk8-build >>> sh ./get_source.sh >>> cd common/makefiles >>> ../autoconf/configure >>> make images >>> >>> Let us know what works, what doesn't. >>> >>> Many of us will be concentrating on binary comparisons over the next >>> few days to insure that we are building >>> everything we did before, and the same content. >>> >>> -kto >>> >>> On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: >>> >>>> Heads up... >>>> >>>> We expect to do a sync up of the jdk8/build forest with the latest in >>>> the build-infra forest in the next few days. >>>> >>>> As the new build-infra project starts getting more solid and we >>>> contemplate when we can switch >>>> the default to building with the new build-infra Makefiles (we don't >>>> know exactly when yet). >>>> >>>> **** IMPORTANT NOTICE **** >>>> It will be important that *anyone* making *any* changes to the jdk8 >>>> Makefiles keep the build-dev >>>> or build-infra mailing lists informed. >>>> For a period of time we need to maintain two separate build >>>> mechanisms, and we want to make sure >>>> that both build the same thing. >>>> The hotspot repository is the one exception where we don't have two >>>> sets of makefiles, but we still >>>> would like to know when anyone is changing the makefiles or anything >>>> to do with the build process. >>>> ***************************** >>>> >>>> We will soon be running both builds and doing comparisons of the >>>> resulting j2sdk-image files from >>>> both to insure we match. So if we detect differences we will be >>>> tracking down how those differences >>>> happened (that's a hint that we will be watching :^). >>>> >>>> More information on the new build-infra Makefiles can be found at: >>>> http://openjdk.java.net/projects/build-infra/ >>>> >>>> User Guide is at: >>>> http://openjdk.java.net/projects/build-infra/guide.html >>>> >>>> Some preliminary timings for building the product image (effectively, >>>> build/j2sdk-image/): >>>> OLD NEW build-infra times (All estimates, similar VMs/Zones) >>>> linux_i586 (21m 59s) (08m 13s) >>>> linux_x64 (13m 34s) (07m 04s) >>>> solaris_i586 (26m 14s) (11m 31s) >>>> solaris_sparc (54m 02s) (28m 21s) >>>> windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses >>>> CYGWIN) >>>> windows_x64 (36m 36s) (23m 50s) " " " >>>> >>>> Notes: >>>> * Machines with more processors will reduce the build time for >>>> build-infra builds, less so with the old Makefiles. >>>> * Always use local disk or /tmp (all above timings use /tmp, always >>>> local disk) >>>> * Above uses VMs for Windows and Linux, raw hardware would be faster >>>> * Use of ccache can sometimes speed things up, but can also skew the >>>> timings, >>>> in the above measurements OLD used ccache, NEW did not. >>>> >>>> -kto >> From kumar.x.srinivasan at oracle.COM Mon Jul 9 17:59:16 2012 From: kumar.x.srinivasan at oracle.COM (Kumar Srinivasan) Date: Mon, 09 Jul 2012 17:59:16 -0700 Subject: jdk8 makefile changes In-Reply-To: <4FFB7539.5070309@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB6E8D.1010409@oracle.COM> <4FFB7539.5070309@oracle.com> Message-ID: <4FFB7E64.5010507@oracle.COM> nOn 7/9/2012 5:20 PM, David Holmes wrote: > On 10/07/2012 9:51 AM, Kumar Srinivasan wrote: >> On windows, I see a failure when building hotspot, as as follows. >> Kumar >> >> link.exe /SAFESEH /manifest kernel32.lib user32.lib gdi32.lib >> winspool.lib codlg32.lib advapi32.lib shell32.lib ole32.lib >> oleaut32.lib uuid.lib >> Wsock32.lib winmm.lib /nologo /machine:I386 /opt:REF /opt:ICF,8 /map >> /debug >> psapi.lib /subystem:console /out:adlc.exe main.obj adlparse.obj >> archDesc.obj arena.obj >> dfa.ob dict2.obj filebuff.obj forms.obj formsopt.obj formssel.obj >> opcodes.obj >> output_.obj output_h.obj >> /usr/bin/link: extra operand `kernel32.lib' > > It looks like it is trying to run the GNU link command instead of the > Visual Studio one. one other clue, VS10 is not in its standard install location, setting the path to the VS's link does not help, so autoconf has inferred the wrong path it seems. Kumar > > David > ----- > > >> Try `/usr/bin/link --help' for more information. >> NMAKE : fatal error U1077: >> 'C:\WORKSP~1\JDK8-B~1\build\WINDOW~1\UNCYGD~1.EXE' : >> return code '0x1' >> Stop. >> NMAKE : fatal error U1077: 'cd' : return code '0x2' >> Stop. >> NMAKE : fatal error U1077: '"C:\Program Files\MSVS10\VC\BIN\nmake.EXE"' >> : retur >> code '0x2' >> Stop. >> make[2]: *** [generic_build2] Error 2 >> make[1]: *** [product] Error 2 >> make: *** [hotspot-only] Error 2 >>> The jdk8/build forest has been in sync for a few days, so anyone >>> willing to try the new build system with OpenJDK 8, please >>> follow these instructions: >>> >>> hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build >>> cd jdk8-build >>> sh ./get_source.sh >>> cd common/makefiles >>> ../autoconf/configure >>> make images >>> >>> Let us know what works, what doesn't. >>> >>> Many of us will be concentrating on binary comparisons over the next >>> few days to insure that we are building >>> everything we did before, and the same content. >>> >>> -kto >>> >>> On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: >>> >>>> Heads up... >>>> >>>> We expect to do a sync up of the jdk8/build forest with the latest in >>>> the build-infra forest in the next few days. >>>> >>>> As the new build-infra project starts getting more solid and we >>>> contemplate when we can switch >>>> the default to building with the new build-infra Makefiles (we don't >>>> know exactly when yet). >>>> >>>> **** IMPORTANT NOTICE **** >>>> It will be important that *anyone* making *any* changes to the jdk8 >>>> Makefiles keep the build-dev >>>> or build-infra mailing lists informed. >>>> For a period of time we need to maintain two separate build >>>> mechanisms, and we want to make sure >>>> that both build the same thing. >>>> The hotspot repository is the one exception where we don't have two >>>> sets of makefiles, but we still >>>> would like to know when anyone is changing the makefiles or anything >>>> to do with the build process. >>>> ***************************** >>>> >>>> We will soon be running both builds and doing comparisons of the >>>> resulting j2sdk-image files from >>>> both to insure we match. So if we detect differences we will be >>>> tracking down how those differences >>>> happened (that's a hint that we will be watching :^). >>>> >>>> More information on the new build-infra Makefiles can be found at: >>>> http://openjdk.java.net/projects/build-infra/ >>>> >>>> User Guide is at: >>>> http://openjdk.java.net/projects/build-infra/guide.html >>>> >>>> Some preliminary timings for building the product image (effectively, >>>> build/j2sdk-image/): >>>> OLD NEW build-infra times (All estimates, similar VMs/Zones) >>>> linux_i586 (21m 59s) (08m 13s) >>>> linux_x64 (13m 34s) (07m 04s) >>>> solaris_i586 (26m 14s) (11m 31s) >>>> solaris_sparc (54m 02s) (28m 21s) >>>> windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only uses >>>> CYGWIN) >>>> windows_x64 (36m 36s) (23m 50s) " " " >>>> >>>> Notes: >>>> * Machines with more processors will reduce the build time for >>>> build-infra builds, less so with the old Makefiles. >>>> * Always use local disk or /tmp (all above timings use /tmp, always >>>> local disk) >>>> * Above uses VMs for Windows and Linux, raw hardware would be faster >>>> * Use of ccache can sometimes speed things up, but can also skew the >>>> timings, >>>> in the above measurements OLD used ccache, NEW did not. >>>> >>>> -kto >> From kumar.x.srinivasan at oracle.COM Tue Jul 10 07:23:36 2012 From: kumar.x.srinivasan at oracle.COM (Kumar Srinivasan) Date: Tue, 10 Jul 2012 07:23:36 -0700 Subject: jdk8 makefile changes In-Reply-To: <4FFB7FA8.9040109@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB6E8D.1010409@oracle.COM> <4FFB7539.5070309@oracle.com> <4FFB7E64.5010507@oracle.COM> <4FFB7FA8.9040109@oracle.com> Message-ID: <4FFC3AE8.4010609@oracle.COM> It looks like autoconf has messed up. From the config.log HOSTCC='C:/PROGRA~1/MSVS10/VC/BIN/cl.exe' HOSTCXX='C:/PROGRA~1/MSVS10/VC/BIN/cl.exe' HOSTLD='C:/devtools/cygwin/bin/link.exe' It has picked cl.exe correctly, oopsie on link.exe. Kumar > On 10/07/2012 10:59 AM, Kumar Srinivasan wrote: >> nOn 7/9/2012 5:20 PM, David Holmes wrote: >>> On 10/07/2012 9:51 AM, Kumar Srinivasan wrote: >>>> On windows, I see a failure when building hotspot, as as follows. >>>> Kumar >>>> >>>> link.exe /SAFESEH /manifest kernel32.lib user32.lib gdi32.lib >>>> winspool.lib codlg32.lib advapi32.lib shell32.lib ole32.lib >>>> oleaut32.lib uuid.lib >>>> Wsock32.lib winmm.lib /nologo /machine:I386 /opt:REF /opt:ICF,8 /map >>>> /debug >>>> psapi.lib /subystem:console /out:adlc.exe main.obj adlparse.obj >>>> archDesc.obj arena.obj >>>> dfa.ob dict2.obj filebuff.obj forms.obj formsopt.obj formssel.obj >>>> opcodes.obj >>>> output_.obj output_h.obj >>>> /usr/bin/link: extra operand `kernel32.lib' >>> >>> It looks like it is trying to run the GNU link command instead of the >>> Visual Studio one. >> one other clue, VS10 is not in its standard install location, setting >> the path to the VS's link >> does not help, so autoconf has inferred the wrong path it seems. > > config.log will tell you what configure did and did not do. > > I don't know if Windows builds are supposed to work yet :) But again > hotspot is largely untouched so however you had to set things up to > build hotspot before, you will likely still need to do now. > > David > ----- > > >> Kumar >> >> >>> >>> David >>> ----- >>> >>> >>>> Try `/usr/bin/link --help' for more information. >>>> NMAKE : fatal error U1077: >>>> 'C:\WORKSP~1\JDK8-B~1\build\WINDOW~1\UNCYGD~1.EXE' : >>>> return code '0x1' >>>> Stop. >>>> NMAKE : fatal error U1077: 'cd' : return code '0x2' >>>> Stop. >>>> NMAKE : fatal error U1077: '"C:\Program >>>> Files\MSVS10\VC\BIN\nmake.EXE"' >>>> : retur >>>> code '0x2' >>>> Stop. >>>> make[2]: *** [generic_build2] Error 2 >>>> make[1]: *** [product] Error 2 >>>> make: *** [hotspot-only] Error 2 >>>>> The jdk8/build forest has been in sync for a few days, so anyone >>>>> willing to try the new build system with OpenJDK 8, please >>>>> follow these instructions: >>>>> >>>>> hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build >>>>> cd jdk8-build >>>>> sh ./get_source.sh >>>>> cd common/makefiles >>>>> ../autoconf/configure >>>>> make images >>>>> >>>>> Let us know what works, what doesn't. >>>>> >>>>> Many of us will be concentrating on binary comparisons over the next >>>>> few days to insure that we are building >>>>> everything we did before, and the same content. >>>>> >>>>> -kto >>>>> >>>>> On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: >>>>> >>>>>> Heads up... >>>>>> >>>>>> We expect to do a sync up of the jdk8/build forest with the >>>>>> latest in >>>>>> the build-infra forest in the next few days. >>>>>> >>>>>> As the new build-infra project starts getting more solid and we >>>>>> contemplate when we can switch >>>>>> the default to building with the new build-infra Makefiles (we don't >>>>>> know exactly when yet). >>>>>> >>>>>> **** IMPORTANT NOTICE **** >>>>>> It will be important that *anyone* making *any* changes to the jdk8 >>>>>> Makefiles keep the build-dev >>>>>> or build-infra mailing lists informed. >>>>>> For a period of time we need to maintain two separate build >>>>>> mechanisms, and we want to make sure >>>>>> that both build the same thing. >>>>>> The hotspot repository is the one exception where we don't have two >>>>>> sets of makefiles, but we still >>>>>> would like to know when anyone is changing the makefiles or anything >>>>>> to do with the build process. >>>>>> ***************************** >>>>>> >>>>>> We will soon be running both builds and doing comparisons of the >>>>>> resulting j2sdk-image files from >>>>>> both to insure we match. So if we detect differences we will be >>>>>> tracking down how those differences >>>>>> happened (that's a hint that we will be watching :^). >>>>>> >>>>>> More information on the new build-infra Makefiles can be found at: >>>>>> http://openjdk.java.net/projects/build-infra/ >>>>>> >>>>>> User Guide is at: >>>>>> http://openjdk.java.net/projects/build-infra/guide.html >>>>>> >>>>>> Some preliminary timings for building the product image >>>>>> (effectively, >>>>>> build/j2sdk-image/): >>>>>> OLD NEW build-infra times (All estimates, similar VMs/Zones) >>>>>> linux_i586 (21m 59s) (08m 13s) >>>>>> linux_x64 (13m 34s) (07m 04s) >>>>>> solaris_i586 (26m 14s) (11m 31s) >>>>>> solaris_sparc (54m 02s) (28m 21s) >>>>>> windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only >>>>>> uses >>>>>> CYGWIN) >>>>>> windows_x64 (36m 36s) (23m 50s) " " " >>>>>> >>>>>> Notes: >>>>>> * Machines with more processors will reduce the build time for >>>>>> build-infra builds, less so with the old Makefiles. >>>>>> * Always use local disk or /tmp (all above timings use /tmp, always >>>>>> local disk) >>>>>> * Above uses VMs for Windows and Linux, raw hardware would be faster >>>>>> * Use of ccache can sometimes speed things up, but can also skew the >>>>>> timings, >>>>>> in the above measurements OLD used ccache, NEW did not. >>>>>> >>>>>> -kto >>>> >> From kumar.x.srinivasan at oracle.COM Tue Jul 10 07:32:17 2012 From: kumar.x.srinivasan at oracle.COM (Kumar Srinivasan) Date: Tue, 10 Jul 2012 07:32:17 -0700 Subject: jdk8 makefile changes In-Reply-To: <4FFC3AE8.4010609@oracle.COM> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB6E8D.1010409@oracle.COM> <4FFB7539.5070309@oracle.com> <4FFB7E64.5010507@oracle.COM> <4FFB7FA8.9040109@oracle.com> <4FFC3AE8.4010609@oracle.COM> Message-ID: <4FFC3CF1.1020102@oracle.COM> after modifying the spec.gmk, the build is progressing..... Kumar > It looks like autoconf has messed up. > > > From the config.log > > HOSTCC='C:/PROGRA~1/MSVS10/VC/BIN/cl.exe' > HOSTCXX='C:/PROGRA~1/MSVS10/VC/BIN/cl.exe' > HOSTLD='C:/devtools/cygwin/bin/link.exe' > > It has picked cl.exe correctly, oopsie on link.exe. > > Kumar > >> On 10/07/2012 10:59 AM, Kumar Srinivasan wrote: >>> nOn 7/9/2012 5:20 PM, David Holmes wrote: >>>> On 10/07/2012 9:51 AM, Kumar Srinivasan wrote: >>>>> On windows, I see a failure when building hotspot, as as follows. >>>>> Kumar >>>>> >>>>> link.exe /SAFESEH /manifest kernel32.lib user32.lib gdi32.lib >>>>> winspool.lib codlg32.lib advapi32.lib shell32.lib ole32.lib >>>>> oleaut32.lib uuid.lib >>>>> Wsock32.lib winmm.lib /nologo /machine:I386 /opt:REF /opt:ICF,8 /map >>>>> /debug >>>>> psapi.lib /subystem:console /out:adlc.exe main.obj adlparse.obj >>>>> archDesc.obj arena.obj >>>>> dfa.ob dict2.obj filebuff.obj forms.obj formsopt.obj formssel.obj >>>>> opcodes.obj >>>>> output_.obj output_h.obj >>>>> /usr/bin/link: extra operand `kernel32.lib' >>>> >>>> It looks like it is trying to run the GNU link command instead of the >>>> Visual Studio one. >>> one other clue, VS10 is not in its standard install location, setting >>> the path to the VS's link >>> does not help, so autoconf has inferred the wrong path it seems. >> >> config.log will tell you what configure did and did not do. >> >> I don't know if Windows builds are supposed to work yet :) But again >> hotspot is largely untouched so however you had to set things up to >> build hotspot before, you will likely still need to do now. >> >> David >> ----- >> >> >>> Kumar >>> >>> >>>> >>>> David >>>> ----- >>>> >>>> >>>>> Try `/usr/bin/link --help' for more information. >>>>> NMAKE : fatal error U1077: >>>>> 'C:\WORKSP~1\JDK8-B~1\build\WINDOW~1\UNCYGD~1.EXE' : >>>>> return code '0x1' >>>>> Stop. >>>>> NMAKE : fatal error U1077: 'cd' : return code '0x2' >>>>> Stop. >>>>> NMAKE : fatal error U1077: '"C:\Program >>>>> Files\MSVS10\VC\BIN\nmake.EXE"' >>>>> : retur >>>>> code '0x2' >>>>> Stop. >>>>> make[2]: *** [generic_build2] Error 2 >>>>> make[1]: *** [product] Error 2 >>>>> make: *** [hotspot-only] Error 2 >>>>>> The jdk8/build forest has been in sync for a few days, so anyone >>>>>> willing to try the new build system with OpenJDK 8, please >>>>>> follow these instructions: >>>>>> >>>>>> hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build >>>>>> cd jdk8-build >>>>>> sh ./get_source.sh >>>>>> cd common/makefiles >>>>>> ../autoconf/configure >>>>>> make images >>>>>> >>>>>> Let us know what works, what doesn't. >>>>>> >>>>>> Many of us will be concentrating on binary comparisons over the next >>>>>> few days to insure that we are building >>>>>> everything we did before, and the same content. >>>>>> >>>>>> -kto >>>>>> >>>>>> On Jul 3, 2012, at 11:38 AM, Kelly O'Hair wrote: >>>>>> >>>>>>> Heads up... >>>>>>> >>>>>>> We expect to do a sync up of the jdk8/build forest with the >>>>>>> latest in >>>>>>> the build-infra forest in the next few days. >>>>>>> >>>>>>> As the new build-infra project starts getting more solid and we >>>>>>> contemplate when we can switch >>>>>>> the default to building with the new build-infra Makefiles (we >>>>>>> don't >>>>>>> know exactly when yet). >>>>>>> >>>>>>> **** IMPORTANT NOTICE **** >>>>>>> It will be important that *anyone* making *any* changes to the jdk8 >>>>>>> Makefiles keep the build-dev >>>>>>> or build-infra mailing lists informed. >>>>>>> For a period of time we need to maintain two separate build >>>>>>> mechanisms, and we want to make sure >>>>>>> that both build the same thing. >>>>>>> The hotspot repository is the one exception where we don't have two >>>>>>> sets of makefiles, but we still >>>>>>> would like to know when anyone is changing the makefiles or >>>>>>> anything >>>>>>> to do with the build process. >>>>>>> ***************************** >>>>>>> >>>>>>> We will soon be running both builds and doing comparisons of the >>>>>>> resulting j2sdk-image files from >>>>>>> both to insure we match. So if we detect differences we will be >>>>>>> tracking down how those differences >>>>>>> happened (that's a hint that we will be watching :^). >>>>>>> >>>>>>> More information on the new build-infra Makefiles can be found at: >>>>>>> http://openjdk.java.net/projects/build-infra/ >>>>>>> >>>>>>> User Guide is at: >>>>>>> http://openjdk.java.net/projects/build-infra/guide.html >>>>>>> >>>>>>> Some preliminary timings for building the product image >>>>>>> (effectively, >>>>>>> build/j2sdk-image/): >>>>>>> OLD NEW build-infra times (All estimates, similar VMs/Zones) >>>>>>> linux_i586 (21m 59s) (08m 13s) >>>>>>> linux_x64 (13m 34s) (07m 04s) >>>>>>> solaris_i586 (26m 14s) (11m 31s) >>>>>>> solaris_sparc (54m 02s) (28m 21s) >>>>>>> windows_i586 (55m 49s) (32m 22s) (old used MKS, build-infra only >>>>>>> uses >>>>>>> CYGWIN) >>>>>>> windows_x64 (36m 36s) (23m 50s) " " " >>>>>>> >>>>>>> Notes: >>>>>>> * Machines with more processors will reduce the build time for >>>>>>> build-infra builds, less so with the old Makefiles. >>>>>>> * Always use local disk or /tmp (all above timings use /tmp, always >>>>>>> local disk) >>>>>>> * Above uses VMs for Windows and Linux, raw hardware would be >>>>>>> faster >>>>>>> * Use of ccache can sometimes speed things up, but can also skew >>>>>>> the >>>>>>> timings, >>>>>>> in the above measurements OLD used ccache, NEW did not. >>>>>>> >>>>>>> -kto >>>>> >>> > From omajid at redhat.com Mon Jul 9 16:27:18 2012 From: omajid at redhat.com (Omair Majid) Date: Mon, 09 Jul 2012 19:27:18 -0400 Subject: jdk8 makefile changes In-Reply-To: <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> Message-ID: <4FFB68D6.4050205@redhat.com> Hi Kelly, On 07/09/2012 06:12 PM, Kelly O'Hair wrote: > The jdk8/build forest has been in sync for a few days, so anyone willing to try the new build system with OpenJDK 8, please > follow these instructions: > > hg clone http://hg.openjdk.java.net/jdk8/build jdk8-build > cd jdk8-build > sh ./get_source.sh > cd common/makefiles > ../autoconf/configure > make images > > Let us know what works, what doesn't. I tried it out and ran into a bit of a snag: $ bash ../autoconf/configure checking for readlink... /usr/bin/readlink checking for apt-get... no checking for yum... yum checking for grep that handles long lines and -e... /usr/bin/grep checking for gawk... gawk [ snip ] checking if dynamic link of stdc++ is possible... yes checking if static link of stdc++ is possible... no configure: Static linking of libstdc++ was not possible reverting to dynamic linking. checking how to link with libstdc++... dynamic [ snip ] ==================================================== A new configuration has been successfully created in /home/omajid/devel/jdk8-build/build/linux-x64-normal-server-release using default settings. Configuration summary: * Debug level: release * JDK variant: normal * JVM variants: server * OpenJDK target: OS: linux, CPU architecture: x86, address length: 64 * Boot JDK: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.3.x86_64 Build performance summary: * Cores to use: 4 * Memory limit: 3753 MB * ccache status: not installed (consider installing) Build performance tip: ccache gives a tremendous speedup for C++ recompilations. You do not have ccache installed. Try installing it. You might be able to fix this by running 'sudo yum install ccache'. $ make images Building OpenJDK for target 'images' in configuration 'linux-x64-normal-server-release' [ snip ] Compiling /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/workgroup.cpp Compiling /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/xmlstream.cpp Compiling /home/omajid/devel/jdk8-build/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp Making signal interposition lib... Making SA debugger back-end... Compiling /home/omajid/devel/jdk8-build/hotspot/src/share/vm/runtime/vm_version.cpp Linking vm... /usr/bin/ld: cannot find -lstdc++ collect2: error: ld returned 1 exit status ln: accessing `libjvm.so.1': Too many levels of symbolic links /usr/bin/chcon: failed to get security context of `libjvm.so': Too many levels of symbolic links ERROR: Cannot chcon libjvm.so /usr/bin/objcopy: Warning: could not locate 'libjvm.so'. reason: Too many levels of symbolic links make[5]: *** [libjvm.so] Error 1 make[4]: *** [the_vm] Error 2 make[3]: *** [product] Error 2 make[2]: *** [generic_build2] Error 2 make[1]: *** [product] Error 2 make: *** [hotspot-only] Error 2 As you can tell, I don not have static c++ linking available, but linking dynamically is failing too. I have built other variants of openjdk 7 and 8 on this machine before using dynamic linking (STATIC_CXX=false), so I was expecting this to work. Is there any additional information I can provide to help? Thanks, Omair From omajid at redhat.com Mon Jul 9 18:05:40 2012 From: omajid at redhat.com (Omair Majid) Date: Mon, 09 Jul 2012 21:05:40 -0400 Subject: jdk8 makefile changes In-Reply-To: <4FFB6CEF.5010804@oracle.com> References: <6E1102AE-5167-4FA8-888F-264EDA515E4C@oracle.com> <6D686E00-4ABF-4D27-B9CA-A86004DA655A@oracle.com> <4FFB68D6.4050205@redhat.com> <4FFB6CEF.5010804@oracle.com> Message-ID: <4FFB7FE4.8090506@redhat.com> On 07/09/2012 07:44 PM, David Holmes wrote: > Hi Omair, > > The static vs dynamic link check that you see is only in place for the > JDK libraries not hotspot. For hotspot (which has not been modified as > part of the build-infra project) you still need to pass STATIC_CXX=false > as a make variable on the make invocation. Ah, false alarm then. Please ignore :) And yes, "make images STATIC_CXX=false" makes the build work for me. Thanks, Omair From kelly.ohair at oracle.com Wed Jul 11 16:41:44 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Wed, 11 Jul 2012 16:41:44 -0700 Subject: Long sed commands Message-ID: <767609F7-311A-44F3-8ABC-23BE75DA13DC@oracle.com> I'm seeing some really long sed commands when I look at the log file, I'm wondering if we could just create a file to deal with this (appears to be) unicode to \x conversion unicode2x.sed and run sed -f unicode2x.sed? I see 2 places where this happens. Could also be related to some of our Windows failures, maybe long command line issues? Any objection to that? The following looks really ugly in the log files... /usr/bin/sed -e 's/\\u0020/\x20/g' -e 's/\\u003A/\x3A/g' -e 's/\\u006B/\x6B/g' -e 's/\\u0075/\x75/g' -e 's/\\u00A0/\xA0/g' -e 's/\\u00A3/\xA3/g' -e 's/\\u00B0/\xB0/g' -e 's/\\u00B7/\xB7/g' -e 's/\\u00BA/\xBA/g' -e 's/\\u00BF/\xBF/g' -e 's/\\u00C0/\xC0/g' -e 's/\\u00C1/\xC1/g' -e 's/\\u00C2/\xC2/g' -e 's/\\u00C4/\xC4/g' -e 's/\\u00C5/\xC5/g' -e 's/\\u00C8/\xC8/g' -e 's/\\u00C9/\xC9/g' -e 's/\\u00CA/\xCA/g' -e 's/\\u00CD/\xCD/g' -e 's/\\u00CE/\xCE/g' -e 's/\\u00D3/\xD3/g' -e 's/\\u00D4/\xD4/g' -e 's/\\u00D6/\xD6/g' -e 's/\\u00DA/\xDA/g' -e 's/\\u00DC/\xDC/g' -e 's/\\u00DD/\xDD/g' -e 's/\\u00DF/\xDF/g' -e 's/\\u00E0/\xE0/g' -e 's/\\u00E1/\xE1/g' -e 's/\\u00E2/\xE2/g' -e 's/\\u00E3/\xE3/g' -e 's/\\u00E4/\xE4/g' -e 's/\\u00E5/\xE5/g' -e 's/\\u00E6/\xE6/g' -e 's/\\u00E7/\xE7/g' -e 's/\\u00E8/\xE8/g' -e 's/\\u00E9/\xE9/g' -e 's/\\u00EA/\xEA/g' -e 's/\\u00EB/\xEB/g' -e 's/\\u00EC/\xEC/g' -e 's/\\u00ED/\xED/g' -e 's/\\u00EE/\xEE/g' -e 's/\\u00EF/\xEF/g' -e 's/\\u00F1/\xF1/g' -e 's/\\u00F2/\xF2/g' -e 's/\\u00F3/\xF3/g' -e 's/\\u00F4/\xF4/g' -e 's/\\u00F5/\xF5/g' -e 's/\\u00F6/\xF6/g' -e 's/\\u00F9/\xF9/g' -e 's/\\u00FA/\xFA/g' -e 's/\\u00FC/\xFC/g' -e 's/\\u0020/\x20/g' -e 's/\\u003f/\x3f/g' -e 's/\\u006f/\x6f/g' -e 's/\\u0075/\x75/g' -e 's/\\u00a0/\xa0/g' -e 's/\\u00a3/\xa3/g' -e 's/\\u00b0/\xb0/g' -e 's/\\u00ba/\xba/g' -e 's/\\u00bf/\xbf/g' -e 's/\\u00c1/\xc1/g' -e 's/\\u00c4/\xc4/g' -e 's/\\u00c5/\xc5/g' -e 's/\\u00c8/\xc8/g' -e 's/\\u00c9/\xc9/g' -e 's/\\u00ca/\xca/g' -e 's/\\u00cd/\xcd/g' -e 's/\\u00d6/\xd6/g' -e 's/\\u00dc/\xdc/g' -e 's/\\u00dd/\xdd/g' -e 's/\\u00df/\xdf/g' -e 's/\\u00e0/\xe0/g' -e 's/\\u00e1/\xe1/g' -e 's/\\u00e2/\xe2/g' -e 's/\\u00e3/\xe3/g' -e 's/\\u00e4/\xe4/g' -e 's/\\u00e5/\xe5/g' -e 's/\\u00e7/\xe7/g' -e 's/\\u00e8/\xe8/g' -e 's/\\u00e9/\xe9/g' -e 's/\\u00ea/\xea/g' -e 's/\\u00eb/\xeb/g' -e 's/\\u00ec/\xec/g' -e 's/\\u00ed/\xed/g' -e 's/\\u00ee/\xee/g' -e 's/\\u00ef/\xef/g' -e 's/\\u00f0/\xf0/g' -e 's/\\u00f1/\xf1/g' -e 's/\\u00f2/\xf2/g' -e 's/\\u00f3/\xf3/g' -e 's/\\u00f4/\xf4/g' -e 's/\\u00f5/\xf5/g' -e 's/\\u00f6/\xf6/g' -e 's/\\u00f7/\xf7/g' -e 's/\\u00f8/\xf8/g' -e 's/\\u00f9/\xf9/g' -e 's/\\u00fa/\xfa/g' -e 's/\\u00fc/\xfc/g' -e 's/\\u00ff/\xff/g' Maybe: http://cr.openjdk.java.net/~ohair/openjdk8/build-infra-sed/webrev/ -kto From erik.joelsson at oracle.com Thu Jul 12 01:54:47 2012 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 12 Jul 2012 10:54:47 +0200 Subject: Long sed commands In-Reply-To: <767609F7-311A-44F3-8ABC-23BE75DA13DC@oracle.com> References: <767609F7-311A-44F3-8ABC-23BE75DA13DC@oracle.com> Message-ID: <4FFE90D7.4010308@oracle.com> No objection from me. Those long sed expressions aren't that pretty to look at in the Makefile either. /Erik On 2012-07-12 01:41, Kelly O'Hair wrote: > I'm seeing some really long sed commands when I look at the log file, I'm wondering if we could just create a > file to deal with this (appears to be) unicode to \x conversion unicode2x.sed and run sed -f unicode2x.sed? > I see 2 places where this happens. Could also be related to some of our Windows failures, maybe long command line issues? > > Any objection to that? The following looks really ugly in the log files... > > /usr/bin/sed -e 's/\\u0020/\x20/g' -e 's/\\u003A/\x3A/g' -e 's/\\u006B/\x6B/g' -e 's/\\u0075/\x75/g' -e 's/\\u00A0/\xA0/g' -e 's/\\u00A3/\xA3/g' -e 's/\\u00B0/\xB0/g' -e 's/\\u00B7/\xB7/g' -e 's/\\u00BA/\xBA/g' -e 's/\\u00BF/\xBF/g' -e 's/\\u00C0/\xC0/g' -e 's/\\u00C1/\xC1/g' -e 's/\\u00C2/\xC2/g' -e 's/\\u00C4/\xC4/g' -e 's/\\u00C5/\xC5/g' -e 's/\\u00C8/\xC8/g' -e 's/\\u00C9/\xC9/g' -e 's/\\u00CA/\xCA/g' -e 's/\\u00CD/\xCD/g' -e 's/\\u00CE/\xCE/g' -e 's/\\u00D3/\xD3/g' -e 's/\\u00D4/\xD4/g' -e 's/\\u00D6/\xD6/g' -e 's/\\u00DA/\xDA/g' -e 's/\\u00DC/\xDC/g' -e 's/\\u00DD/\xDD/g' -e 's/\\u00DF/\xDF/g' -e 's/\\u00E0/\xE0/g' -e 's/\\u00E1/\xE1/g' -e 's/\\u00E2/\xE2/g' -e 's/\\u00E3/\xE3/g' -e 's/\\u00E4/\xE4/g' -e 's/\\u00E5/\xE5/g' -e 's/\\u00E6/\xE6/g' -e 's/\\u00E7/\xE7/g' -e 's/\\u00E8/\xE8/g' -e 's/\\u00E9/\xE9/g' -e 's/\\u00EA/\xEA/g' -e 's/\\u00EB/\xEB/g' -e 's/\\u00EC/\xEC/g' -e 's/\\u00ED/\xED/g' -e 's/\\u00EE/\xEE/g' -e 's/\\u00EF/\xEF/g' -e 's/\\u00F1/\xF1/g' -e 's/\\u00F2/\xF2/g' -e 's/\\u00F3/\xF3/g' -e 's/\\u00F4/\xF4/g' -e 's/\\u00F5/\xF5/g' -e 's/\\u00F6/\xF6/g' -e 's/\\u00F9/\xF9/g' -e 's/\\u00FA/\xFA/g' -e 's/\\u00FC/\xFC/g' -e 's/\\u0020/\x20/g' -e 's/\\u003f/\x3f/g' -e 's/\\u006f/\x6f/g' -e 's/\\u0075/\x75/g' -e 's/\\u00a0/\xa0/g' -e 's/\\u00a3/\xa3/g' -e 's/\\u00b0/\xb0/g' -e 's/\\u00ba/\xba/g' -e 's/\\u00bf/\xbf/g' -e 's/\\u00c1/\xc1/g' -e 's/\\u00c4/\xc4/g' -e 's/\\u00c5/\xc5/g' -e 's/\\u00c8/\xc8/g' -e 's/\\u00c9/\xc9/g' -e 's/\\u00ca/\xca/g' -e 's/\\u00cd/\xcd/g' -e 's/\\u00d6/\xd6/g' -e 's/\\u00dc/\xdc/g' -e 's/\\u00dd/\xdd/g' -e 's/\\u00df/\xdf/g' -e 's/\\u00e0/\xe0/g' -e 's/\\u00e1/\xe1/g' -e 's/\\u00e2/\xe2/g' -e 's/\\u00e3/\xe3/g' -e 's/\\u00e4/\xe4/g' -e 's/\\u00e5/\xe5/g' -e 's/\\u00e7/\xe7/g' -e 's/\\u00e8/\xe8/g' -e 's/\\u00e9/\xe9/g' -e 's/\\u00ea/\xea/g' -e 's/\\u00eb/\xeb/g' -e 's/\\u00ec/\xec/g' -e 's/\\u00ed/\xed/g' -e 's/\\u00ee/\xee/g' -e 's/\\u00ef/\xef/g' -e 's/\\u00f0/\xf0/g' -e 's/\\u00f1/\xf1/g' -e 's/\\u00f2/\xf2/g' -e 's/\\u00f3/\xf3/g' -e 's/\\u00f4/\xf4/g' -e 's/\\u00f5/\xf5/g' -e 's/\\u00f6/\xf6/g' -e 's/\\u00f7/\xf7/g' -e 's/\\u00f8/\xf8/g' -e 's/\\u00f9/\xf9/g' -e 's/\\u00fa/\xfa/g' -e 's/\\u00fc/\xfc/g' -e 's/\\u00ff/\xff/g' > > Maybe: > > http://cr.openjdk.java.net/~ohair/openjdk8/build-infra-sed/webrev/ > > -kto > From erik.joelsson at oracle.com Thu Jul 12 02:23:35 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 12 Jul 2012 09:23:35 +0000 Subject: hg: build-infra/jdk8: 4 new changesets Message-ID: <20120712092336.8577947FB2@hg.openjdk.java.net> Changeset: 7ee0c343bae9 Author: erikj Date: 2012-07-12 11:15 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/7ee0c343bae9 Fixed origin macro to not include extra '/'. ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: a255059010dc Author: erikj Date: 2012-07-12 11:16 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/a255059010dc Added more parameters to SetupNativeCompilation. ! common/makefiles/NativeCompilation.gmk Changeset: dda7229b0eac Author: erikj Date: 2012-07-12 11:18 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/dda7229b0eac Made permission comparison optional. Added readelf diff. Cleared out exception list on linux. ! common/bin/compareimage.sh ! common/bin/diffexec.sh ! common/bin/difflib.sh ! common/bin/exception_list_linux Changeset: ab9eb793611a Author: erikj Date: 2012-07-12 11:22 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/ab9eb793611a Merge From erik.joelsson at oracle.com Thu Jul 12 02:23:42 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 12 Jul 2012 09:23:42 +0000 Subject: hg: build-infra/jdk8/jdk: 3 new changesets Message-ID: <20120712092604.B290047FB3@hg.openjdk.java.net> Changeset: 4f96c65e7b7a Author: erikj Date: 2012-07-12 11:18 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/4f96c65e7b7a Added sort to object list on link command line for old build to make comparison of libraries easier. ! make/common/Library.gmk Changeset: 57d56fef86a8 Author: erikj Date: 2012-07-12 11:20 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/57d56fef86a8 Tweaked the building of a lot of libraries and executables to be closer to the old build, some even bit by bit equal. Some left to do. ! makefiles/CompileDemos.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk Changeset: cdca5fb12a47 Author: erikj Date: 2012-07-12 11:23 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/cdca5fb12a47 Merge ! makefiles/CompileDemos.gmk From erik.joelsson at oracle.com Thu Jul 12 06:45:09 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 12 Jul 2012 13:45:09 +0000 Subject: hg: build-infra/jdk8: Made all launchers readelf identical on linux. Added sorting of object Message-ID: <20120712134509.8969C47FBA@hg.openjdk.java.net> Changeset: 49849d97c29b Author: erikj Date: 2012-07-12 15:44 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/49849d97c29b Made all launchers readelf identical on linux. Added sorting of object files for unpack200 in old build. ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 ! common/bin/compareimage.sh ! common/bin/diffexec.sh ! common/bin/exception_list_linux From erik.joelsson at oracle.com Thu Jul 12 06:45:22 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 12 Jul 2012 13:45:22 +0000 Subject: hg: build-infra/jdk8/jdk: Made all launchers readelf identical on linux. Message-ID: <20120712134540.E67C047FBB@hg.openjdk.java.net> Changeset: e87f3e6d7df8 Author: erikj Date: 2012-07-12 15:44 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/e87f3e6d7df8 Made all launchers readelf identical on linux. ! make/com/sun/java/pack/Makefile ! makefiles/CompileLaunchers.gmk From erik.joelsson at oracle.com Thu Jul 12 08:08:10 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 12 Jul 2012 15:08:10 +0000 Subject: hg: build-infra/jdk8: All libs on linux x64 as equal to old build as they can get. Fixed Message-ID: <20120712150810.BC38747FC7@hg.openjdk.java.net> Changeset: a8de12b7393d Author: erikj Date: 2012-07-12 17:08 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/a8de12b7393d All libs on linux x64 as equal to old build as they can get. Fixed exception list to reflect current status. compareimage.sh should now be clean on this platform. ! common/bin/compareimage.sh ! common/bin/diffexec.sh ! common/bin/difflib.sh ! common/bin/exception_list_linux From erik.joelsson at oracle.com Thu Jul 12 08:09:22 2012 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 12 Jul 2012 15:09:22 +0000 Subject: hg: build-infra/jdk8/jdk: All libs on linux x64 as equal to old build as they can get. Message-ID: <20120712150939.7011447FC8@hg.openjdk.java.net> Changeset: 004a61f5051c Author: erikj Date: 2012-07-12 17:07 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/004a61f5051c All libs on linux x64 as equal to old build as they can get. ! makefiles/CompileNativeLibraries.gmk From mike.duigou at oracle.com Thu Jul 12 09:26:31 2012 From: mike.duigou at oracle.com (Mike Duigou) Date: Thu, 12 Jul 2012 09:26:31 -0700 Subject: Long sed commands In-Reply-To: <767609F7-311A-44F3-8ABC-23BE75DA13DC@oracle.com> References: <767609F7-311A-44F3-8ABC-23BE75DA13DC@oracle.com> Message-ID: <071DCEE3-F3B6-436D-87F1-33BD4EC85491@oracle.com> Does anyone have an explanation about why just these conversions are applied and a general translation similar to : \\u00\([0-9a-fA-F]{2,2}\) => \x\1 can't be applied? Why can't the source file just be modified? Mike On Jul 11 2012, at 16:41 , Kelly O'Hair wrote: > > I'm seeing some really long sed commands when I look at the log file, I'm wondering if we could just create a > file to deal with this (appears to be) unicode to \x conversion unicode2x.sed and run sed -f unicode2x.sed? > I see 2 places where this happens. Could also be related to some of our Windows failures, maybe long command line issues? > > Any objection to that? The following looks really ugly in the log files... > > /usr/bin/sed -e 's/\\u0020/\x20/g' -e 's/\\u003A/\x3A/g' -e 's/\\u006B/\x6B/g' -e 's/\\u0075/\x75/g' -e 's/\\u00A0/\xA0/g' -e 's/\\u00A3/\xA3/g' -e 's/\\u00B0/\xB0/g' -e 's/\\u00B7/\xB7/g' -e 's/\\u00BA/\xBA/g' -e 's/\\u00BF/\xBF/g' -e 's/\\u00C0/\xC0/g' -e 's/\\u00C1/\xC1/g' -e 's/\\u00C2/\xC2/g' -e 's/\\u00C4/\xC4/g' -e 's/\\u00C5/\xC5/g' -e 's/\\u00C8/\xC8/g' -e 's/\\u00C9/\xC9/g' -e 's/\\u00CA/\xCA/g' -e 's/\\u00CD/\xCD/g' -e 's/\\u00CE/\xCE/g' -e 's/\\u00D3/\xD3/g' -e 's/\\u00D4/\xD4/g' -e 's/\\u00D6/\xD6/g' -e 's/\\u00DA/\xDA/g' -e 's/\\u00DC/\xDC/g' -e 's/\\u00DD/\xDD/g' -e 's/\\u00DF/\xDF/g' -e 's/\\u00E0/\xE0/g' -e 's/\\u00E1/\xE1/g' -e 's/\\u00E2/\xE2/g' -e 's/\\u00E3/\xE3/g' -e 's/\\u00E4/\xE4/g' -e 's/\\u00E5/\xE5/g' -e 's/\\u00E6/\xE6/g' -e 's/\\u00E7/\xE7/g' -e 's/\\u00E8/\xE8/g' -e 's/\\u00E9/\xE9/g' -e 's/\\u00EA/\xEA/g' -e 's/\\u00EB/\xEB/g' -e 's/\\u00EC/\xEC/g' -e 's/\\u00ED/\xED/g' -e 's/\\u00EE/\xEE/g' -e 's/\\u00EF/\xEF/g' -e 's/\\u00F1/\xF1/g' -e 's/\\u00F2/\xF2/g' -e 's/\\u00F3/\xF3/g' -e 's/\\u00F4/\xF4/g' -e 's/\\u00F5/\xF5/g' -e 's/\\u00F6/\xF6/g' -e 's/\\u00F9/\xF9/g' -e 's/\\u00FA/\xFA/g' -e 's/\\u00FC/\xFC/g' -e 's/\\u0020/\x20/g' -e 's/\\u003f/\x3f/g' -e 's/\\u006f/\x6f/g' -e 's/\\u0075/\x75/g' -e 's/\\u00a0/\xa0/g' -e 's/\\u00a3/\xa3/g' -e 's/\\u00b0/\xb0/g' -e 's/\\u00ba/\xba/g' -e 's/\\u00bf/\xbf/g' -e 's/\\u00c1/\xc1/g' -e 's/\\u00c4/\xc4/g' -e 's/\\u00c5/\xc5/g' -e 's/\\u00c8/\xc8/g' -e 's/\\u00c9/\xc9/g' -e 's/\\u00ca/\xca/g' -e 's/\\u00cd/\xcd/g' -e 's/\\u00d6/\xd6/g' -e 's/\\u00dc/\xdc/g' -e 's/\\u00dd/\xdd/g' -e 's/\\u00df/\xdf/g' -e 's/\\u00e0/\xe0/g' -e 's/\\u00e1/\xe1/g' -e 's/\\u00e2/\xe2/g' -e 's/\\u00e3/\xe3/g' -e 's/\\u00e4/\xe4/g' -e 's/\\u00e5/\xe5/g' -e 's/\\u00e7/\xe7/g' -e 's/\\u00e8/\xe8/g' -e 's/\\u00e9/\xe9/g' -e 's/\\u00ea/\xea/g' -e 's/\\u00eb/\xeb/g' -e 's/\\u00ec/\xec/g' -e 's/\\u00ed/\xed/g' -e 's/\\u00ee/\xee/g' -e 's/\\u00ef/\xef/g' -e 's/\\u00f0/\xf0/g' -e 's/\\u00f1/\xf1/g' -e 's/\\u00f2/\xf2/g' -e 's/\\u00f3/\xf3/g' -e 's/\\u00f4/\xf4/g' -e 's/\\u00f5/\xf5/g' -e 's/\\u00f6/\xf6/g' -e 's/\\u00f7/\xf7/g' -e 's/\\u00f8/\xf8/g' -e 's/\\u00f9/\xf9/g' -e 's/\\u00fa/\xfa/g' -e 's/\\u00fc/\xfc/g' -e 's/\\u00ff/\xff/g' > > Maybe: > > http://cr.openjdk.java.net/~ohair/openjdk8/build-infra-sed/webrev/ > > -kto > From kelly.ohair at oracle.com Thu Jul 12 12:17:25 2012 From: kelly.ohair at oracle.com (kelly.ohair at oracle.com) Date: Thu, 12 Jul 2012 19:17:25 +0000 Subject: hg: build-infra/jdk8: 2 new changesets Message-ID: <20120712191725.ED11447FD1@hg.openjdk.java.net> Changeset: afccad39b643 Author: ohair Date: 2012-07-12 12:15 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/afccad39b643 Created unicode2x.sed to hold all the sed expressions to replace \u with \x codes, avoids some long command lines ! common/bin/difftext.sh + common/bin/unicode2x.sed ! common/makefiles/JavaCompilation.gmk Changeset: 36e830d30d52 Author: ohair Date: 2012-07-12 12:17 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/36e830d30d52 Merge From kelly.ohair at oracle.com Thu Jul 12 16:17:58 2012 From: kelly.ohair at oracle.com (kelly.ohair at oracle.com) Date: Thu, 12 Jul 2012 23:17:58 +0000 Subject: hg: build-infra/jdk8: 6 new changesets Message-ID: <20120712231759.00C6747FDC@hg.openjdk.java.net> Changeset: f115366db79b Author: dholmes Date: 2012-07-11 22:20 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/f115366db79b Update usage message for compare-objects.sh Add info on old and new sizes in the diff scripts Exclude jar/zip/diz etc from diffexec comparison in compareimages ! common/bin/compare-objects.sh ! common/bin/compareimage.sh ! common/bin/diffexec.sh ! common/bin/difflib.sh Changeset: e3569962900b Author: dholmes Date: 2012-07-11 22:22 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/e3569962900b Delete all SE embeeded related items now handled in closed-spec.gmk Pass the extra XXX flags through to hotspot using the legacy variables it expects (need for cross compilation to work) ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/libraries.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: b20edbc90689 Author: dholmes Date: 2012-07-11 22:39 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/b20edbc90689 Sync with closed version ! common/autoconf/generated-configure.sh Changeset: b34318fe376b Author: dholmes Date: 2012-07-11 22:48 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/b34318fe376b Merge Changeset: dba1c2699f69 Author: dholmes Date: 2012-07-11 22:55 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/dba1c2699f69 Regenerated after merge ! common/autoconf/generated-configure.sh Changeset: 243882addf14 Author: dholmes Date: 2012-07-12 18:03 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/243882addf14 Merge ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 ! common/bin/compareimage.sh ! common/bin/diffexec.sh ! common/bin/difflib.sh From kelly.ohair at oracle.com Thu Jul 12 16:18:10 2012 From: kelly.ohair at oracle.com (kelly.ohair at oracle.com) Date: Thu, 12 Jul 2012 23:18:10 +0000 Subject: hg: build-infra/jdk8/jdk: 4 new changesets Message-ID: <20120712231859.233E847FDD@hg.openjdk.java.net> Changeset: 5e1fe57a6e76 Author: dholmes Date: 2012-07-11 22:24 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/5e1fe57a6e76 Wildcards that don't match anything set the result to a space not an empty string - so strip the result ! makefiles/Import.gmk Changeset: be76b8537cb6 Author: dholmes Date: 2012-07-11 22:26 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/be76b8537cb6 Add support for building SE Embedded targets + makefiles/CreateJars-embedded.gmk ! makefiles/CreateJars.gmk ! makefiles/GensrcMisc.gmk + makefiles/Images-embedded.gmk ! makefiles/Images.gmk ! makefiles/Makefile Changeset: 382ba125b1ef Author: dholmes Date: 2012-07-11 22:49 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/382ba125b1ef Merge Changeset: 4eec634f0ff6 Author: dholmes Date: 2012-07-12 18:00 -0400 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/4eec634f0ff6 Merge From kelly.ohair at oracle.com Thu Jul 12 17:20:59 2012 From: kelly.ohair at oracle.com (kelly.ohair at oracle.com) Date: Fri, 13 Jul 2012 00:20:59 +0000 Subject: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links Message-ID: <20120713002108.28A1F47FE1@hg.openjdk.java.net> Changeset: 805d7b998d04 Author: ohair Date: 2012-07-12 17:20 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/hotspot/rev/805d7b998d04 Added a few more $(sort)'s on links ! make/bsd/makefiles/launcher.make ! make/bsd/makefiles/vm.make ! make/linux/makefiles/launcher.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/launcher.make ! make/solaris/makefiles/vm.make From kelly.ohair at oracle.com Thu Jul 12 17:23:49 2012 From: kelly.ohair at oracle.com (kelly.ohair at oracle.com) Date: Fri, 13 Jul 2012 00:23:49 +0000 Subject: hg: build-infra/jdk8/jdk: 2 new changesets Message-ID: <20120713002410.D776547FE3@hg.openjdk.java.net> Changeset: 02e01b00eba8 Author: ohair Date: 2012-07-12 17:22 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/02e01b00eba8 Added $(sort) on program building, however, nt sure this matters ! make/common/Program.gmk Changeset: 144ff4af8e7d Author: ohair Date: 2012-07-12 17:23 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/jdk/rev/144ff4af8e7d Merge From david.holmes at oracle.com Thu Jul 12 21:07:17 2012 From: david.holmes at oracle.com (David Holmes) Date: Fri, 13 Jul 2012 14:07:17 +1000 Subject: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links In-Reply-To: <20120713002108.28A1F47FE1@hg.openjdk.java.net> References: <20120713002108.28A1F47FE1@hg.openjdk.java.net> Message-ID: <4FFF9EF5.1010103@oracle.com> On 13/07/2012 10:20 AM, kelly.ohair at oracle.com wrote: > Changeset: 805d7b998d04 > Author: ohair > Date: 2012-07-12 17:20 -0700 > URL: http://hg.openjdk.java.net/build-infra/jdk8/hotspot/rev/805d7b998d04 > > Added a few more $(sort)'s on links Why? What does it do? David > ! make/bsd/makefiles/launcher.make > ! make/bsd/makefiles/vm.make > ! make/linux/makefiles/launcher.make > ! make/linux/makefiles/vm.make > ! make/solaris/makefiles/launcher.make > ! make/solaris/makefiles/vm.make > From tim.bell at oracle.com Thu Jul 12 21:33:23 2012 From: tim.bell at oracle.com (Tim Bell) Date: Thu, 12 Jul 2012 21:33:23 -0700 (PDT) Subject: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links Message-ID: > Why? What does it do? When comparing the build-infra artifacts to the old style build artifacts, it helps a lot to have done operations like linking in the same order. If this has any effect outside of trying to minimize the diffs between the two builds, than it would be a bug we need to understand. Tim ----- Original Message ----- From: david.holmes at oracle.com To: kelly.ohair at oracle.com Cc: build-infra-dev at openjdk.java.net Sent: Thursday, July 12, 2012 9:07:35 PM GMT -08:00 US/Canada Pacific Subject: Re: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links On 13/07/2012 10:20 AM, kelly.ohair at oracle.com wrote: > Changeset: 805d7b998d04 > Author: ohair > Date: 2012-07-12 17:20 -0700 > URL: http://hg.openjdk.java.net/build-infra/jdk8/hotspot/rev/805d7b998d04 > > Added a few more $(sort)'s on links Why? What does it do? David > ! make/bsd/makefiles/launcher.make > ! make/bsd/makefiles/vm.make > ! make/linux/makefiles/launcher.make > ! make/linux/makefiles/vm.make > ! make/solaris/makefiles/launcher.make > ! make/solaris/makefiles/vm.make > From david.holmes at oracle.com Thu Jul 12 21:35:34 2012 From: david.holmes at oracle.com (David Holmes) Date: Fri, 13 Jul 2012 14:35:34 +1000 Subject: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links In-Reply-To: References: Message-ID: <4FFFA596.80604@oracle.com> On 13/07/2012 2:33 PM, Tim Bell wrote: >> Why? What does it do? > > When comparing the build-infra artifacts to the old style build artifacts, it helps a lot to have done operations like linking in the same order. Ah I see. Thanks for explaining. David > If this has any effect outside of trying to minimize the diffs between the two builds, than it would be a bug we need to understand. > > Tim > > > ----- Original Message ----- > From: david.holmes at oracle.com > To: kelly.ohair at oracle.com > Cc: build-infra-dev at openjdk.java.net > Sent: Thursday, July 12, 2012 9:07:35 PM GMT -08:00 US/Canada Pacific > Subject: Re: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links > > On 13/07/2012 10:20 AM, kelly.ohair at oracle.com wrote: >> Changeset: 805d7b998d04 >> Author: ohair >> Date: 2012-07-12 17:20 -0700 >> URL: http://hg.openjdk.java.net/build-infra/jdk8/hotspot/rev/805d7b998d04 >> >> Added a few more $(sort)'s on links > > Why? What does it do? > > David > >> ! make/bsd/makefiles/launcher.make >> ! make/bsd/makefiles/vm.make >> ! make/linux/makefiles/launcher.make >> ! make/linux/makefiles/vm.make >> ! make/solaris/makefiles/launcher.make >> ! make/solaris/makefiles/vm.make >> From mike.duigou at oracle.com Fri Jul 13 09:47:13 2012 From: mike.duigou at oracle.com (Mike Duigou) Date: Fri, 13 Jul 2012 09:47:13 -0700 Subject: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links In-Reply-To: References: Message-ID: Will the sort commands be there permanently or is it just temporary until the builds are verified? Does it offer any other benefits? I've previously seen linking ordering files used to improve locality in the linked binaries. (much like the recently discussed class list reordering: ) Mike On Jul 12 2012, at 21:33 , Tim Bell wrote: >> Why? What does it do? > > When comparing the build-infra artifacts to the old style build artifacts, it helps a lot to have done operations like linking in the same order. > > If this has any effect outside of trying to minimize the diffs between the two builds, than it would be a bug we need to understand. > > > Tim > > > ----- Original Message ----- > From: david.holmes at oracle.com > To: kelly.ohair at oracle.com > Cc: build-infra-dev at openjdk.java.net > Sent: Thursday, July 12, 2012 9:07:35 PM GMT -08:00 US/Canada Pacific > Subject: Re: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links > > On 13/07/2012 10:20 AM, kelly.ohair at oracle.com wrote: >> Changeset: 805d7b998d04 >> Author: ohair >> Date: 2012-07-12 17:20 -0700 >> URL: http://hg.openjdk.java.net/build-infra/jdk8/hotspot/rev/805d7b998d04 >> >> Added a few more $(sort)'s on links > > Why? What does it do? > > David > >> ! make/bsd/makefiles/launcher.make >> ! make/bsd/makefiles/vm.make >> ! make/linux/makefiles/launcher.make >> ! make/linux/makefiles/vm.make >> ! make/solaris/makefiles/launcher.make >> ! make/solaris/makefiles/vm.make >> From kelly.ohair at oracle.com Fri Jul 13 10:03:20 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Fri, 13 Jul 2012 10:03:20 -0700 Subject: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links In-Reply-To: References: Message-ID: <9180B109-9FA3-440E-8ADF-8C5F6D3F36F3@oracle.com> On Jul 13, 2012, at 9:47 AM, Mike Duigou wrote: > Will the sort commands be there permanently or is it just temporary until the builds are verified? Permanently. It creates a more predictable shared library image. Being able to compare 2 build images has benefits beyond this project, could help us later. > > Does it offer any other benefits? I've previously seen linking ordering files used to improve locality in the linked binaries. (much like the recently discussed class list reordering: ) There is some mapfile reorder tricks going on with Solaris, compiling with -xF so that all the functions in a .o file get their own elf sections, then the mapfile.reorder can co-locate all the hot functions (where "hot" is determined by arbitrary benchmarks run many years ago). This $(sort) change does not impact the mapfile reorder stuff, it only changes the input order of the .o files given to the linker. And it's not clear that this reorder stuff is that much of a benefit now, especially if nobody is keeping the lists up-to-date. The reorder benefits are strictly performance related, and if we have the wrong list, or an incorrect one, any benefits we are getting might be minimal if not detrimental. This was invented a long time ago when memory was more limited than it is now. It has long been my opinion that unless someone is tasked with keeping these function lists and class lists up-to-date and well-defined, then the complications they create in the build process are not warranted and this logic should just be removed for the sake of simplicity and any build time improvement their removal might provide. -kto > > Mike > > On Jul 12 2012, at 21:33 , Tim Bell wrote: > >>> Why? What does it do? >> >> When comparing the build-infra artifacts to the old style build artifacts, it helps a lot to have done operations like linking in the same order. >> >> If this has any effect outside of trying to minimize the diffs between the two builds, than it would be a bug we need to understand. >> >> >> Tim >> >> >> ----- Original Message ----- >> From: david.holmes at oracle.com >> To: kelly.ohair at oracle.com >> Cc: build-infra-dev at openjdk.java.net >> Sent: Thursday, July 12, 2012 9:07:35 PM GMT -08:00 US/Canada Pacific >> Subject: Re: hg: build-infra/jdk8/hotspot: Added a few more $(sort)'s on links >> >> On 13/07/2012 10:20 AM, kelly.ohair at oracle.com wrote: >>> Changeset: 805d7b998d04 >>> Author: ohair >>> Date: 2012-07-12 17:20 -0700 >>> URL: http://hg.openjdk.java.net/build-infra/jdk8/hotspot/rev/805d7b998d04 >>> >>> Added a few more $(sort)'s on links >> >> Why? What does it do? >> >> David >> >>> ! make/bsd/makefiles/launcher.make >>> ! make/bsd/makefiles/vm.make >>> ! make/linux/makefiles/launcher.make >>> ! make/linux/makefiles/vm.make >>> ! make/solaris/makefiles/launcher.make >>> ! make/solaris/makefiles/vm.make >>> > From kelly.ohair at oracle.com Fri Jul 13 10:13:47 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Fri, 13 Jul 2012 10:13:47 -0700 Subject: Long sed commands In-Reply-To: <071DCEE3-F3B6-436D-87F1-33BD4EC85491@oracle.com> References: <767609F7-311A-44F3-8ABC-23BE75DA13DC@oracle.com> <071DCEE3-F3B6-436D-87F1-33BD4EC85491@oracle.com> Message-ID: <4B7E291E-CE61-4CD9-A737-73CD8ABBA91B@oracle.com> On Jul 12, 2012, at 9:26 AM, Mike Duigou wrote: > Does anyone have an explanation about why just these conversions are applied and a general translation similar to : > > \\u00\([0-9a-fA-F]{2,2}\) => \x\1 > > can't be applied? Why can't the source file just be modified? I wondered about that too. The sources probably require the /u (property files), but we need \x if we want to process the text with Unix utilities? I'm just getting started understanding this stuff in detail. I may look into this further for more refinement, but my main focus as to start looking at possible fixes that might make the windows builds more reliable, doing the least damage as possible ;^) Long command lines can cause issues, as well too many pipes in a command. Windows/CYGWIN is somewhat brittle when it comes to shell commands, and with plans to move to Windows 7 X64 where CYGWIN/X64 issues and CYGWIN/Windows7 issues might make things worse, I need this as solid as we can get. Tim is looking into MinGW/MSYS as a better solution, but until then..... -kto > > Mike > > On Jul 11 2012, at 16:41 , Kelly O'Hair wrote: > >> >> I'm seeing some really long sed commands when I look at the log file, I'm wondering if we could just create a >> file to deal with this (appears to be) unicode to \x conversion unicode2x.sed and run sed -f unicode2x.sed? >> I see 2 places where this happens. Could also be related to some of our Windows failures, maybe long command line issues? >> >> Any objection to that? The following looks really ugly in the log files... >> >> /usr/bin/sed -e 's/\\u0020/\x20/g' -e 's/\\u003A/\x3A/g' -e 's/\\u006B/\x6B/g' -e 's/\\u0075/\x75/g' -e 's/\\u00A0/\xA0/g' -e 's/\\u00A3/\xA3/g' -e 's/\\u00B0/\xB0/g' -e 's/\\u00B7/\xB7/g' -e 's/\\u00BA/\xBA/g' -e 's/\\u00BF/\xBF/g' -e 's/\\u00C0/\xC0/g' -e 's/\\u00C1/\xC1/g' -e 's/\\u00C2/\xC2/g' -e 's/\\u00C4/\xC4/g' -e 's/\\u00C5/\xC5/g' -e 's/\\u00C8/\xC8/g' -e 's/\\u00C9/\xC9/g' -e 's/\\u00CA/\xCA/g' -e 's/\\u00CD/\xCD/g' -e 's/\\u00CE/\xCE/g' -e 's/\\u00D3/\xD3/g' -e 's/\\u00D4/\xD4/g' -e 's/\\u00D6/\xD6/g' -e 's/\\u00DA/\xDA/g' -e 's/\\u00DC/\xDC/g' -e 's/\\u00DD/\xDD/g' -e 's/\\u00DF/\xDF/g' -e 's/\\u00E0/\xE0/g' -e 's/\\u00E1/\xE1/g' -e 's/\\u00E2/\xE2/g' -e 's/\\u00E3/\xE3/g' -e 's/\\u00E4/\xE4/g' -e 's/\\u00E5/\xE5/g' -e 's/\\u00E6/\xE6/g' -e 's/\\u00E7/\xE7/g' -e 's/\\u00E8/\xE8/g' -e 's/\\u00E9/\xE9/g' -e 's/\\u00EA/\xEA/g' -e 's/\\u00EB/\xEB/g' -e 's/\\u00EC/\xEC/g' -e 's/\\u00ED/\xED/g' -e 's/\\u00EE/\xEE/g' -e 's/\\u00EF/\xEF/g' -e 's/\\u00F1/\xF1/g' -e 's/\\u00F2/\xF2/g' -e 's/\\u00F3/\xF3/g' -e 's/\\u00F4/\xF4/g' -e 's/\\u00F5/\xF5/g' -e 's/\\u00F6/\xF6/g' -e 's/\\u00F9/\xF9/g' -e 's/\\u00FA/\xFA/g' -e 's/\\u00FC/\xFC/g' -e 's/\\u0020/\x20/g' -e 's/\\u003f/\x3f/g' -e 's/\\u006f/\x6f/g' -e 's/\\u0075/\x75/g' -e 's/\\u00a0/\xa0/g' -e 's/\\u00a3/\xa3/g' -e 's/\\u00b0/\xb0/g' -e 's/\\u00ba/\xba/g' -e 's/\\u00bf/\xbf/g' -e 's/\\u00c1/\xc1/g' -e 's/\\u00c4/\xc4/g' -e 's/\\u00c5/\xc5/g' -e 's/\\u00c8/\xc8/g' -e 's/\\u00c9/\xc9/g' -e 's/\\u00ca/\xca/g' -e 's/\\u00cd/\xcd/g' -e 's/\\u00d6/\xd6/g' -e 's/\\u00dc/\xdc/g' -e 's/\\u00dd/\xdd/g' -e 's/\\u00df/\xdf/g' -e 's/\\u00e0/\xe0/g' -e 's/\\u00e1/\xe1/g' -e 's/\\u00e2/\xe2/g' -e 's/\\u00e3/\xe3/g' -e 's/\\u00e4/\xe4/g' -e 's/\\u00e5/\xe5/g' -e 's/\\u00e7/\xe7/g' -e 's/\\u00e8/\xe8/g' -e 's/\\u00e9/\xe9/g' -e 's/\\u00ea/\xea/g' -e 's/\\u00eb/\xeb/g' -e 's/\\u00ec/\xec/g' -e 's/\\u00ed/\xed/g' -e 's/\\u00ee/\xee/g' -e 's/\\u00ef/\xef/g' -e 's/\\u00f0/\xf0/g' -e 's/\\u00f1/\xf1/g' -e 's/\\u00f2/\xf2/g' -e 's/\\u00f3/\xf3/g' -e 's/\\u00f4/\xf4/g' -e 's/\\u00f5/\xf5/g' -e 's/\\u00f6/\xf6/g' -e 's/\\u00f7/\xf7/g' -e 's/\\u00f8/\xf8/g' -e 's/\\u00f9/\xf9/g' -e 's/\\u00fa/\xfa/g' -e 's/\\u00fc/\xfc/g' -e 's/\\u00ff/\xff/g' >> >> Maybe: >> >> http://cr.openjdk.java.net/~ohair/openjdk8/build-infra-sed/webrev/ >> >> -kto >> > From kelly.ohair at oracle.com Fri Jul 13 13:09:01 2012 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Fri, 13 Jul 2012 13:09:01 -0700 Subject: OpenJDK Build Infrastructure Project Quarterly Report Message-ID: State of the OpenJDK Build Infrastructure Project (last report was Sept 2011 maybe?) The build-infra Project has been progressing nicely. We transitioned from primarily working on jdk7 as a base to jdk8 which has been our priority for quite a while now. Currently the new build in jdk8 can be performed by running: cd common/makefiles ../autoconf/configure make Of course everyone's mileage may vary, and that's one of the efforts going on now. We will be continuing to stabilize the build on all platforms and with all standard build variations in the coming months, including doing detailed build result comparisons to the old builds, and eventually also doing jigsaw builds. At some point we will be changing the default build from the old Makefiles to the new ones, but not until we are satisfied that we have a reliable and stable system and have satisfied the developers that what we have is ready for prime time. Many thanks to the entire build-infra team (http://openjdk.java.net/census#build-infra) for all the hard work on this project. -kto From oehrstroem at gmail.com Sun Jul 15 02:49:43 2012 From: oehrstroem at gmail.com (=?ISO-8859-1?Q?Fredrik_=D6hrstr=F6m?=) Date: Sun, 15 Jul 2012 11:49:43 +0200 Subject: Long sed commands In-Reply-To: <4B7E291E-CE61-4CD9-A737-73CD8ABBA91B@oracle.com> References: <767609F7-311A-44F3-8ABC-23BE75DA13DC@oracle.com> <071DCEE3-F3B6-436D-87F1-33BD4EC85491@oracle.com> <4B7E291E-CE61-4CD9-A737-73CD8ABBA91B@oracle.com> Message-ID: 2012/7/13 Kelly O'Hair : > > On Jul 12, 2012, at 9:26 AM, Mike Duigou wrote: > >> Does anyone have an explanation about why just these conversions are applied and a general translation similar to : >> >> \\u00\([0-9a-fA-F]{2,2}\) => \x\1 >> >> can't be applied? Why can't the source file just be modified? > > I wondered about that too. The sources probably require the /u (property files), but we need \x if we want to process the > text with Unix utilities? I'm just getting started understanding this stuff in detail. It all goes back to the somewhat surprising stipulation that property files have to be encoded in iso8859, unless you load them in a special way. One solution is to use native2ascii and drop the sed expression in the makefile and difftext.sh altogether. Then we should start changing the actual sources for the properties files all over the jdk, but up until now the build-infra project has avoided sources changes/cleanups. My suggestion is that the properties file sources in the openjdk should be encoded into pure 7-bit ascii with \u escapes for everything, include the iso8869 characters. This way, you can easily open up the property files in any editor and not need to rely on the editors ability to detect the actual encoding for you. If the sources were changed to be encoded like this, then they would work out of the box with the openjdk, and the makefile could simply halt on error if it detects non 7-bit pure ascii. No need for cleaning/stripping of properties. Mikes suggestion does not work since the \x09 are interpreted into a binary values when the sed script is loaded. You cannot create dynamic binary values using sed. And not only that, \x09 is gnu extension and does not work on bsd and probably not solaris either! Thus the short term solution is to replace it with native2ascii! But starting native2ascii means starting a jvm for each file, thus the preferable and long term solution is to cleanup the property source files and not do cleaning/stripping at all. More background.... In the old build system, there are two StripProperties.java in corba and in the jdk with slightly different implementations and command line options. And there are two CompileProperties.java in langtools and in the jdk. Also slightly different. There is >also< a broken sed implementation of StripProperties in the jdk, and sometimes the properties files are simply copied over. The net result is that, property files in the old build are: sometimes compiled to a bytecode class, and for those that remain text: : is sometimes translated to \: = is sometimes translated to \= # comment is sometimes cleaned to only #, in a broken way, since # inside text strings mutilates the text string. # comment is sometimes removed completely. \u00E9 is sometimes translated to binary E9, ie part of iso8859-1 translation, but not always. The key values are sometimes sorted into a stable random sort. This makes it hard for the compareimages.sh script (in particular difftext.sh) to compare the old and the new build. //Fredrik From jonathan.gibbons at oracle.com Tue Jul 17 10:00:06 2012 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 17 Jul 2012 10:00:06 -0700 Subject: Long sed commands In-Reply-To: References: <767609F7-311A-44F3-8ABC-23BE75DA13DC@oracle.com> <071DCEE3-F3B6-436D-87F1-33BD4EC85491@oracle.com> <4B7E291E-CE61-4CD9-A737-73CD8ABBA91B@oracle.com> Message-ID: <50059A16.5020904@oracle.com> On 07/15/2012 02:49 AM, Fredrik ?hrstr?m wrote: > This makes it hard for the compareimages.sh script (in particular difftext.sh) > to compare the old and the new build. Can you not do an "intelligent compare", comparing the resource bundles creating by loading the properties files? In those cases where StripProperties is damaging the files in the old build, you should treat that as a bug and fix that, independently of the new build. -- Jon From fredrik.ohrstrom at oracle.com Tue Jul 17 13:13:55 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 17 Jul 2012 20:13:55 +0000 Subject: hg: build-infra/jdk8/langtools: Refactor the javac server and added comments. Message-ID: <20120717201402.255D9470DD@hg.openjdk.java.net> Changeset: ae5de94a440a Author: ohrstrom Date: 2012-07-17 22:13 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/ae5de94a440a Refactor the javac server and added comments. + src/share/classes/com/sun/tools/javac/server/CompilerPool.java + src/share/classes/com/sun/tools/javac/server/CompilerThread.java ! src/share/classes/com/sun/tools/javac/server/JavacServer.java + src/share/classes/com/sun/tools/javac/server/PortFile.java ! src/share/classes/com/sun/tools/javac/smart/CompileJavaPackages.java ! src/share/classes/com/sun/tools/javac/smart/JavacState.java ! src/share/classes/com/sun/tools/javac/smart/Main.java From fredrik.ohrstrom at oracle.com Tue Jul 17 15:32:12 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 17 Jul 2012 22:32:12 +0000 Subject: hg: build-infra/jdk8/langtools: Support for win32 paths. Message-ID: <20120717223215.10446470E0@hg.openjdk.java.net> Changeset: 3afd2e213fae Author: ohrstrom Date: 2012-07-18 00:05 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/3afd2e213fae Support for win32 paths. ! src/share/classes/com/sun/tools/javac/server/JavacServer.java ! src/share/classes/com/sun/tools/javac/smart/JavacState.java ! src/share/classes/com/sun/tools/javac/smart/Main.java ! src/share/classes/com/sun/tools/javac/smart/Source.java From fredrik.ohrstrom at oracle.com Tue Jul 17 15:53:58 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Tue, 17 Jul 2012 22:53:58 +0000 Subject: hg: build-infra/jdk8/langtools: Added logging of the id string. Message-ID: <20120717225400.E1FA9470E1@hg.openjdk.java.net> Changeset: fe7d2bd7c73f Author: ohrstrom Date: 2012-07-18 00:53 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/fe7d2bd7c73f Added logging of the id string. ! src/share/classes/com/sun/tools/javac/server/CompilerThread.java ! src/share/classes/com/sun/tools/javac/server/JavacServer.java ! src/share/classes/com/sun/tools/javac/smart/JavacState.java From fredrik.ohrstrom at oracle.com Wed Jul 18 14:06:08 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 18 Jul 2012 21:06:08 +0000 Subject: hg: build-infra/jdk8/langtools: Refactoring and documenting. Message-ID: <20120718210615.A57B147117@hg.openjdk.java.net> Changeset: e70adddf4cc7 Author: ohrstrom Date: 2012-07-18 23:05 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/e70adddf4cc7 Refactoring and documenting. ! src/share/classes/com/sun/tools/javac/server/CompilerPool.java ! src/share/classes/com/sun/tools/javac/server/CompilerThread.java ! src/share/classes/com/sun/tools/javac/server/JavacServer.java ! src/share/classes/com/sun/tools/javac/server/PortFile.java ! src/share/classes/com/sun/tools/javac/smart/BuildState.java ! src/share/classes/com/sun/tools/javac/smart/CleanProperties.java ! src/share/classes/com/sun/tools/javac/smart/CompileJavaPackages.java ! src/share/classes/com/sun/tools/javac/smart/CopyFile.java ! src/share/classes/com/sun/tools/javac/smart/JavacState.java ! src/share/classes/com/sun/tools/javac/smart/Main.java ! src/share/classes/com/sun/tools/javac/smart/Package.java From fredrik.ohrstrom at oracle.com Wed Jul 18 14:07:06 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 18 Jul 2012 21:07:06 +0000 Subject: hg: build-infra/jdk8: Added --permit-unidentified-artifacts to smart javac wrapper call. Message-ID: <20120718210706.74F1847118@hg.openjdk.java.net> Changeset: de46bddf5707 Author: ohrstrom Date: 2012-07-18 23:05 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/de46bddf5707 Added --permit-unidentified-artifacts to smart javac wrapper call. ! common/makefiles/JavaCompilation.gmk From fredrik.ohrstrom at oracle.com Wed Jul 18 14:31:20 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Wed, 18 Jul 2012 21:31:20 +0000 Subject: hg: build-infra/jdk8/langtools: Refactoring and documenting. Message-ID: <20120718213127.ABE244711B@hg.openjdk.java.net> Changeset: c75f36206a09 Author: ohrstrom Date: 2012-07-18 23:30 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/c75f36206a09 Refactoring and documenting. ! src/share/classes/com/sun/tools/javac/smart/CompileJavaPackages.java ! src/share/classes/com/sun/tools/javac/smart/JavacState.java ! src/share/classes/com/sun/tools/javac/smart/Main.java ! src/share/classes/com/sun/tools/javac/smart/Module.java ! src/share/classes/com/sun/tools/javac/smart/Package.java ! src/share/classes/com/sun/tools/javac/smart/Source.java ! src/share/classes/com/sun/tools/javac/util/SmartFileManager.java From fredrik.ohrstrom at oracle.com Thu Jul 19 02:47:59 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Thu, 19 Jul 2012 09:47:59 +0000 Subject: hg: build-infra/jdk8: Added quotes around arguments that might contain ; on win32. Message-ID: <20120719094759.E248A4713C@hg.openjdk.java.net> Changeset: 63900a1ccd7d Author: ohrstrom Date: 2012-07-19 11:46 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/63900a1ccd7d Added quotes around arguments that might contain ; on win32. ! common/makefiles/JavaCompilation.gmk From fredrik.ohrstrom at oracle.com Thu Jul 19 13:47:54 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Thu, 19 Jul 2012 20:47:54 +0000 Subject: hg: build-infra/jdk8/langtools: Refactor and document. Message-ID: <20120719204758.C60534714D@hg.openjdk.java.net> Changeset: 8ab080a46fde Author: ohrstrom Date: 2012-07-19 22:47 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/8ab080a46fde Refactor and document. - src/share/classes/com/sun/tools/javac/comp/ApiVisitor.java ! src/share/classes/com/sun/tools/javac/comp/Dependencies.java ! src/share/classes/com/sun/tools/javac/comp/PubapiVisitor.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java From fredrik.ohrstrom at oracle.com Thu Jul 19 13:49:47 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Thu, 19 Jul 2012 20:49:47 +0000 Subject: hg: build-infra/jdk8/langtools: 8 new changesets Message-ID: <20120719205003.8ADE64714E@hg.openjdk.java.net> Changeset: 4ca599497172 Author: katleman Date: 2012-06-28 09:33 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/4ca599497172 Added tag jdk8-b45 for changeset e111e4587cca ! .hgtags Changeset: 934a89402f85 Author: mcimadamore Date: 2012-07-13 12:58 +0100 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/934a89402f85 7181578: javac reports uninitialized variable with nested try...finally blocks Summary: regression introduced in refactoring of Flow.java Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Flow.java + test/tools/javac/DefiniteAssignment/T7181578.java Changeset: c7e62fc9df92 Author: katleman Date: 2012-07-05 18:44 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/c7e62fc9df92 Added tag jdk8-b46 for changeset 4ca599497172 ! .hgtags Changeset: 7e6be2f239c9 Author: ohair Date: 2012-07-08 20:34 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/7e6be2f239c9 Merge Changeset: afb0a5231557 Author: katleman Date: 2012-07-12 16:48 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/afb0a5231557 Added tag jdk8-b47 for changeset 7e6be2f239c9 ! .hgtags Changeset: 1f8fc9e50a1f Author: lana Date: 2012-07-16 17:05 -0700 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/1f8fc9e50a1f Merge Changeset: 1a6c071ddd9e Author: ohrstrom Date: 2012-07-19 22:27 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/1a6c071ddd9e Merge from jdk8/tl/langtools. Changeset: ae0dd3ab0f6e Author: ohrstrom Date: 2012-07-19 22:49 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/ae0dd3ab0f6e merge - src/share/classes/com/sun/tools/javac/comp/ApiVisitor.java From david.holmes at oracle.com Fri Jul 20 01:12:42 2012 From: david.holmes at oracle.com (David Holmes) Date: Fri, 20 Jul 2012 18:12:42 +1000 Subject: RFR: 7130909 Add a more general mechanism for customizing the build logic Message-ID: <500912FA.6010105@oracle.com> This continues from a preliminary discussion on the build-dev list way back in January: http://mail.openjdk.java.net/pipermail/build-dev/2012-January/005383.html but now includes changes for the build-infra build, which now supports the SE-Embedded builds This has to be sent to three mailing lists: - build-dev for legacy build - build-infra for new build - core-libs as a heads up of what is coming The plan is to push this through the build-infra repositories to keep everything together. The intent is to move all of the SE-Embedded related build files (and eventually other "closed" components) out of the OpenJDK repositories. The mechanism for doing this is to allow the user to set a CUSTOM_MAKE_DIR and then have specific makefiles use the -include mechanism to then include the custom file if it exists. In its most general form every makefile could include a custom counterpart - but naturally we do not want to go there. So at present the only hooks are around the places where the SE-Embedded specialization occurred. The -include mechanism is used so that we don't need to a bunch of existence tests. If a particular file is not found then make will ignore that (aside: we should probably fix the makefiles so that make does not try to create missing makefiles!) There is no expectation that you have to provide a custom file for every hook that exists - you only provide what you need. On the build-infra side we allow for the CUSTOM_MAKE_DIR and add support for the CUSTOM_CONFIG_DIR (which generalizes the "closed" config hook that was recently added). There are thus two webrevs. One for the jdk repo: http://cr.openjdk.java.net/~dholmes/7130909/webrev.jdk/ make/* is legacy build changes makefiles/* is new build-infra changes the other in the root repo: http://cr.openjdk.java.net/~dholmes/7130909/webrev.root/ which contains the build-infra changes to the autoconf stuff: - add support for --with-custom-make-dir as a configure flag. - modified the "closed hook" mechanism to - rename closed hook to custom hook - allow setting CUSTOM_CONFIG_DIR at autogen time and configure time, to point to alternate location to find the custom-hook.m4 file Note that because of the way this all works you must run autogen if you want to specify a custom config dir for the custom-hook.m4. But note that you don't need to have a custom config just to use CUSTOM_MAKE_DIR! Thanks, David From fredrik.ohrstrom at oracle.com Fri Jul 20 04:38:01 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Fri, 20 Jul 2012 11:38:01 +0000 Subject: hg: build-infra/jdk8: Moved smart javac wrapper to com.sun.tools.sjavac Message-ID: <20120720113801.6394847168@hg.openjdk.java.net> Changeset: e598b2b1cb4b Author: ohrstrom Date: 2012-07-20 13:37 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/rev/e598b2b1cb4b Moved smart javac wrapper to com.sun.tools.sjavac ! common/makefiles/JavaCompilation.gmk From fredrik.ohrstrom at oracle.com Fri Jul 20 04:38:17 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Fri, 20 Jul 2012 11:38:17 +0000 Subject: hg: build-infra/jdk8/langtools: Moving smart javac wrapper into com.sun.tools.sjavac Message-ID: <20120720113819.2B12347169@hg.openjdk.java.net> Changeset: 18b66b34a85e Author: ohrstrom Date: 2012-07-20 13:36 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/18b66b34a85e Moving smart javac wrapper into com.sun.tools.sjavac - src/share/classes/com/sun/tools/javac/smart/BuildState.java - src/share/classes/com/sun/tools/javac/smart/CleanProperties.java - src/share/classes/com/sun/tools/javac/smart/CompileJavaPackages.java - src/share/classes/com/sun/tools/javac/smart/CompileProperties.java - src/share/classes/com/sun/tools/javac/smart/CopyFile.java - src/share/classes/com/sun/tools/javac/smart/JavacState.java - src/share/classes/com/sun/tools/javac/smart/Log.java - src/share/classes/com/sun/tools/javac/smart/Main.java - src/share/classes/com/sun/tools/javac/smart/Module.java - src/share/classes/com/sun/tools/javac/smart/Package.java - src/share/classes/com/sun/tools/javac/smart/ProblemException.java - src/share/classes/com/sun/tools/javac/smart/Source.java - src/share/classes/com/sun/tools/javac/smart/SyntaxException.java - src/share/classes/com/sun/tools/javac/smart/Transformer.java - src/share/classes/com/sun/tools/javac/smart/Util.java + src/share/classes/com/sun/tools/sjavac/BuildState.java + src/share/classes/com/sun/tools/sjavac/CleanProperties.java + src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java + src/share/classes/com/sun/tools/sjavac/CompileProperties.java + src/share/classes/com/sun/tools/sjavac/CopyFile.java + src/share/classes/com/sun/tools/sjavac/JavacState.java + src/share/classes/com/sun/tools/sjavac/Log.java + src/share/classes/com/sun/tools/sjavac/Main.java + src/share/classes/com/sun/tools/sjavac/Module.java + src/share/classes/com/sun/tools/sjavac/Package.java + src/share/classes/com/sun/tools/sjavac/ProblemException.java + src/share/classes/com/sun/tools/sjavac/Source.java + src/share/classes/com/sun/tools/sjavac/SyntaxException.java + src/share/classes/com/sun/tools/sjavac/Transformer.java + src/share/classes/com/sun/tools/sjavac/Util.java From fredrik.ohrstrom at oracle.com Fri Jul 20 13:20:18 2012 From: fredrik.ohrstrom at oracle.com (fredrik.ohrstrom at oracle.com) Date: Fri, 20 Jul 2012 20:20:18 +0000 Subject: hg: build-infra/jdk8/langtools: Cleanups. Message-ID: <20120720202023.1B1BF47174@hg.openjdk.java.net> Changeset: ee704cc50398 Author: ohrstrom Date: 2012-07-20 22:20 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk8/langtools/rev/ee704cc50398 Cleanups. ! src/share/classes/com/sun/tools/javac/server/JavacServer.java + src/share/classes/com/sun/tools/javac/server/OptionParser.java - src/share/classes/com/sun/tools/javac/util/OptionParser.java ! src/share/classes/com/sun/tools/sjavac/JavacState.java ! src/share/classes/com/sun/tools/sjavac/Log.java ! src/share/classes/com/sun/tools/sjavac/Main.java ! src/share/classes/com/sun/tools/sjavac/Source.java - src/share/classes/com/sun/tools/sjavac/SyntaxException.java