|
1 # |
|
2 # Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. |
|
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
|
4 # |
|
5 # This code is free software; you can redistribute it and/or modify it |
|
6 # under the terms of the GNU General Public License version 2 only, as |
|
7 # published by the Free Software Foundation. Oracle designates this |
|
8 # particular file as subject to the "Classpath" exception as provided |
|
9 # by Oracle in the LICENSE file that accompanied this code. |
|
10 # |
|
11 # This code is distributed in the hope that it will be useful, but WITHOUT |
|
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
14 # version 2 for more details (a copy is included in the LICENSE file that |
|
15 # accompanied this code). |
|
16 # |
|
17 # You should have received a copy of the GNU General Public License version |
|
18 # 2 along with this work; if not, write to the Free Software Foundation, |
|
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
20 # |
|
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
|
22 # or visit www.oracle.com if you need additional information or have any |
|
23 # questions. |
|
24 # |
|
25 |
|
26 ################################################################################ |
|
27 # |
|
28 # Setup flags for other tools than C/C++ compiler |
|
29 # |
|
30 |
|
31 AC_DEFUN([FLAGS_SETUP_ARFLAGS], |
|
32 [ |
|
33 # FIXME: figure out if we should select AR flags depending on OS or toolchain. |
|
34 if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
|
35 ARFLAGS="-r -mmacosx-version-min=$MACOSX_VERSION_MIN" |
|
36 elif test "x$OPENJDK_TARGET_OS" = xaix; then |
|
37 ARFLAGS="-X64" |
|
38 elif test "x$OPENJDK_TARGET_OS" = xwindows; then |
|
39 # lib.exe is used as AR to create static libraries. |
|
40 ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT" |
|
41 else |
|
42 ARFLAGS="" |
|
43 fi |
|
44 |
|
45 AC_SUBST(ARFLAGS) |
|
46 ]) |
|
47 |
|
48 AC_DEFUN([FLAGS_SETUP_STRIPFLAGS], |
|
49 [ |
|
50 ## Setup strip. |
|
51 # FIXME: should this really be per platform, or should it be per toolchain type? |
|
52 # strip is not provided by clang or solstudio; so guessing platform makes most sense. |
|
53 # FIXME: we should really only export STRIPFLAGS from here, not POST_STRIP_CMD. |
|
54 if test "x$OPENJDK_TARGET_OS" = xlinux; then |
|
55 STRIPFLAGS="-g" |
|
56 elif test "x$OPENJDK_TARGET_OS" = xsolaris; then |
|
57 STRIPFLAGS="-x" |
|
58 elif test "x$OPENJDK_TARGET_OS" = xmacosx; then |
|
59 STRIPFLAGS="-S" |
|
60 elif test "x$OPENJDK_TARGET_OS" = xaix; then |
|
61 STRIPFLAGS="-X32_64" |
|
62 fi |
|
63 |
|
64 AC_SUBST(STRIPFLAGS) |
|
65 ]) |
|
66 |
|
67 AC_DEFUN([FLAGS_SETUP_RCFLAGS], |
|
68 [ |
|
69 # On Windows, we need to set RC flags. |
|
70 if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then |
|
71 RC_FLAGS="-nologo -l0x409" |
|
72 JVM_RCFLAGS="-nologo" |
|
73 if test "x$DEBUG_LEVEL" = xrelease; then |
|
74 RC_FLAGS="$RC_FLAGS -DNDEBUG" |
|
75 JVM_RCFLAGS="$JVM_RCFLAGS -DNDEBUG" |
|
76 fi |
|
77 |
|
78 # The version variables used to create RC_FLAGS may be overridden |
|
79 # in a custom configure script, or possibly the command line. |
|
80 # Let those variables be expanded at make time in spec.gmk. |
|
81 # The \$ are escaped to the shell, and the $(...) variables |
|
82 # are evaluated by make. |
|
83 RC_FLAGS="$RC_FLAGS \ |
|
84 -D\"JDK_VERSION_STRING=\$(VERSION_STRING)\" \ |
|
85 -D\"JDK_COMPANY=\$(COMPANY_NAME)\" \ |
|
86 -D\"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \ |
|
87 -D\"JDK_VER=\$(VERSION_NUMBER)\" \ |
|
88 -D\"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \ |
|
89 -D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(VERSION_FEATURE)\" \ |
|
90 -D\"JDK_FVER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\"" |
|
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\"" |
|
101 fi |
|
102 AC_SUBST(RC_FLAGS) |
|
103 AC_SUBST(JVM_RCFLAGS) |
|
104 ]) |
|
105 |
|
106 ################################################################################ |
|
107 # platform independent |
|
108 AC_DEFUN([FLAGS_SETUP_ASFLAGS], |
|
109 [ |
|
110 if test "x$OPENJDK_TARGET_OS" = xmacosx; then |
|
111 JVM_BASIC_ASFLAGS="-x assembler-with-cpp -mno-omit-leaf-frame-pointer -mstack-alignment=16" |
|
112 fi |
|
113 ]) |
|
114 |
|
115 ################################################################################ |
|
116 # $1 - Either BUILD or TARGET to pick the correct OS/CPU variables to check |
|
117 # conditionals against. |
|
118 # $2 - Optional prefix for each variable defined. |
|
119 AC_DEFUN([FLAGS_SETUP_ASFLAGS_CPU_DEP], |
|
120 [ |
|
121 # Misuse EXTRA_CFLAGS to mimic old behavior |
|
122 $2JVM_ASFLAGS="$JVM_BASIC_ASFLAGS ${$2EXTRA_CFLAGS}" |
|
123 |
|
124 AC_SUBST($2JVM_ASFLAGS) |
|
125 ]) |
|
126 |