1 # 2 # Copyright (c) 2011, 2019, 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" = xaix; then 35 ARFLAGS="-X64" 36 elif test "x$OPENJDK_TARGET_OS" = xwindows; then 37 # lib.exe is used as AR to create static libraries. 38 ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT" 39 else 40 ARFLAGS="" 41 fi 42 43 AC_SUBST(ARFLAGS) 44 ]) 45 46 AC_DEFUN([FLAGS_SETUP_STRIPFLAGS], 47 [ 48 ## Setup strip. 49 # FIXME: should this really be per platform, or should it be per toolchain type? 50 # strip is not provided by clang or solstudio; so guessing platform makes most sense. 51 # FIXME: we should really only export STRIPFLAGS from here, not POST_STRIP_CMD. 52 if test "x$OPENJDK_TARGET_OS" = xlinux; then 53 STRIPFLAGS="-g" 54 elif test "x$OPENJDK_TARGET_OS" = xsolaris; then 55 STRIPFLAGS="-x" 56 elif test "x$OPENJDK_TARGET_OS" = xmacosx; then 57 STRIPFLAGS="-S" 58 elif test "x$OPENJDK_TARGET_OS" = xaix; then 59 STRIPFLAGS="-X32_64" 60 fi 61 62 AC_SUBST(STRIPFLAGS) 63 ]) 64 65 AC_DEFUN([FLAGS_SETUP_RCFLAGS], 66 [ 67 # On Windows, we need to set RC flags. 68 if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then 69 RC_FLAGS="-nologo -l0x409" 70 JVM_RCFLAGS="-nologo" 71 if test "x$DEBUG_LEVEL" = xrelease; then 72 RC_FLAGS="$RC_FLAGS -DNDEBUG" 73 JVM_RCFLAGS="$JVM_RCFLAGS -DNDEBUG" 74 fi 75 76 # The version variables used to create RC_FLAGS may be overridden 77 # in a custom configure script, or possibly the command line. 78 # Let those variables be expanded at make time in spec.gmk. 79 # The \$ are escaped to the shell, and the $(...) variables 80 # are evaluated by make. 81 RC_FLAGS="$RC_FLAGS \ 82 -D\"JDK_VERSION_STRING=\$(VERSION_STRING)\" \ 83 -D\"JDK_COMPANY=\$(COMPANY_NAME)\" \ 84 -D\"JDK_FILEDESC=\$(JDK_RC_NAME) binary\" \ 85 -D\"JDK_VER=\$(VERSION_NUMBER)\" \ 86 -D\"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \ 87 -D\"JDK_NAME=\$(JDK_RC_NAME) \$(VERSION_FEATURE)\" \ 88 -D\"JDK_FVER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\"" 89 90 JVM_RCFLAGS="$JVM_RCFLAGS \ 91 -D\"HS_VERSION_STRING=\$(VERSION_STRING)\" \ 92 -D\"HS_COMPANY=\$(COMPANY_NAME)\" \ 93 -D\"HS_VER=\$(VERSION_NUMBER_FOUR_POSITIONS)\" \ 94 -D\"HS_INTERNAL_NAME=jvm\" \ 95 -D\"HS_COPYRIGHT=Copyright $COPYRIGHT_YEAR\" \ 96 -D\"HS_FNAME=jvm.dll\" \ 97 -D\"HS_NAME=\$(PRODUCT_NAME) \$(VERSION_SHORT)\" \ 98 -D\"HS_FVER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\"" 99 fi 100 AC_SUBST(RC_FLAGS) 101 AC_SUBST(JVM_RCFLAGS) 102 ]) 103 104 ################################################################################ 105 # platform independent 106 AC_DEFUN([FLAGS_SETUP_ASFLAGS], 107 [ 108 if test "x$OPENJDK_TARGET_OS" = xmacosx; then 109 JVM_BASIC_ASFLAGS="-x assembler-with-cpp -mno-omit-leaf-frame-pointer -mstack-alignment=16" 110 fi 111 ]) 112 113 ################################################################################ 114 # $1 - Either BUILD or TARGET to pick the correct OS/CPU variables to check 115 # conditionals against. 116 # $2 - Optional prefix for each variable defined. 117 AC_DEFUN([FLAGS_SETUP_ASFLAGS_CPU_DEP], 118 [ 119 # Misuse EXTRA_CFLAGS to mimic old behavior 120 $2JVM_ASFLAGS="$JVM_BASIC_ASFLAGS ${$2EXTRA_CFLAGS}" 121 122 if test "x$1" = "xTARGET" && \ 123 test "x$TOOLCHAIN_TYPE" = xgcc && \ 124 test "x$OPENJDK_TARGET_CPU" = xarm; then 125 $2JVM_ASFLAGS="${$2JVM_ASFLAGS} $ARM_ARCH_TYPE_ASFLAGS $ARM_FLOAT_TYPE_ASFLAGS" 126 fi 127 128 AC_SUBST($2JVM_ASFLAGS) 129 ]) 130