diff --git a/make/GraalBuilderImage.gmk b/make/GraalBuilderImage.gmk new file mode 100644 index 00000000000..b10d53a19c2 --- /dev/null +++ b/make/GraalBuilderImage.gmk @@ -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 diff --git a/make/Main.gmk b/make/Main.gmk index b025fbb68b8..4e26a4e840d 100644 --- a/make/Main.gmk +++ b/make/Main.gmk @@ -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 @@ release-file: 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 @@ endif 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 @@ else 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 diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in index d7ddb646af0..b0b669c1499 100644 --- a/make/autoconf/spec.gmk.in +++ b/make/autoconf/spec.gmk.in @@ -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 @@ DOCS_OUTPUTDIR := $(DOCS_IMAGE_DIR) 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