changeset 57656:786a4824dba3

8236921: Add build target to produce a JDK image suitable for a Graal/SVM build Summary: make graal-builder-image will produce a suitable build JDK Reviewed-by: erikj
author sgehwolf
date Mon, 16 Dec 2019 11:06:01 +0100
parents 6d8a39322e51
children ef3fe23cec5f
files make/GraalBuilderImage.gmk make/Main.gmk make/autoconf/spec.gmk.in
diffstat 3 files changed, 69 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/GraalBuilderImage.gmk	Mon Dec 16 11:06:01 2019 +0100
@@ -0,0 +1,57 @@
+#
+# Copyright (c) 2020, Red Hat Inc.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# This makefile creates a jdk image overlayed with statically linked core
+# libraries.
+
+default: all
+
+include $(SPEC)
+include MakeBase.gmk
+
+################################################################################
+
+TARGETS :=
+
+$(eval $(call SetupCopyFiles, COPY_JDK_IMG, \
+      SRC := $(JDK_IMAGE_DIR)/, \
+      DEST := $(GRAAL_BUILDER_IMAGE_DIR)/, \
+      FILES := $(call FindFiles, $(JDK_IMAGE_DIR)/), \
+))
+TARGETS += $(COPY_JDK_IMG)
+
+$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS, \
+      SRC := $(STATIC_LIBS_IMAGE_DIR)/lib, \
+      DEST := $(GRAAL_BUILDER_IMAGE_DIR)/lib, \
+      FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
+          $(call FindFiles, $(STATIC_LIBS_IMAGE_DIR)/lib)), \
+))
+TARGETS += $(COPY_STATIC_LIBS)
+
+################################################################################
+
+all: $(TARGETS)
+
+.PHONY: all
--- a/make/Main.gmk	Wed Jan 15 10:45:03 2020 -0500
+++ b/make/Main.gmk	Mon Dec 16 11:06:01 2019 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -407,6 +407,9 @@
 exploded-image-optimize:
 	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk)
 
+graal-builder-image:
+	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GraalBuilderImage.gmk)
+
 ifeq ($(JCOV_ENABLED), true)
   jcov-image:
 	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Coverage.gmk jcov-image)
@@ -415,7 +418,7 @@
 ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
     zip-source jrtfs-jar jdk-image legacy-jre-image \
     symbols-image static-libs-image mac-jdk-bundle mac-legacy-jre-bundle \
-    release-file exploded-image-optimize jcov-image
+    release-file exploded-image-optimize graal-builder-image jcov-image
 
 ################################################################################
 # Docs targets
@@ -886,6 +889,8 @@
 
   static-libs-image: $(STATIC_LIBS_TARGETS)
 
+  graal-builder-image: jdk-image static-libs-image
+
   mac-jdk-bundle: jdk-image
   mac-legacy-jre-bundle: legacy-jre-image
 
--- a/make/autoconf/spec.gmk.in	Wed Jan 15 10:45:03 2020 -0500
+++ b/make/autoconf/spec.gmk.in	Mon Dec 16 11:06:01 2019 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -902,6 +902,10 @@
 STATIC_LIBS_IMAGE_SUBDIR := static-libs
 STATIC_LIBS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_IMAGE_SUBDIR)
 
+# Graal builder image
+GRAAL_BUILDER_IMAGE_SUBDIR := graal-builder-jdk
+GRAAL_BUILDER_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(GRAAL_BUILDER_IMAGE_SUBDIR)
+
 # Macosx bundles directory definitions
 JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
 JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle