author | ihse |
Mon, 26 Feb 2018 14:38:46 +0100 | |
branch | ihse-cflags-rewrite-branch |
changeset 56180 | 62f39c252e0c |
parent 56177 | 2fbe3b84ee3d |
child 56181 | 8caab5c24dcf |
permissions | -rw-r--r-- |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
1 |
# |
48767
0c6ce8fdb50a
8080990: libdt_socket/socket_md.c(202) : warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW()
gadams
parents:
48751
diff
changeset
|
2 |
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
3 |
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
4 |
# |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
5 |
# This code is free software; you can redistribute it and/or modify it |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
6 |
# under the terms of the GNU General Public License version 2 only, as |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
7 |
# published by the Free Software Foundation. Oracle designates this |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
8 |
# particular file as subject to the "Classpath" exception as provided |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
9 |
# by Oracle in the LICENSE file that accompanied this code. |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
10 |
# |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
11 |
# This code is distributed in the hope that it will be useful, but WITHOUT |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
12 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
13 |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
14 |
# version 2 for more details (a copy is included in the LICENSE file that |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
15 |
# accompanied this code). |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
16 |
# |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
17 |
# You should have received a copy of the GNU General Public License version |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
18 |
# 2 along with this work; if not, write to the Free Software Foundation, |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
19 |
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
20 |
# |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
21 |
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
22 |
# or visit www.oracle.com if you need additional information or have any |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
23 |
# questions. |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
24 |
# |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
25 |
|
42538 | 26 |
################################################################################ |
27 |
# |
|
56124 | 28 |
# Setup flags for other tools than C/C++ compiler |
42538 | 29 |
# |
32810
8203e52cd373
8138694: Devkit build on Macosx still requires Xcode to be installed
erikj
parents:
30856
diff
changeset
|
30 |
|
56124 | 31 |
AC_DEFUN([FLAGS_SETUP_ARFLAGS], |
32810
8203e52cd373
8138694: Devkit build on Macosx still requires Xcode to be installed
erikj
parents:
30856
diff
changeset
|
32 |
[ |
22721
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
33 |
# FIXME: figure out if we should select AR flags depending on OS or toolchain. |
20363 | 34 |
if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
56176
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
35 |
ARFLAGS="-r -mmacosx-version-min=$MACOSX_VERSION_MIN" |
22467 | 36 |
elif test "x$OPENJDK_TARGET_OS" = xaix; then |
22466 | 37 |
ARFLAGS="-X64" |
22721
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
38 |
elif test "x$OPENJDK_TARGET_OS" = xwindows; then |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
39 |
# lib.exe is used as AR to create static libraries. |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
40 |
ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT" |
20363 | 41 |
else |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
42 |
ARFLAGS="" |
20363 | 43 |
fi |
56176
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
44 |
|
20363 | 45 |
AC_SUBST(ARFLAGS) |
56124 | 46 |
]) |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
47 |
|
56124 | 48 |
AC_DEFUN([FLAGS_SETUP_STRIPFLAGS], |
49 |
[ |
|
22721
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
50 |
## Setup strip. |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
51 |
# FIXME: should this really be per platform, or should it be per toolchain type? |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
52 |
# strip is not provided by clang or solstudio; so guessing platform makes most sense. |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
53 |
# FIXME: we should really only export STRIPFLAGS from here, not POST_STRIP_CMD. |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
54 |
if test "x$OPENJDK_TARGET_OS" = xlinux; then |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
55 |
STRIPFLAGS="-g" |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
56 |
elif test "x$OPENJDK_TARGET_OS" = xsolaris; then |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
57 |
STRIPFLAGS="-x" |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
58 |
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
59 |
STRIPFLAGS="-S" |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
60 |
elif test "x$OPENJDK_TARGET_OS" = xaix; then |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
61 |
STRIPFLAGS="-X32_64" |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
62 |
fi |
14111 | 63 |
|
32811
df82db312e58
8135060: Stop building Xcode projects in install build
erikj
parents:
30856
diff
changeset
|
64 |
AC_SUBST(STRIPFLAGS) |
56124 | 65 |
]) |
22721
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
66 |
|
56124 | 67 |
AC_DEFUN([FLAGS_SETUP_RCFLAGS], |
68 |
[ |
|
22721
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
69 |
# On Windows, we need to set RC flags. |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
70 |
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then |
27593
4703225f5be4
8065913: Various improvements in SetupNativeCompilation
ihse
parents:
27586
diff
changeset
|
71 |
RC_FLAGS="-nologo -l0x409" |
37402 | 72 |
JVM_RCFLAGS="-nologo" |
35747 | 73 |
if test "x$DEBUG_LEVEL" = xrelease; then |
27593
4703225f5be4
8065913: Various improvements in SetupNativeCompilation
ihse
parents:
27586
diff
changeset
|
74 |
RC_FLAGS="$RC_FLAGS -DNDEBUG" |
37402 | 75 |
JVM_RCFLAGS="$JVM_RCFLAGS -DNDEBUG" |
22721
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
76 |
fi |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
77 |
|
22721
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
78 |
# The version variables used to create RC_FLAGS may be overridden |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
79 |
# in a custom configure script, or possibly the command line. |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
80 |
# Let those variables be expanded at make time in spec.gmk. |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
81 |
# The \$ are escaped to the shell, and the $(...) variables |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
82 |
# are evaluated by make. |
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
83 |
RC_FLAGS="$RC_FLAGS \ |
33926
3a19edba4808
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
30740
diff
changeset
|
84 |
-D\"JDK_VERSION_STRING=\$(VERSION_STRING)\" \ |
27593
4703225f5be4
8065913: Various improvements in SetupNativeCompilation
ihse
parents:
27586
diff
changeset
|
85 |
-D\"JDK_COMPANY=\$(COMPANY_NAME)\" \ |
4703225f5be4
8065913: Various improvements in SetupNativeCompilation
ihse
parents:
27586
diff
changeset
|
86 |
-D\"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \ |
33941
c112bac36e88
8135083: Product version string for DLLs and EXEs should not include trailing zeros
dtitov
parents:
33927
diff
changeset
|
87 |
-D\"JDK_VER=\$(VERSION_NUMBER)\" \ |
27593
4703225f5be4
8065913: Various improvements in SetupNativeCompilation
ihse
parents:
27586
diff
changeset
|
88 |
-D\"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \ |
48327 | 89 |
-D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(VERSION_FEATURE)\" \ |
33926
3a19edba4808
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
30740
diff
changeset
|
90 |
-D\"JDK_FVER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\"" |
37402 | 91 |
|
92 |
JVM_RCFLAGS="$JVM_RCFLAGS \ |
|
93 |
-D\"HS_BUILD_ID=\$(VERSION_STRING)\" \ |
|
94 |
-D\"HS_COMPANY=\$(COMPANY_NAME)\" \ |
|
95 |
-D\"JDK_DOTVER=\$(VERSION_NUMBER_FOUR_POSITIONS)\" \ |
|
96 |
-D\"HS_COPYRIGHT=Copyright $COPYRIGHT_YEAR\" \ |
|
97 |
-D\"HS_NAME=\$(PRODUCT_NAME) \$(VERSION_SHORT)\" \ |
|
98 |
-D\"JDK_VER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\" \ |
|
99 |
-D\"HS_FNAME=jvm.dll\" \ |
|
100 |
-D\"HS_INTERNAL_NAME=jvm\"" |
|
20363 | 101 |
fi |
22721
63761da45392
8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents:
22715
diff
changeset
|
102 |
AC_SUBST(RC_FLAGS) |
37402 | 103 |
AC_SUBST(JVM_RCFLAGS) |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
104 |
]) |
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
105 |
|
56176
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
106 |
################################################################################ |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
107 |
# platform independent |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
108 |
AC_DEFUN([FLAGS_SETUP_ASFLAGS], |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
109 |
[ |
56176
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
110 |
if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
111 |
JVM_ASFLAGS="-x assembler-with-cpp -mno-omit-leaf-frame-pointer -mstack-alignment=16" |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
112 |
fi |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
113 |
]) |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
114 |
|
56176
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
115 |
################################################################################ |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
116 |
# $1 - Either BUILD or TARGET to pick the correct OS/CPU variables to check |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
117 |
# conditionals against. |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
118 |
# $2 - Optional prefix for each variable defined. |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
119 |
AC_DEFUN([FLAGS_SETUP_ASFLAGS_CPU_DEP], |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
120 |
[ |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
121 |
# NOTE: This test should be generalized, but for now keep old behavior. |
b3e3a12dcb33
Lots of structural rearrangements. Also fix for adding EXTRA_FLAGS to BUILD
ihse
parents:
56146
diff
changeset
|
122 |
if test "x$1" = "xTARGET"; then |
56180 | 123 |
$2JVM_ASFLAGS="${$2JVM_ASFLAGS} $MACHINE_FLAG" |
20363 | 124 |
fi |
13133
701e61c32ece
7182051: Update of latest build-infra Makefiles (missing files)
erikj
parents:
diff
changeset
|
125 |
|
56180 | 126 |
AC_SUBST($2JVM_ASFLAGS) |
37402 | 127 |
]) |
128 |