diff -Nru jdk22u-jdk-22-33.orig/make/autoconf/spec.gmk.in jdk22u-jdk-22-33/make/autoconf/spec.gmk.in --- jdk22u-jdk-22-33.orig/make/autoconf/spec.gmk.template 2024-01-22 17:02:33.000000000 +0100 +++ jdk22u-jdk-22-33/make/autoconf/spec.gmk.template 2024-01-27 15:45:38.510790947 +0100 @@ -826,6 +826,57 @@ #################################################### # +# INSTALLATION +# + +# Common prefix for all installed files. Defaults to /usr/local, +# but /opt/myjdk is another common version. +INSTALL_PREFIX = @prefix@ + +# Directories containing architecture-dependent files should be relative to exec_prefix +INSTALL_EXECPREFIX = @exec_prefix@ + +# java,javac,javap etc are installed here. +INSTALL_BINDIR = @bindir@ + +# Read only architecture-independent data +INSTALL_DATADIR = @datadir@ + +# Root of above. +INSTALL_DATAROOTDIR = @datarootdir@ + +# Doc files, other than info and man. +INSTALL_DOCDIR = @docdir@ + +# Html documentation +INSTALL_HTMLDIR = @htmldir@ + +# Installing C header files, JNI headers for example. +INSTALL_INCLUDEDIR = @includedir@ + +# Installing library files.... +INSTALL_INCLUDEDIR = @libdir@ + +# Executables that other programs run. +INSTALL_LIBEXECDIR = @libexecdir@ + +# Locale-dependent but architecture-independent data, such as message catalogs. +INSTALL_LOCALEDIR = @localedir@ + +# Modifiable single-machine data +INSTALL_LOCALSTATEDIR = @localstatedir@ + +# Man pages +INSTALL_MANDIR = @mandir@ + +# Modifiable architecture-independent data. +INSTALL_SHAREDSTATEDIR = @sharedstatedir@ + +# Read-only single-machine data +INSTALL_SYSCONFDIR = @sysconfdir@ + +#################################################### +# # Libraries # diff -Nru jdk22u-jdk-22-33.orig/make/Global.gmk jdk22u-jdk-22-33/make/Global.gmk --- jdk22u-jdk-22-33.orig/make/Global.gmk 2024-01-22 17:02:33.000000000 +0100 +++ jdk22u-jdk-22-33/make/Global.gmk 2024-01-27 15:45:38.509506235 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2022, 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 @@ -52,6 +52,7 @@ $(info $(_) make docs # Create all docs) $(info $(_) make docs-jdk-api # Create just JDK javadocs) $(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK) + $(info $(_) make install # Install the generated images locally) $(info $(_) make check # Run basic testing (currently tier1)) $(info $(_) make test- # Run test, e.g. test-tier1) $(info $(_) make test TEST= # Run test(s) given by TEST specification) diff -Nru jdk22u-jdk-22-33.orig/make/Install.gmk jdk22u-jdk-22-33/make/Install.gmk --- jdk22u-jdk-22-33.orig/make/Install.gmk 1970-01-01 01:00:00.000000000 +0100 +++ jdk22u-jdk-22-33/make/Install.gmk 2024-01-27 15:45:38.509708752 +0100 @@ -0,0 +1,43 @@ +# +# Copyright (c) 2014, 2015, 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 +# 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. +# + +default: install + +include $(SPEC) + +BINARIES := $(notdir $(wildcard $(JDK_IMAGE_DIR)/bin/*)) +INSTALLDIR := openjdk-$(VERSION_SHORT) + +# Install the jdk image, in a very crude way. Not taking into +# account, how to install properly on macosx or windows etc. +install: + echo Installing jdk image into $(INSTALL_PREFIX)/jvm/$(INSTALLDIR) + echo and creating $(words $(BINARIES)) links from $(INSTALL_PREFIX)/bin into the jdk. + $(MKDIR) -p $(INSTALL_PREFIX)/jvm/$(INSTALLDIR) + $(RM) -r $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/* + $(CP) -rp $(JDK_IMAGE_DIR)/* $(INSTALL_PREFIX)/jvm/$(INSTALLDIR) + $(MKDIR) -p $(INSTALL_PREFIX)/bin + $(RM) $(addprefix $(INSTALL_PREFIX)/bin/, $(BINARIES)) + $(foreach b, $(BINARIES), $(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true diff -Nru jdk22u-jdk-22-33.orig/make/Main.gmk jdk22u-jdk-22-33/make/Main.gmk --- jdk22u-jdk-22-33.orig/make/Main.gmk 2024-01-22 17:02:33.000000000 +0100 +++ jdk22u-jdk-22-33/make/Main.gmk 2024-01-27 15:45:38.510344411 +0100 @@ -867,6 +867,14 @@ endif ################################################################################ +# Install targets + +$(eval $(call SetupTarget, install, \ + MAKEFILE := Install, \ + DEPS := product-images, \ +)) + +################################################################################ # # Dependency declarations between targets. #