author | ccheung |
Fri, 29 Sep 2017 10:11:01 -0700 | |
changeset 47564 | 25ef5e64fd71 |
parent 47217 | 72e3ae9a25eb |
child 47428 | d72d7d55c765 |
permissions | -rw-r--r-- |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
1 |
# |
36110
91a3a6df36ec
8150203: Incremental update from build-infra project
ihse
parents:
35241
diff
changeset
|
2 |
# Copyright (c) 2011, 2016, 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) ; \ |
aa8d0bc2a6d2
8160000: Runtime.version() cause startup regressions in 9+119
redestad
parents:
36672
diff
changeset
|
41 |
@@VERSION_OPT@@ => $(VERSION_OPT), \ |
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
42 |
)) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
43 |
|
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
44 |
GENSRC_JAVA_BASE += $(BUILD_VERSION_JAVA) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
45 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
46 |
################################################################################ |
12892 | 47 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
48 |
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
|
49 |
# 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
|
50 |
# extension. |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
51 |
CPP_FLAGS += -x c |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
52 |
else ifeq ($(TOOLCHAIN_TYPE), microsoft) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
53 |
CPP_FLAGS += -nologo |
13164 | 54 |
endif |
12892 | 55 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
56 |
# 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
|
57 |
# 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
|
58 |
# 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
|
59 |
# 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
|
60 |
# 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
|
61 |
# 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
|
62 |
# preprocessor. |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
63 |
define generate-preproc-src |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
64 |
$(call MakeDir, $(@D)) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
65 |
( $(NAWK) '/@@END_COPYRIGHT@@/{exit}1' $< && \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
66 |
$(CPP) $(CPP_FLAGS) $(SYSROOT_CFLAGS) $< \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
67 |
2> >($(GREP) -v '^$(<F)$$' >&2) \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
68 |
| $(NAWK) '/@@START_HERE@@/,0' \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
69 |
| $(SED) -e 's/@@START_HERE@@/\/\/ AUTOMATICALLY GENERATED FILE - DO NOT EDIT/' \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
70 |
-e 's/PREFIX_//' -e 's/^#.*//' \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
71 |
) > $@ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
72 |
endef |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
73 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
74 |
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
|
75 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
76 |
$(GENSRC_SOR_FILE): \ |
47217 | 77 |
$(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
|
78 |
$(generate-preproc-src) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
79 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
80 |
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
|
81 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
82 |
################################################################################ |
12892 | 83 |
|
20547 | 84 |
ifneq ($(OPENJDK_TARGET_OS), windows) |
12892 | 85 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
86 |
GENSRC_UC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/UnixConstants.java |
12892 | 87 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
88 |
$(GENSRC_UC_FILE): \ |
47217 | 89 |
$(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
|
90 |
$(generate-preproc-src) |
13702 | 91 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
92 |
GENSRC_JAVA_BASE += $(GENSRC_UC_FILE) |
12892 | 93 |
|
94 |
endif |
|
95 |
||
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
96 |
################################################################################ |
12892 | 97 |
|
20547 | 98 |
ifeq ($(OPENJDK_TARGET_OS), solaris) |
12892 | 99 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
100 |
GENSRC_SC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/SolarisConstants.java |
12892 | 101 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
102 |
$(GENSRC_SC_FILE): \ |
47217 | 103 |
$(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
|
104 |
$(generate-preproc-src) |
13164 | 105 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
106 |
GENSRC_JAVA_BASE += $(GENSRC_SC_FILE) |
12892 | 107 |
|
108 |
endif |
|
15324
74584166bb07
8000839: Integrate the Java Access Bridge with Java Runtime
raginip
parents:
14343
diff
changeset
|
109 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
110 |
################################################################################ |
42365
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
111 |
# 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
|
112 |
# |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
113 |
ifeq ($(UNLIMITED_CRYPTO), true) |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
114 |
JCE_DEFAULT_POLICY = unlimited |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
115 |
else |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
116 |
JCE_DEFAULT_POLICY = limited |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
117 |
endif |
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
118 |
|
47217 | 119 |
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
|
120 |
$(eval $(call SetupTextFileProcessing, BUILD_JCESECURITY_JAVA, \ |
47217 | 121 |
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
|
122 |
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
|
123 |
REPLACEMENTS := \ |
42365
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
124 |
@@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
|
125 |
)) |
42365
5e640c2994d6
8170157: Enable unlimited cryptographic policy by default in OracleJDK
wetmore
parents:
39302
diff
changeset
|
126 |
|
43820
c1431f794388
8175165: Don't process JceSecurity.java.template if crypto sources is not present
ihse
parents:
42365
diff
changeset
|
127 |
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
|
128 |
endif |