author | weijun |
Thu, 10 Oct 2019 17:36:38 +0300 | |
changeset 59240 | b3116877866f |
parent 58842 | 6c255334120d |
permissions | -rw-r--r-- |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
1 |
# |
58842
6c255334120d
8232080: jlink plugins for vendor information and run-time options
mr
parents:
55292
diff
changeset
|
2 |
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
3 |
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
4 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
5 |
# This code is free software; you can redistribute it and/or modify it |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
6 |
# under the terms of the GNU General Public License version 2 only, as |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
7 |
# published by the Free Software Foundation. Oracle designates this |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
8 |
# particular file as subject to the "Classpath" exception as provided |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
9 |
# by Oracle in the LICENSE file that accompanied this code. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
10 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
11 |
# This code is distributed in the hope that it will be useful, but WITHOUT |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
12 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
13 |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
14 |
# version 2 for more details (a copy is included in the LICENSE file that |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
15 |
# accompanied this code). |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
16 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
17 |
# You should have received a copy of the GNU General Public License version |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
18 |
# 2 along with this work; if not, write to the Free Software Foundation, |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
19 |
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
20 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
21 |
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
22 |
# or visit www.oracle.com if you need additional information or have any |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
23 |
# questions. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
24 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
25 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
26 |
################################################################################ |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
27 |
# Install the launcher name, release version string, full version |
36225
6ae0eebc46e9
8150162: Move sun.misc.Version to a truly internal package
chegar
parents:
36110
diff
changeset
|
28 |
# string and the runtime name into the VersionProps.java file. |
28660
cc1e8dfe21be
8069261: Create make dependencies on make variable values
erikj
parents:
27565
diff
changeset
|
29 |
|
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
30 |
$(eval $(call SetupTextFileProcessing, BUILD_VERSION_JAVA, \ |
47217 | 31 |
SOURCE_FILES := $(TOPDIR)/src/java.base/share/classes/java/lang/VersionProps.java.template, \ |
36225
6ae0eebc46e9
8150162: Move sun.misc.Version to a truly internal package
chegar
parents:
36110
diff
changeset
|
32 |
OUTPUT_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/lang/VersionProps.java, \ |
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
33 |
REPLACEMENTS := \ |
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
34 |
@@LAUNCHER_NAME@@ => $(LAUNCHER_NAME) ; \ |
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
35 |
@@RUNTIME_NAME@@ => $(RUNTIME_NAME) ; \ |
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
36 |
@@VERSION_SHORT@@ => $(VERSION_SHORT) ; \ |
39302
aa8d0bc2a6d2
8160000: Runtime.version() cause startup regressions in 9+119
redestad
parents:
36672
diff
changeset
|
37 |
@@VERSION_STRING@@ => $(VERSION_STRING) ; \ |
aa8d0bc2a6d2
8160000: Runtime.version() cause startup regressions in 9+119
redestad
parents:
36672
diff
changeset
|
38 |
@@VERSION_NUMBER@@ => $(VERSION_NUMBER) ; \ |
aa8d0bc2a6d2
8160000: Runtime.version() cause startup regressions in 9+119
redestad
parents:
36672
diff
changeset
|
39 |
@@VERSION_PRE@@ => $(VERSION_PRE) ; \ |
aa8d0bc2a6d2
8160000: Runtime.version() cause startup regressions in 9+119
redestad
parents:
36672
diff
changeset
|
40 |
@@VERSION_BUILD@@ => $(VERSION_BUILD) ; \ |
48327 | 41 |
@@VERSION_OPT@@ => $(VERSION_OPT) ; \ |
42 |
@@VERSION_DATE@@ => $(VERSION_DATE) ; \ |
|
52724
0bdbf854472f
4947890: Minimize JNI upcalls in system-properties initialization
rriggs
parents:
48327
diff
changeset
|
43 |
@@VERSION_CLASSFILE_MAJOR@@ => $(VERSION_CLASSFILE_MAJOR) ; \ |
0bdbf854472f
4947890: Minimize JNI upcalls in system-properties initialization
rriggs
parents:
48327
diff
changeset
|
44 |
@@VERSION_CLASSFILE_MINOR@@ => $(VERSION_CLASSFILE_MINOR) ; \ |
52824
52a692760109
8214794: java.specification.version should be only the major version number
rriggs
parents:
52804
diff
changeset
|
45 |
@@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION) ; \ |
52724
0bdbf854472f
4947890: Minimize JNI upcalls in system-properties initialization
rriggs
parents:
48327
diff
changeset
|
46 |
@@VENDOR_VERSION_STRING@@ => $(VENDOR_VERSION_STRING) ; \ |
0bdbf854472f
4947890: Minimize JNI upcalls in system-properties initialization
rriggs
parents:
48327
diff
changeset
|
47 |
@@VENDOR@@ => $(COMPANY_NAME) ; \ |
0bdbf854472f
4947890: Minimize JNI upcalls in system-properties initialization
rriggs
parents:
48327
diff
changeset
|
48 |
@@VENDOR_URL@@ => $(VENDOR_URL) ; \ |
58842
6c255334120d
8232080: jlink plugins for vendor information and run-time options
mr
parents:
55292
diff
changeset
|
49 |
@@VENDOR_URL_BUG@@ => $(VENDOR_URL_BUG) ; \ |
6c255334120d
8232080: jlink plugins for vendor information and run-time options
mr
parents:
55292
diff
changeset
|
50 |
@@VENDOR_URL_VM_BUG@@ => $(VENDOR_URL_VM_BUG), \ |
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
51 |
)) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
52 |
|
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
53 |
GENSRC_JAVA_BASE += $(BUILD_VERSION_JAVA) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
54 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
55 |
################################################################################ |
12892 | 56 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
57 |
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), ) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
58 |
# Need to specify language since the template file has a non standard |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
59 |
# extension. |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
60 |
CPP_FLAGS += -x c |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
61 |
else ifeq ($(TOOLCHAIN_TYPE), microsoft) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
62 |
CPP_FLAGS += -nologo |
13164 | 63 |
endif |
12892 | 64 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
65 |
# Generate a java source file from a template through the C preprocessor for the |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
66 |
# target system. First extract the copyright notice at the start of the file. |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
67 |
# Run the preprocessor. Filter out the default compiler stderr output on |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
68 |
# Windows. Filter out all the header files output. Remove all "PREFIX_" strings |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
69 |
# that were added to variable references in the template files to avoid being |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
70 |
# matched by the preprocessor. Remove any #line directives left by the |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
71 |
# preprocessor. |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
72 |
define generate-preproc-src |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
73 |
$(call MakeDir, $(@D)) |
55292
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
74 |
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/gensrc/java.base/_$(@F), \ |
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
75 |
( $(NAWK) '/@@END_COPYRIGHT@@/{exit}1' $< && \ |
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
76 |
$(CPP) $(CPP_FLAGS) $(SYSROOT_CFLAGS) $(CFLAGS_JDKLIB) $< \ |
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
77 |
2> >($(GREP) -v '^$(<F)$$' >&2) \ |
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
78 |
| $(NAWK) '/@@START_HERE@@/,0' \ |
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
79 |
| $(SED) -e 's/@@START_HERE@@/\/\/ AUTOMATICALLY GENERATED FILE - DO NOT EDIT/' \ |
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
80 |
-e 's/PREFIX_//' -e 's/^#.*//' \ |
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
81 |
) > $@ \ |
f4b2d5b83ebf
8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents:
53683
diff
changeset
|
82 |
) |
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
83 |
endef |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
84 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
85 |
GENSRC_SOR_FILE += $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/ch/SocketOptionRegistry.java |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
86 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
87 |
$(GENSRC_SOR_FILE): \ |
47217 | 88 |
$(TOPDIR)/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template |
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
89 |
$(generate-preproc-src) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
90 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
91 |
GENSRC_JAVA_BASE += $(GENSRC_SOR_FILE) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
92 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
93 |
################################################################################ |
12892 | 94 |
|
53683 | 95 |
ifeq ($(call isTargetOs, windows), false) |
12892 | 96 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
97 |
GENSRC_UC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/UnixConstants.java |
12892 | 98 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
99 |
$(GENSRC_UC_FILE): \ |
47217 | 100 |
$(TOPDIR)/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template |
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
101 |
$(generate-preproc-src) |
13702 | 102 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
103 |
GENSRC_JAVA_BASE += $(GENSRC_UC_FILE) |
12892 | 104 |
|
105 |
endif |
|
106 |
||
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
107 |
################################################################################ |
12892 | 108 |
|
53683 | 109 |
ifeq ($(call isTargetOs, solaris), true) |
12892 | 110 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
111 |
GENSRC_SC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/SolarisConstants.java |
12892 | 112 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
113 |
$(GENSRC_SC_FILE): \ |
47217 | 114 |
$(TOPDIR)/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template |
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
115 |
$(generate-preproc-src) |
13164 | 116 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
117 |
GENSRC_JAVA_BASE += $(GENSRC_SC_FILE) |
12892 | 118 |
|
119 |
endif |
|
15324
74584166bb07
8000839: Integrate the Java Access Bridge with Java Runtime
raginip
parents:
14343
diff
changeset
|
120 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
121 |
################################################################################ |
42365
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
122 |
# Create the javax/crypto/JceSecurity.class, using the build default. |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
123 |
# |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
124 |
ifeq ($(UNLIMITED_CRYPTO), true) |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
125 |
JCE_DEFAULT_POLICY = unlimited |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
126 |
else |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
127 |
JCE_DEFAULT_POLICY = limited |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
128 |
endif |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
129 |
|
47217 | 130 |
ifneq ($(wildcard $(TOPDIR)/src/java.base/share/classes/javax/crypto/JceSecurity.java.template), ) |
43820
c1431f794388
8175165: Don't process JceSecurity.java.template if crypto sources is not present
ihse
parents:
42365
diff
changeset
|
131 |
$(eval $(call SetupTextFileProcessing, BUILD_JCESECURITY_JAVA, \ |
47217 | 132 |
SOURCE_FILES := $(TOPDIR)/src/java.base/share/classes/javax/crypto/JceSecurity.java.template, \ |
43820
c1431f794388
8175165: Don't process JceSecurity.java.template if crypto sources is not present
ihse
parents:
42365
diff
changeset
|
133 |
OUTPUT_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/javax/crypto/JceSecurity.java, \ |
c1431f794388
8175165: Don't process JceSecurity.java.template if crypto sources is not present
ihse
parents:
42365
diff
changeset
|
134 |
REPLACEMENTS := \ |
42365
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
135 |
@@JCE_DEFAULT_POLICY@@ => $(JCE_DEFAULT_POLICY), \ |
43820
c1431f794388
8175165: Don't process JceSecurity.java.template if crypto sources is not present
ihse
parents:
42365
diff
changeset
|
136 |
)) |
42365
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
137 |
|
43820
c1431f794388
8175165: Don't process JceSecurity.java.template if crypto sources is not present
ihse
parents:
42365
diff
changeset
|
138 |
GENSRC_JAVA_BASE += $(BUILD_JCESECURITY_JAVA) |
c1431f794388
8175165: Don't process JceSecurity.java.template if crypto sources is not present
ihse
parents:
42365
diff
changeset
|
139 |
endif |