From magnus.ihse.bursie at oracle.com Wed Apr 8 06:38:24 2015 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Wed, 8 Apr 2015 08:38:24 +0200 Subject: =?utf-8?Q?CFV:_New_Build_Infrastructure_Committer:_Ingemar_?= =?utf-8?Q?=C3=85berg?= Message-ID: <56053303-26A5-4961-B035-34335C462DCE@oracle.com> I hereby nominate Ingemar ?berg (aka iaberg) to Build Infrastructure Committer. Ingemar has been active in the current effort to convert the Hotspot build system to the build-infra framework, and in build changes in JDK9. http://hg.openjdk.java.net/build-infra/jdk9/log?rev=ingemar.aberg http://hg.openjdk.java.net/build-infra/jdk9/hotspot/log?rev=ingemar.aberg Votes are due by: 22 Apr 2015. Only current Build Infrastructure Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. /Magnus [1] http://openjdk.java.net/census [2] http://openjdk.java.net/projects/#committer-vote From magnus.ihse.bursie at oracle.com Wed Apr 8 06:58:36 2015 From: magnus.ihse.bursie at oracle.com (magnus.ihse.bursie at oracle.com) Date: Wed, 08 Apr 2015 06:58:36 +0000 Subject: hg: build-infra/jdk9/hotspot: Fix flags for adlc on windows. Message-ID: <201504080658.t386waNH003669@aojmv0008> Changeset: 35bca883ff78 Author: iaberg Date: 2015-04-08 08:59 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/35bca883ff78 Fix flags for adlc on windows. ! makefiles/GensrcAdlc.gmk From magnus.ihse.bursie at oracle.com Wed Apr 8 07:05:18 2015 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Wed, 08 Apr 2015 09:05:18 +0200 Subject: =?UTF-8?B?UmU6IENGVjogTmV3IEJ1aWxkIEluZnJhc3RydWN0dXJlIENvbW1pdHQ=?= =?UTF-8?B?ZXI6IEluZ2VtYXIgw4ViZXJn?= In-Reply-To: <56053303-26A5-4961-B035-34335C462DCE@oracle.com> References: <56053303-26A5-4961-B035-34335C462DCE@oracle.com> Message-ID: <5524D32E.6020708@oracle.com> Vote: yes /Magnus On 2015-04-08 08:38, Magnus Ihse Bursie wrote: > I hereby nominate Ingemar ?berg (aka iaberg) to Build Infrastructure Committer. > > Ingemar has been active in the current effort to convert the Hotspot build system to the build-infra framework, and in build changes in JDK9. > > http://hg.openjdk.java.net/build-infra/jdk9/log?rev=ingemar.aberg > > http://hg.openjdk.java.net/build-infra/jdk9/hotspot/log?rev=ingemar.aberg > > Votes are due by: 22 Apr 2015. > > Only current Build Infrastructure Committers [1] are eligible to vote on this nomination. > Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > /Magnus > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > From magnus.ihse.bursie at oracle.com Wed Apr 8 07:54:22 2015 From: magnus.ihse.bursie at oracle.com (magnus.ihse.bursie at oracle.com) Date: Wed, 08 Apr 2015 07:54:22 +0000 Subject: hg: build-infra/jdk9/hotspot: comparing with http://hg.openjdk.java.net/build-infra/jdk9/hotspot Message-ID: <201504080754.t387sMS5015821@aojmv0008> Changeset: 0576e33b6ba7 Author: ihse Date: 2015-04-08 09:55 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/0576e33b6ba7 comparing with http://hg.openjdk.java.net/build-infra/jdk9/hotspot searching for changes changeset: 8081:d73e84066b7d tag: tip user: iaberg date: Wed Apr 08 09:44:38 2015 +0200 summary: Fixed ADLCFLAGS on 64bit windows ! makefiles/GensrcAdlc.gmk From erik.joelsson at oracle.com Wed Apr 8 08:02:55 2015 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Wed, 08 Apr 2015 10:02:55 +0200 Subject: =?UTF-8?B?UmU6IENGVjogTmV3IEJ1aWxkIEluZnJhc3RydWN0dXJlIENvbW1pdHQ=?= =?UTF-8?B?ZXI6IEluZ2VtYXIgw4ViZXJn?= In-Reply-To: <56053303-26A5-4961-B035-34335C462DCE@oracle.com> References: <56053303-26A5-4961-B035-34335C462DCE@oracle.com> Message-ID: <5524E0AF.2080702@oracle.com> Vote: yes /Erik On 2015-04-08 08:38, Magnus Ihse Bursie wrote: > I hereby nominate Ingemar ?berg (aka iaberg) to Build Infrastructure Committer. > > Ingemar has been active in the current effort to convert the Hotspot build system to the build-infra framework, and in build changes in JDK9. > > http://hg.openjdk.java.net/build-infra/jdk9/log?rev=ingemar.aberg > > http://hg.openjdk.java.net/build-infra/jdk9/hotspot/log?rev=ingemar.aberg > > Votes are due by: 22 Apr 2015. > > Only current Build Infrastructure Committers [1] are eligible to vote on this nomination. > Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > /Magnus > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > From erik.joelsson at oracle.com Wed Apr 8 09:57:14 2015 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Wed, 08 Apr 2015 09:57:14 +0000 Subject: hg: build-infra/jdk9: Building new hotspot on macosx, but not yet equal to old build Message-ID: <201504080957.t389vEqB010354@aojmv0008> Changeset: 74877e4613b5 Author: jprtadm Date: 2015-04-08 11:22 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/rev/74877e4613b5 Building new hotspot on macosx, but not yet equal to old build ! common/autoconf/flags.m4 ! common/autoconf/generated-configure.sh ! common/bin/compare_exceptions.sh.incl ! make/common/MakeBase.gmk ! make/common/NativeCompilation.gmk From erik.joelsson at oracle.com Wed Apr 8 09:57:40 2015 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Wed, 08 Apr 2015 09:57:40 +0000 Subject: hg: build-infra/jdk9/hotspot: 3 new changesets Message-ID: <201504080957.t389veJl010526@aojmv0008> Changeset: 928c0bd96ccf Author: jprtadm Date: 2015-04-08 11:21 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/928c0bd96ccf OLDBUILD: Macosx: Compile with -g even if opt flag is changed for a specific file. Order SA source files for better comparison. ! make/bsd/makefiles/amd64.make ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/saproc.make Changeset: 39c350cada43 Author: jprtadm Date: 2015-04-08 11:22 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/39c350cada43 Building new hotspot on macosx, but not yet equal to old build ! makefiles/Common.gmk ! makefiles/CompileJvm.gmk ! makefiles/CompileLibraries.gmk ! makefiles/Dist.gmk ! makefiles/GensrcAdlc.gmk ! makefiles/SA.gmk Changeset: 16162d809602 Author: erikj Date: 2015-04-08 11:57 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/16162d809602 Fixed build on linux again ! makefiles/Dist.gmk ! makefiles/GensrcAdlc.gmk From erik.joelsson at oracle.com Wed Apr 8 09:58:21 2015 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Wed, 08 Apr 2015 09:58:21 +0000 Subject: hg: build-infra/jdk9/jdk: Building new hotspot on macosx, but not yet equal to old build Message-ID: <201504080958.t389wLhp010749@aojmv0008> Changeset: 341914184cb3 Author: jprtadm Date: 2015-04-08 11:23 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/jdk/rev/341914184cb3 Building new hotspot on macosx, but not yet equal to old build ! make/launcher/LauncherCommon.gmk ! make/lib/LibCommon.gmk From magnus.ihse.bursie at oracle.com Wed Apr 8 12:49:31 2015 From: magnus.ihse.bursie at oracle.com (magnus.ihse.bursie at oracle.com) Date: Wed, 08 Apr 2015 12:49:31 +0000 Subject: hg: build-infra/jdk9: 2 new changesets Message-ID: <201504081249.t38CnVQ0021620@aojmv0008> Changeset: 2098e57a339e Author: iaberg Date: 2015-04-08 14:33 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/rev/2098e57a339e Use @-file for many object files in native compilation ! make/common/NativeCompilation.gmk Changeset: dba5dedcd25c Author: iaberg Date: 2015-04-08 14:48 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/rev/dba5dedcd25c Fixed typos ! make/common/NativeCompilation.gmk From magnus.ihse.bursie at oracle.com Wed Apr 8 13:14:52 2015 From: magnus.ihse.bursie at oracle.com (magnus.ihse.bursie at oracle.com) Date: Wed, 08 Apr 2015 13:14:52 +0000 Subject: hg: build-infra/jdk9/hotspot: 2 new changesets Message-ID: <201504081314.t38DEq3h028930@aojmv0008> Changeset: 7c4afee6ca88 Author: iaberg Date: 2015-04-08 15:14 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/7c4afee6ca88 Fixed libjvm compiler flags and mapfile for windows ! makefiles/Common.gmk ! makefiles/CompileJvm.gmk Changeset: ae4dfd2341bb Author: iaberg Date: 2015-04-08 15:15 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/ae4dfd2341bb removed stray backslash and -implib ! makefiles/Common.gmk From tim.bell at oracle.com Wed Apr 8 14:36:33 2015 From: tim.bell at oracle.com (Tim Bell) Date: Wed, 08 Apr 2015 07:36:33 -0700 Subject: =?UTF-8?B?UmU6IENGVjogTmV3IEJ1aWxkIEluZnJhc3RydWN0dXJlIENvbW1pdHQ=?= =?UTF-8?B?ZXI6IEluZ2VtYXIgw4ViZXJn?= In-Reply-To: <56053303-26A5-4961-B035-34335C462DCE@oracle.com> References: <56053303-26A5-4961-B035-34335C462DCE@oracle.com> Message-ID: <55253CF1.4080101@oracle.com> Vote: yes Tim On 04/07/15 23:38, Magnus Ihse Bursie wrote: > nominate Ingemar ?berg (aka iaberg) to Build Infrastructure Committer From magnus.ihse.bursie at oracle.com Wed Apr 8 21:26:07 2015 From: magnus.ihse.bursie at oracle.com (magnus.ihse.bursie at oracle.com) Date: Wed, 08 Apr 2015 21:26:07 +0000 Subject: hg: build-infra/jdk9/hotspot: Remove debug printout. Message-ID: <201504082126.t38LQ8l3001144@aojmv0008> Changeset: 80ad9a68860a Author: ihse Date: 2015-04-08 23:25 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/80ad9a68860a Remove debug printout. ! makefiles/CompileLibraries.gmk From magnus.ihse.bursie at oracle.com Fri Apr 10 08:39:46 2015 From: magnus.ihse.bursie at oracle.com (magnus.ihse.bursie at oracle.com) Date: Fri, 10 Apr 2015 08:39:46 +0000 Subject: hg: build-infra/jdk9/hotspot: 2 new changesets Message-ID: <201504100839.t3A8dk5e011551@aojmv0008> Changeset: 7b83619e67bd Author: iaberg Date: 2015-04-10 10:32 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/7b83619e67bd Fixed building sawindbg.dll, stopped trying to build jsig.dll fixed dist on windows ! makefiles/CompileLibraries.gmk ! makefiles/Dist.gmk ! makefiles/SA.gmk Changeset: 2c7329b889ed Author: ihse Date: 2015-04-10 10:40 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/2c7329b889ed Merge ! makefiles/CompileLibraries.gmk From magnus.ihse.bursie at oracle.com Tue Apr 14 06:57:48 2015 From: magnus.ihse.bursie at oracle.com (magnus.ihse.bursie at oracle.com) Date: Tue, 14 Apr 2015 06:57:48 +0000 Subject: hg: build-infra/jdk9/hotspot: Fixed Dist.gmk for windows Message-ID: <201504140657.t3E6vmvS003065@aojmv0008> Changeset: 9139f9891909 Author: iaberg Date: 2015-04-14 08:10 +0200 URL: http://hg.openjdk.java.net/build-infra/jdk9/hotspot/rev/9139f9891909 Fixed Dist.gmk for windows ! makefiles/Dist.gmk From volker.simonis at gmail.com Wed Apr 29 17:07:27 2015 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 29 Apr 2015 19:07:27 +0200 Subject: Problems in Dist.gmk with --enable-new-hotspot-build Message-ID: Hi, I'm currently trying to adopt the new HotSpot make system to ppc64. Linux/ppc64 seems quite simple and I get up to the COPY_INCLUDE step in Dist.gmk where it fails with: SetupCopyFiles COPY_INCLUDE [2] SRC := /usr/work/d046063/OpenJDK/jdk9-build [3] DEST := /priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/dist/include [4] FLATTEN := true [5] FILES := /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/prims/jni.h /priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/code/jvmticmlr.h /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/services/jmm.h gmake[4]: Entering directory `/net/usr.work/d046063/OpenJDK/jdk9-build/hotspot/makefiles' /bin/echo Copying files to dist directory Copying files to dist directory gmake[4]: *** No rule to make target `/usr/work/d046063/OpenJDK/jdk9-build//priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h', needed by `/priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/dist/include/jvmti.h'. Stop. But this also fails in the same way if I build on Linux/amd64. The problem seems to be in Dist.gmk: $(eval $(call SetupCopyFiles, COPY_INCLUDE, \ SRC := $(SRC_ROOT), \ DEST := $(DIST_OUTPUTDIR)/include, \ FLATTEN := true, \ FILES := $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h \ $(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h \ $(HOTSPOT_TOPDIR)/src/share/vm/code/jvmticmlr.h \ $(HOTSPOT_TOPDIR)/src/share/vm/services/jmm.h)) where we mix files from the source directory (e.g. $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h) with files from the output directory ($(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h) which doesn't seem to work. SetupCopyFiles has the following comment: # FILES : List of files to copy with absolute paths, or path relative to SRC. # Must be in SRC. And looking at the implementation of SetupCopyFiles I can see that first SRC is substituted from every FILES argument and later on the remaining file part is appended to SRC again. However if a file in FILES isn't located under SRC this can not work and results in a non-existing path like "/usr/work/d046063/OpenJDK/jdk9-build//priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h" in my example which is a concatenation of SRC with the complete absolute file path from FILES. Maybe you haven't seen this because you always build into a subdirectory of the source tree? Nevertheless I think this should be fixed. The easiest fix I can come up is to just divide the COPY_INCLUDE step into two steps like: $(eval $(call SetupCopyFiles, COPY_INCLUDE, \ SRC := $(SRC_ROOT), \ DEST := $(DIST_OUTPUTDIR)/include, \ FLATTEN := true, \ FILES := $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h \ $(HOTSPOT_TOPDIR)/src/share/vm/code/jvmticmlr.h \ $(HOTSPOT_TOPDIR)/src/share/vm/services/jmm.h)) TARGETS += $(COPY_INCLUDE) $(eval $(call SetupCopyFiles, COPY_GENERATED_INCLUDE, \ DEST := $(DIST_OUTPUTDIR)/include, \ FLATTEN := true, \ FILES := $(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h)) TARGETS += $(COPY_GENERATED_INCLUDE) With this change I could successfully build HotSpot with the new build system on Linux/amd64 (and with my other ppc-related changes also on Linux/ppc64). My configure line is: /priv/d046063/OpenJDK/output-jdk9-build-dbg$ bash /usr/work/d046063/OpenJDK/jdk9-build/configure --with-boot-jdk=/usr/work/openjdk/nb/linuxppc64/last_known_good/output-jdk8/images/j2sdk-image --with-jvm-variants=server --with-target-bits=64 --with-debug-level=slowdebug --disable-zip-debug-info --enable-new-hotspot-build Notice that the build and the source directory have no common root! My build command is: make hotspot-only LOG=debug If you'd make me a committer of the build-infr project I'd be happy to submit this fix along with the up-coming ppc fixes right into the build-infr repo :) Regards, Volker From erik.joelsson at oracle.com Wed Apr 29 20:25:56 2015 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Wed, 29 Apr 2015 13:25:56 -0700 Subject: Problems in Dist.gmk with --enable-new-hotspot-build In-Reply-To: References: Message-ID: <55413E54.6050509@oracle.com> Hello Volker, Very nice to see you are on top of this! I agree with your assessment of the failure and it is indeed an error to use SetupCopyFiles in that way. Splitting into two calls is the right solution. I also hope you aren't too scared by the current state of the new makefiles, there is still a lot of work to be done to make them nice and tidy. About making you committer, I would love to. I suppose we have to propose and vote about it just like with any other project? /Erik On 2015-04-29 10:07, Volker Simonis wrote: > Hi, > > I'm currently trying to adopt the new HotSpot make system to ppc64. > > Linux/ppc64 seems quite simple and I get up to the COPY_INCLUDE step in > Dist.gmk where it fails with: > > SetupCopyFiles COPY_INCLUDE > [2] SRC := /usr/work/d046063/OpenJDK/jdk9-build > [3] DEST := > /priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/dist/include > [4] FLATTEN := true > [5] FILES := > /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/prims/jni.h > /priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h > /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/code/jvmticmlr.h > /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/services/jmm.h > > gmake[4]: Entering directory > `/net/usr.work/d046063/OpenJDK/jdk9-build/hotspot/makefiles' > /bin/echo Copying files to dist directory > Copying files to dist directory > gmake[4]: *** No rule to make target > `/usr/work/d046063/OpenJDK/jdk9-build//priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h', > needed by > `/priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/dist/include/jvmti.h'. > Stop. > > But this also fails in the same way if I build on Linux/amd64. > > The problem seems to be in Dist.gmk: > > $(eval $(call SetupCopyFiles, COPY_INCLUDE, \ > SRC := $(SRC_ROOT), \ > DEST := $(DIST_OUTPUTDIR)/include, \ > FLATTEN := true, \ > FILES := $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h \ > $(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h \ > $(HOTSPOT_TOPDIR)/src/share/vm/code/jvmticmlr.h \ > $(HOTSPOT_TOPDIR)/src/share/vm/services/jmm.h)) > > where we mix files from the source directory (e.g. > $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h) with files from the output > directory ($(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h) which doesn't > seem to work. > > SetupCopyFiles has the following comment: > > # FILES : List of files to copy with absolute paths, or path relative > to SRC. > # Must be in SRC. > > And looking at the implementation of SetupCopyFiles I can see that first > SRC is substituted from every FILES argument and later on the remaining > file part is appended to SRC again. However if a file in FILES isn't > located under SRC this can not work and results in a non-existing path like > "/usr/work/d046063/OpenJDK/jdk9-build//priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h" > in my example which is a concatenation of SRC with the complete absolute > file path from FILES. > > Maybe you haven't seen this because you always build into a subdirectory of > the source tree? > Nevertheless I think this should be fixed. > > The easiest fix I can come up is to just divide the COPY_INCLUDE step into > two steps like: > > $(eval $(call SetupCopyFiles, COPY_INCLUDE, \ > SRC := $(SRC_ROOT), \ > DEST := $(DIST_OUTPUTDIR)/include, \ > FLATTEN := true, \ > FILES := $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h \ > $(HOTSPOT_TOPDIR)/src/share/vm/code/jvmticmlr.h \ > $(HOTSPOT_TOPDIR)/src/share/vm/services/jmm.h)) > > TARGETS += $(COPY_INCLUDE) > > $(eval $(call SetupCopyFiles, COPY_GENERATED_INCLUDE, \ > DEST := $(DIST_OUTPUTDIR)/include, \ > FLATTEN := true, \ > FILES := $(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h)) > > TARGETS += $(COPY_GENERATED_INCLUDE) > > With this change I could successfully build HotSpot with the new build > system on Linux/amd64 (and with my other ppc-related changes also on > Linux/ppc64). > > My configure line is: > > /priv/d046063/OpenJDK/output-jdk9-build-dbg$ bash > /usr/work/d046063/OpenJDK/jdk9-build/configure > --with-boot-jdk=/usr/work/openjdk/nb/linuxppc64/last_known_good/output-jdk8/images/j2sdk-image > --with-jvm-variants=server --with-target-bits=64 > --with-debug-level=slowdebug --disable-zip-debug-info > --enable-new-hotspot-build > > Notice that the build and the source directory have no common root! > > My build command is: > > make hotspot-only LOG=debug > > If you'd make me a committer of the build-infr project I'd be happy to > submit this fix along with the up-coming ppc fixes right into the > build-infr repo :) > > Regards, > Volker From volker.simonis at gmail.com Thu Apr 30 10:20:58 2015 From: volker.simonis at gmail.com (Volker Simonis) Date: Thu, 30 Apr 2015 12:20:58 +0200 Subject: Problems in Dist.gmk with --enable-new-hotspot-build In-Reply-To: <55413E54.6050509@oracle.com> References: <55413E54.6050509@oracle.com> Message-ID: On Wed, Apr 29, 2015 at 10:25 PM, Erik Joelsson wrote: > Hello Volker, > > Very nice to see you are on top of this! > > I agree with your assessment of the failure and it is indeed an error to use > SetupCopyFiles in that way. Splitting into two calls is the right solution. > OK, great! Could you then push this fix until I get committer status? I've attached a patch to this mail for your convenience. > I also hope you aren't too scared by the current state of the new makefiles, > there is still a lot of work to be done to make them nice and tidy. > No problem - I've noticed that there are still some rough edges :) I saw for example, that we use "JVM_EXCLUDE_PATTERNS += x86_32." in the solaris-sparcv9 block. I think that's not necessary, right? > About making you committer, I would love to. I suppose we have to propose > and vote about it just like with any other project? > I think so :) > /Erik > > > On 2015-04-29 10:07, Volker Simonis wrote: >> >> Hi, >> >> I'm currently trying to adopt the new HotSpot make system to ppc64. >> >> Linux/ppc64 seems quite simple and I get up to the COPY_INCLUDE step in >> Dist.gmk where it fails with: >> >> SetupCopyFiles COPY_INCLUDE >> [2] SRC := /usr/work/d046063/OpenJDK/jdk9-build >> [3] DEST := >> /priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/dist/include >> [4] FLATTEN := true >> [5] FILES := >> /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/prims/jni.h >> >> /priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h >> /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/code/jvmticmlr.h >> /usr/work/d046063/OpenJDK/jdk9-build/hotspot/src/share/vm/services/jmm.h >> >> gmake[4]: Entering directory >> `/net/usr.work/d046063/OpenJDK/jdk9-build/hotspot/makefiles' >> /bin/echo Copying files to dist directory >> Copying files to dist directory >> gmake[4]: *** No rule to make target >> >> `/usr/work/d046063/OpenJDK/jdk9-build//priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h', >> needed by >> >> `/priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/dist/include/jvmti.h'. >> Stop. >> >> But this also fails in the same way if I build on Linux/amd64. >> >> The problem seems to be in Dist.gmk: >> >> $(eval $(call SetupCopyFiles, COPY_INCLUDE, \ >> SRC := $(SRC_ROOT), \ >> DEST := $(DIST_OUTPUTDIR)/include, \ >> FLATTEN := true, \ >> FILES := $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h \ >> $(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h \ >> $(HOTSPOT_TOPDIR)/src/share/vm/code/jvmticmlr.h \ >> $(HOTSPOT_TOPDIR)/src/share/vm/services/jmm.h)) >> >> where we mix files from the source directory (e.g. >> $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h) with files from the output >> directory ($(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h) which doesn't >> seem to work. >> >> SetupCopyFiles has the following comment: >> >> # FILES : List of files to copy with absolute paths, or path relative >> to SRC. >> # Must be in SRC. >> >> And looking at the implementation of SetupCopyFiles I can see that first >> SRC is substituted from every FILES argument and later on the remaining >> file part is appended to SRC again. However if a file in FILES isn't >> located under SRC this can not work and results in a non-existing path >> like >> >> "/usr/work/d046063/OpenJDK/jdk9-build//priv/d046063/OpenJDK/output-jdk9-build-dbg/hotspot/gensrc/jvmtifiles/jvmti.h" >> in my example which is a concatenation of SRC with the complete absolute >> file path from FILES. >> >> Maybe you haven't seen this because you always build into a subdirectory >> of >> the source tree? >> Nevertheless I think this should be fixed. >> >> The easiest fix I can come up is to just divide the COPY_INCLUDE step into >> two steps like: >> >> $(eval $(call SetupCopyFiles, COPY_INCLUDE, \ >> SRC := $(SRC_ROOT), \ >> DEST := $(DIST_OUTPUTDIR)/include, \ >> FLATTEN := true, \ >> FILES := $(HOTSPOT_TOPDIR)/src/share/vm/prims/jni.h \ >> $(HOTSPOT_TOPDIR)/src/share/vm/code/jvmticmlr.h \ >> $(HOTSPOT_TOPDIR)/src/share/vm/services/jmm.h)) >> >> TARGETS += $(COPY_INCLUDE) >> >> $(eval $(call SetupCopyFiles, COPY_GENERATED_INCLUDE, \ >> DEST := $(DIST_OUTPUTDIR)/include, \ >> FLATTEN := true, \ >> FILES := $(HOTSPOT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h)) >> >> TARGETS += $(COPY_GENERATED_INCLUDE) >> >> With this change I could successfully build HotSpot with the new build >> system on Linux/amd64 (and with my other ppc-related changes also on >> Linux/ppc64). >> >> My configure line is: >> >> /priv/d046063/OpenJDK/output-jdk9-build-dbg$ bash >> /usr/work/d046063/OpenJDK/jdk9-build/configure >> >> --with-boot-jdk=/usr/work/openjdk/nb/linuxppc64/last_known_good/output-jdk8/images/j2sdk-image >> --with-jvm-variants=server --with-target-bits=64 >> --with-debug-level=slowdebug --disable-zip-debug-info >> --enable-new-hotspot-build >> >> Notice that the build and the source directory have no common root! >> >> My build command is: >> >> make hotspot-only LOG=debug >> >> If you'd make me a committer of the build-infr project I'd be happy to >> submit this fix along with the up-coming ppc fixes right into the >> build-infr repo :) >> >> Regards, >> Volker > > -------------- next part -------------- A non-text attachment was scrubbed... Name: Dist.gmk.patch Type: text/x-patch Size: 820 bytes Desc: not available URL: