make/autoconf/flags-cflags.m4
author ihse
Thu, 14 Jun 2018 15:34:19 +0200
branchihse-cflags-rewrite-branch
changeset 56760 8a18c7457c88
parent 56726 3a9b7a1f9197
child 56899 2c5e7f347c49
permissions -rw-r--r--
Some windows fixes.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     1
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     2
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     4
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    10
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    15
# accompanied this code).
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    16
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    20
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    23
# questions.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    24
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    25
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    26
################################################################################
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    27
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    28
# Setup flags for C/C++ compiler
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    29
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    30
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    31
###############################################################################
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    32
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    33
# How to compile shared libraries.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    34
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    35
AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    36
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    37
  if test "x$TOOLCHAIN_TYPE" = xgcc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    38
    C_FLAG_REORDER=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    39
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    40
    # Default works for linux, might work on other platforms as well.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    41
    SHARED_LIBRARY_FLAGS='-shared'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    42
    SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    43
    SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    44
    SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    45
    SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    46
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    47
  elif test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    48
    C_FLAG_REORDER=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    49
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    50
    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    51
      # Linking is different on MacOSX
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    52
      SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    53
      SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path$(or [$]1,/.)'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    54
      SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    55
      SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    56
      SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    57
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    58
    else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    59
      # Default works for linux, might work on other platforms as well.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    60
      SHARED_LIBRARY_FLAGS='-shared'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    61
      SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    62
      SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    63
      SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    64
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    65
      # arm specific settings
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    66
      if test "x$OPENJDK_TARGET_CPU" = "xarm"; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    67
        # '-Wl,-z,origin' isn't used on arm.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    68
        SET_SHARED_LIBRARY_ORIGIN='-Wl,-rpath,\$$$$ORIGIN[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    69
      else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    70
        SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    71
      fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    72
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    73
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    74
  elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    75
    C_FLAG_REORDER='-xF'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    76
    SHARED_LIBRARY_FLAGS="-G"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    77
    SET_EXECUTABLE_ORIGIN='-R\$$ORIGIN[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    78
    SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    79
    SET_SHARED_LIBRARY_NAME='-h [$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    80
    SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    81
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    82
  elif test "x$TOOLCHAIN_TYPE" = xxlc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    83
    C_FLAG_REORDER=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    84
    SHARED_LIBRARY_FLAGS="-qmkshrobj -bM:SRE -bnoentry"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    85
    SET_EXECUTABLE_ORIGIN=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    86
    SET_SHARED_LIBRARY_ORIGIN=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    87
    SET_SHARED_LIBRARY_NAME=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    88
    SET_SHARED_LIBRARY_MAPFILE=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    89
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    90
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    91
    C_FLAG_REORDER=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    92
    SHARED_LIBRARY_FLAGS="-dll"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    93
    SET_EXECUTABLE_ORIGIN=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    94
    SET_SHARED_LIBRARY_ORIGIN=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    95
    SET_SHARED_LIBRARY_NAME=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    96
    SET_SHARED_LIBRARY_MAPFILE='-def:[$]1'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    97
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    98
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
    99
  AC_SUBST(C_FLAG_REORDER)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   100
  AC_SUBST(SET_EXECUTABLE_ORIGIN)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   101
  AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   102
  AC_SUBST(SET_SHARED_LIBRARY_NAME)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   103
  AC_SUBST(SET_SHARED_LIBRARY_MAPFILE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   104
  AC_SUBST(SHARED_LIBRARY_FLAGS)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   105
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   106
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   107
AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   108
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   109
  # Debug symbols
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   110
  if test "x$TOOLCHAIN_TYPE" = xgcc; then
49156
6aaf3aef2d67 8199331: Don't limit debug information for fastdebug JDK native libraries
ihse
parents: 49155
diff changeset
   111
    CFLAGS_DEBUG_SYMBOLS="-g"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   112
  elif test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   113
    CFLAGS_DEBUG_SYMBOLS="-g"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   114
  elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   115
    # -g0 enables debug symbols without disabling inlining.
49155
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   116
    CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   117
  elif test "x$TOOLCHAIN_TYPE" = xxlc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   118
    CFLAGS_DEBUG_SYMBOLS="-g"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   119
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
49160
cefb7b496d17 8199347: Always use -Z7 for debug symbols when compiling on Windows
ihse
parents: 49156
diff changeset
   120
    CFLAGS_DEBUG_SYMBOLS="-Z7 -d2Zi+"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   121
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   122
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   123
  AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   124
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   125
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   126
AC_DEFUN([FLAGS_SETUP_WARNINGS],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   127
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   128
  AC_ARG_ENABLE([warnings-as-errors], [AS_HELP_STRING([--disable-warnings-as-errors],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   129
      [do not consider native warnings to be an error @<:@enabled@:>@])])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   130
49907
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   131
  # Set default value.
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   132
  if test "x$TOOLCHAIN_TYPE" = xxlc; then
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   133
    WARNINGS_AS_ERRORS=false
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   134
  else
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   135
    WARNINGS_AS_ERRORS=true
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   136
  fi
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   137
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   138
  AC_MSG_CHECKING([if native warnings are errors])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   139
  if test "x$enable_warnings_as_errors" = "xyes"; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   140
    AC_MSG_RESULT([yes (explicitly set)])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   141
    WARNINGS_AS_ERRORS=true
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   142
  elif test "x$enable_warnings_as_errors" = "xno"; then
49907
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   143
    AC_MSG_RESULT([no (explicitly set)])
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   144
    WARNINGS_AS_ERRORS=false
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   145
  elif test "x$enable_warnings_as_errors" = "x"; then
49907
1ca3406a2101 8202325: [aix] disable warnings-as-errors by default
stuefe
parents: 49726
diff changeset
   146
    AC_MSG_RESULT([${WARNINGS_AS_ERRORS} (default)])
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   147
  else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   148
    AC_MSG_ERROR([--enable-warnings-as-errors accepts no argument])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   149
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   150
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   151
  AC_SUBST(WARNINGS_AS_ERRORS)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   152
56217
e550367df595 Add LDFLAGS_WARNINGS_ARE_ERRORS.
ihse
parents: 56193
diff changeset
   153
  LDFLAGS_WARNINGS_ARE_ERRORS=""
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   154
  case "${TOOLCHAIN_TYPE}" in
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   155
    microsoft)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   156
      DISABLE_WARNING_PREFIX="-wd"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   157
      CFLAGS_WARNINGS_ARE_ERRORS="-WX"
56250
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   158
      
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   159
      # 4061
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   160
      #WARNINGS_ENABLE_ALL="-Wall"
56760
8a18c7457c88 Some windows fixes.
ihse
parents: 56726
diff changeset
   161
      WARNINGS_ENABLE_ALL="-W3"
8a18c7457c88 Some windows fixes.
ihse
parents: 56726
diff changeset
   162
      # W4 and Wall is higher but is too link-like.
8a18c7457c88 Some windows fixes.
ihse
parents: 56726
diff changeset
   163
      #WARNINGS_ENABLE_ALL="-W4"
56250
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   164
      # 4061, 4062 = enum not handled
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   165
      # 4130
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   166
      #EVEN_MORE="4054 4055 4057 4100 4127 4131 4132 4152 4201 4204 4206 4210 4232 4244 4255 4263 4264 4295 4302 4306 4311 4324 4366 4388 4512 4548 4555 4574 4800 4986 4987"
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   167
      #INIT_DISABLE=" 4189 4191 4211 4242 4245 4265 4287 4296 4310 4312 4350 4355 4365 4389 4505 4510 4514 4571 4610 4619 4623 4625 4626 4640 4668 4701 4702 4703 4706 4710 4711 4820 4917 4946 $EVEN_MORE"
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   168
      #DISABLED_WARNINGS_WALL="4061 4062 $INIT_DISABLE"
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   169
      RETRY_W4_HOTSPOT="4189 4211 4245 4310 4389 4505 4510 4610 4701 4702 4703 4706"
d64ab781c927 Back away from -Wall to -W4 on windows, at least initially.
ihse
parents: 56249
diff changeset
   170
      RETRY_W4_JDK="4054 4055 4057 4100 4127 4130 4131 4132 4152 4201 4204 4206 4210 4232 4244 4295 4306 4324 4366 4512 4800"
56760
8a18c7457c88 Some windows fixes.
ihse
parents: 56726
diff changeset
   171
      DISABLED_WARNINGS="4456"
8a18c7457c88 Some windows fixes.
ihse
parents: 56726
diff changeset
   172
      #was: $RETRY_W4_HOTSPOT $RETRY_W4_JDK 4061 4242 4255 4265 4365 4456 4459 4514 4619 4623 4625 4626 4668 4710 4820 5026 5027 5038 5039 4596 4571 4577 4605 4774"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   173
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   174
    solstudio)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   175
      DISABLE_WARNING_PREFIX="-erroff="
56219
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   176
      CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all"
56217
e550367df595 Add LDFLAGS_WARNINGS_ARE_ERRORS.
ihse
parents: 56193
diff changeset
   177
      LDFLAGS_WARNINGS_ARE_ERRORS="-Wl,-z,fatal-warnings"
56219
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   178
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   179
      WARNINGS_ENABLE_ALL_CFLAGS="-v -fd -xtransition"
56222
05cc7c290f08 Fix problems on solaris. Now it works.
ihse
parents: 56221
diff changeset
   180
      WARNINGS_ENABLE_ALL_CXXFLAGS="+w +w2"
56219
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   181
56249
4141c47bb309 Promote E_DECLARATION_IN_CODE to global disable on solaris.
ihse
parents: 56242
diff changeset
   182
      DISABLED_WARNINGS_C="E_OLD_STYLE_FUNC_DECL E_OLD_STYLE_FUNC_DEF E_SEMANTICS_OF_OP_CHG_IN_ANSI_C E_NO_REPLACEMENT_IN_STRING E_DECLARATION_IN_CODE"
56240
1950c307f07a Promote inllargeint to global disable on solstudio.
ihse
parents: 56239
diff changeset
   183
      DISABLED_WARNINGS_CXX="inllargeuse inllargeint notused wemptydecl notemsource"
1950c307f07a Promote inllargeint to global disable on solstudio.
ihse
parents: 56239
diff changeset
   184
      # helpful quality checks, should not be disabled: inllargeuse inllargeint
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   185
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   186
    gcc)
49200
a19a6228cdb2 8199405: Bump lowest supported gcc to 4.8
ihse
parents: 49160
diff changeset
   187
      DISABLE_WARNING_PREFIX="-Wno-"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   188
      CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
56221
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   189
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   190
      # -Wall -Wextra does not enable all warnings. We add some more that we
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   191
      # consider relevant:
56238
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   192
      WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wundef -Wlogical-op -Winit-self -Wpacked -Wdisabled-optimization -Wtrampolines"
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   193
      WARNINGS_ENABLE_ADDITIONAL_CXX="-Wc++0x-compat -Wreorder -Wnoexcept -Woverloaded-virtual -Wdelete-non-virtual-dtor -Wwrite-strings -Wstrict-null-sentinel"
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   194
56221
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   195
      WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   196
      WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ADDITIONAL_CXX"
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   197
56238
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   198
      DISABLED_WARNINGS_JUST_GET_THIS_PASS="unused-variable unused-function unused-but-set-variable undef unused-value unused-label pointer-arith"
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   199
      DISABLED_WARNINGS="unknown-warning unused-parameter $DISABLED_WARNINGS_JUST_GET_THIS_PASS"
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   200
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   201
      # Repeate the check for the BUILD_CC and BUILD_CXX. Need to also reset
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   202
      # CFLAGS since any target specific flags will likely not work with the
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   203
      # build compiler
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   204
      CC_OLD="$CC"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   205
      CXX_OLD="$CXX"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   206
      CC="$BUILD_CC"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   207
      CXX="$BUILD_CXX"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   208
      CFLAGS_OLD="$CFLAGS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   209
      CFLAGS=""
49200
a19a6228cdb2 8199405: Bump lowest supported gcc to 4.8
ihse
parents: 49160
diff changeset
   210
      BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   211
      CC="$CC_OLD"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   212
      CXX="$CXX_OLD"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   213
      CFLAGS="$CFLAGS_OLD"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   214
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   215
    clang)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   216
      DISABLE_WARNING_PREFIX="-Wno-"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   217
      CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   218
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   219
    xlc)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   220
      DISABLE_WARNING_PREFIX="-qsuppress="
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   221
      CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   222
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   223
  esac
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   224
  AC_SUBST(DISABLE_WARNING_PREFIX)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   225
  AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   226
  AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
56217
e550367df595 Add LDFLAGS_WARNINGS_ARE_ERRORS.
ihse
parents: 56193
diff changeset
   227
  AC_SUBST(LDFLAGS_WARNINGS_ARE_ERRORS)
56238
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   228
  AC_SUBST(DISABLED_WARNINGS)
56219
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   229
  AC_SUBST(DISABLED_WARNINGS_C)
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   230
  AC_SUBST(DISABLED_WARNINGS_CXX)
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   231
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   232
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   233
AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   234
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   235
  # bounds, memory and behavior checking options
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   236
  if test "x$TOOLCHAIN_TYPE" = xgcc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   237
    case $DEBUG_LEVEL in
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   238
    release )
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   239
      # no adjustment
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   240
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   241
    fastdebug )
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   242
      # no adjustment
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   243
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   244
    slowdebug )
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   245
      # FIXME: By adding this to C(XX)FLAGS_DEBUG_OPTIONS/JVM_CFLAGS_SYMBOLS it
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   246
      # get's added conditionally on whether we produce debug symbols or not.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   247
      # This is most likely not really correct.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   248
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   249
      # Add runtime stack smashing and undefined behavior checks.
56312
a52bcf4118eb Merge from default
ihse
parents: 56250 49200
diff changeset
   250
      CFLAGS_DEBUG_OPTIONS="-fstack-protector-all --param ssp-buffer-size=1 -Wstack-protector"
a52bcf4118eb Merge from default
ihse
parents: 56250 49200
diff changeset
   251
      CXXFLAGS_DEBUG_OPTIONS="-fstack-protector-all --param ssp-buffer-size=1 -Wstack-protector"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   252
56312
a52bcf4118eb Merge from default
ihse
parents: 56250 49200
diff changeset
   253
      JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -fstack-protector-all --param ssp-buffer-size=1 -Wstack-protector"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   254
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   255
    esac
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   256
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   257
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   258
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   259
AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   260
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   261
  if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   262
    CC_HIGHEST="-fns -fsimple -fsingle -xbuiltin=%all -xdepend -xrestrict -xlibmil"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   263
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   264
    C_O_FLAG_HIGHEST_JVM="-xO4"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   265
    C_O_FLAG_DEBUG_JVM=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   266
    C_O_FLAG_SIZE=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   267
    C_O_FLAG_DEBUG=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   268
    C_O_FLAG_NONE=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   269
    if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   270
      C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   271
      C_O_FLAG_HI="-xO4 -Wu,-O4~yz"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   272
      C_O_FLAG_NORM="-xO2 -Wu,-O2~yz"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   273
    elif test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   274
      C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   275
          -xprefetch=auto,explicit -xchip=ultra $CC_HIGHEST"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   276
      C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   277
      C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   278
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   279
  elif test "x$TOOLCHAIN_TYPE" = xgcc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   280
    C_O_FLAG_HIGHEST_JVM="-O3"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   281
    C_O_FLAG_HIGHEST="-O3"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   282
    C_O_FLAG_HI="-O3"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   283
    C_O_FLAG_NORM="-O2"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   284
    C_O_FLAG_SIZE="-Os"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   285
    C_O_FLAG_DEBUG="-O0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   286
    C_O_FLAG_DEBUG_JVM="-O0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   287
    C_O_FLAG_NONE="-O0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   288
  elif test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   289
    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   290
      # On MacOSX we optimize for size, something
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   291
      # we should do for all platforms?
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   292
      C_O_FLAG_HIGHEST_JVM="-Os"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   293
      C_O_FLAG_HIGHEST="-Os"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   294
      C_O_FLAG_HI="-Os"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   295
      C_O_FLAG_NORM="-Os"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   296
      C_O_FLAG_DEBUG_JVM=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   297
    else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   298
      C_O_FLAG_HIGHEST_JVM="-O3"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   299
      C_O_FLAG_HIGHEST="-O3"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   300
      C_O_FLAG_HI="-O3"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   301
      C_O_FLAG_NORM="-O2"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   302
      C_O_FLAG_DEBUG_JVM="-O0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   303
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   304
    C_O_FLAG_SIZE="-Os"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   305
    C_O_FLAG_DEBUG="-O0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   306
    C_O_FLAG_NONE="-O0"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   307
  elif test "x$TOOLCHAIN_TYPE" = xxlc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   308
    C_O_FLAG_HIGHEST_JVM="-O3 -qhot=level=1 -qinline -qinlglue"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   309
    C_O_FLAG_HIGHEST="-O3 -qhot=level=1 -qinline -qinlglue"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   310
    C_O_FLAG_HI="-O3 -qinline -qinlglue"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   311
    C_O_FLAG_NORM="-O2"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   312
    C_O_FLAG_DEBUG="-qnoopt"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   313
    # FIXME: Value below not verified.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   314
    C_O_FLAG_DEBUG_JVM=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   315
    C_O_FLAG_NONE="-qnoopt"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   316
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   317
    C_O_FLAG_HIGHEST_JVM="-O2 -Oy-"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   318
    C_O_FLAG_HIGHEST="-O2"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   319
    C_O_FLAG_HI="-O1"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   320
    C_O_FLAG_NORM="-O1"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   321
    C_O_FLAG_DEBUG="-Od"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   322
    C_O_FLAG_DEBUG_JVM=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   323
    C_O_FLAG_NONE="-Od"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   324
    C_O_FLAG_SIZE="-Os"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   325
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   326
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   327
  # Now copy to C++ flags
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   328
  CXX_O_FLAG_HIGHEST_JVM="$C_O_FLAG_HIGHEST_JVM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   329
  CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   330
  CXX_O_FLAG_HI="$C_O_FLAG_HI"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   331
  CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   332
  CXX_O_FLAG_DEBUG="$C_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   333
  CXX_O_FLAG_DEBUG_JVM="$C_O_FLAG_DEBUG_JVM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   334
  CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   335
  CXX_O_FLAG_SIZE="$C_O_FLAG_SIZE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   336
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   337
  if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   338
    # In solstudio, also add this to C (but not C++) flags...
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   339
    C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xalias_level=basic"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   340
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   341
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   342
  # Adjust optimization flags according to debug level.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   343
  case $DEBUG_LEVEL in
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   344
    release )
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   345
      # no adjustment
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   346
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   347
    fastdebug )
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   348
      # Not quite so much optimization
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   349
      C_O_FLAG_HI="$C_O_FLAG_NORM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   350
      CXX_O_FLAG_HI="$CXX_O_FLAG_NORM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   351
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   352
    slowdebug )
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   353
      # Disable optimization
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   354
      C_O_FLAG_HIGHEST_JVM="$C_O_FLAG_DEBUG_JVM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   355
      C_O_FLAG_HIGHEST="$C_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   356
      C_O_FLAG_HI="$C_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   357
      C_O_FLAG_NORM="$C_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   358
      C_O_FLAG_SIZE="$C_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   359
      CXX_O_FLAG_HIGHEST_JVM="$CXX_O_FLAG_DEBUG_JVM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   360
      CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   361
      CXX_O_FLAG_HI="$CXX_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   362
      CXX_O_FLAG_NORM="$CXX_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   363
      CXX_O_FLAG_SIZE="$CXX_O_FLAG_DEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   364
      ;;
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   365
  esac
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   366
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   367
  AC_SUBST(C_O_FLAG_HIGHEST_JVM)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   368
  AC_SUBST(C_O_FLAG_HIGHEST)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   369
  AC_SUBST(C_O_FLAG_HI)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   370
  AC_SUBST(C_O_FLAG_NORM)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   371
  AC_SUBST(C_O_FLAG_NONE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   372
  AC_SUBST(C_O_FLAG_SIZE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   373
  AC_SUBST(CXX_O_FLAG_HIGHEST_JVM)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   374
  AC_SUBST(CXX_O_FLAG_HIGHEST)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   375
  AC_SUBST(CXX_O_FLAG_HI)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   376
  AC_SUBST(CXX_O_FLAG_NORM)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   377
  AC_SUBST(CXX_O_FLAG_NONE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   378
  AC_SUBST(CXX_O_FLAG_SIZE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   379
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   380
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   381
AC_DEFUN([FLAGS_SETUP_CFLAGS],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   382
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   383
  ### CFLAGS
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   384
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   385
  FLAGS_SETUP_CFLAGS_HELPER
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   386
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   387
  FLAGS_OS=$OPENJDK_TARGET_OS
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   388
  FLAGS_OS_TYPE=$OPENJDK_TARGET_OS_TYPE
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   389
  FLAGS_CPU=$OPENJDK_TARGET_CPU
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   390
  FLAGS_CPU_ARCH=$OPENJDK_TARGET_CPU_ARCH
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   391
  FLAGS_CPU_BITS=$OPENJDK_TARGET_CPU_BITS
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   392
  FLAGS_CPU_ENDIAN=$OPENJDK_TARGET_CPU_ENDIAN
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   393
  FLAGS_CPU_LEGACY=$OPENJDK_TARGET_CPU_LEGACY
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   394
  FLAGS_CPU_LEGACY_LIB=$OPENJDK_TARGET_CPU_LEGACY_LIB
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   395
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   396
  FLAGS_SETUP_CFLAGS_CPU_DEP([TARGET])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   397
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   398
  FLAGS_OS=$OPENJDK_BUILD_OS
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   399
  FLAGS_OS_TYPE=$OPENJDK_BUILD_OS_TYPE
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   400
  FLAGS_CPU=$OPENJDK_BUILD_CPU
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   401
  FLAGS_CPU_ARCH=$OPENJDK_BUILD_CPU_ARCH
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   402
  FLAGS_CPU_BITS=$OPENJDK_BUILD_CPU_BITS
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   403
  FLAGS_CPU_ENDIAN=$OPENJDK_BUILD_CPU_ENDIAN
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   404
  FLAGS_CPU_LEGACY=$OPENJDK_BUILD_CPU_LEGACY
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   405
  FLAGS_CPU_LEGACY_LIB=$OPENJDK_BUILD_CPU_LEGACY_LIB
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   406
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   407
  FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   408
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   409
  # Tests are only ever compiled for TARGET
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   410
  CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   411
  CXXFLAGS_TESTLIB="$CXXFLAGS_JDKLIB"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   412
  CFLAGS_TESTEXE="$CFLAGS_JDKEXE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   413
  CXXFLAGS_TESTEXE="$CXXFLAGS_JDKEXE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   414
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   415
  AC_SUBST(CFLAGS_TESTLIB)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   416
  AC_SUBST(CFLAGS_TESTEXE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   417
  AC_SUBST(CXXFLAGS_TESTLIB)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   418
  AC_SUBST(CXXFLAGS_TESTEXE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   419
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   420
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   421
################################################################################
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   422
# platform independent
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   423
AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   424
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   425
  #### OS DEFINES, these should be independent on toolchain
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   426
  if test "x$OPENJDK_TARGET_OS" = xlinux; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   427
    CFLAGS_OS_DEF_JVM="-DLINUX"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   428
    CFLAGS_OS_DEF_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   429
  elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   430
    CFLAGS_OS_DEF_JVM="-DSOLARIS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   431
    CFLAGS_OS_DEF_JDK="-D__solaris__"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   432
  elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   433
    CFLAGS_OS_DEF_JVM="-D_ALLBSD_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   434
    CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   435
  elif test "x$OPENJDK_TARGET_OS" = xaix; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   436
    CFLAGS_OS_DEF_JVM="-DAIX"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   437
  elif test "x$OPENJDK_TARGET_OS" = xbsd; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   438
    CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   439
  elif test "x$OPENJDK_TARGET_OS" = xwindows; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   440
    CFLAGS_OS_DEF_JVM="-D_WINDOWS -DWIN32 -D_JNI_IMPLEMENTATION_"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   441
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   442
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   443
  CFLAGS_OS_DEF_JDK="$CFLAGS_OS_DEF_JDK -D$OPENJDK_TARGET_OS_UPPERCASE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   444
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   445
  #### GLOBAL DEFINES
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   446
  # Set some common defines. These works for all compilers, but assume
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   447
  # -D is universally accepted.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   448
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   449
  # Always enable optional macros for VM.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   450
  ALWAYS_CFLAGS_JVM="-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   451
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   452
  # Setup some hard coded includes
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   453
  ALWAYS_CFLAGS_JDK=" \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   454
      -I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   455
      -I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base/\$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   456
      -I${TOPDIR}/src/java.base/share/native/libjava \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   457
      -I${TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/libjava \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   458
      -I${TOPDIR}/src/hotspot/share/include \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   459
      -I${TOPDIR}/src/hotspot/os/${HOTSPOT_TARGET_OS_TYPE}/include"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   460
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   461
  ###############################################################################
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   462
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   463
  # Adjust flags according to debug level.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   464
  # Setup debug/release defines
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   465
  if test "x$DEBUG_LEVEL" = xrelease; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   466
    DEBUG_CFLAGS_JDK="-DNDEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   467
    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   468
      DEBUG_CFLAGS_JDK="$DEBUG_CFLAGS_JDK -DTRIMMED"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   469
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   470
  else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   471
    DEBUG_CFLAGS_JDK="-DDEBUG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   472
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   473
    if test "x$TOOLCHAIN_TYPE" = xxlc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   474
      # We need '-qminimaltoc' or '-qpic=large -bbigtoc' if the TOC overflows.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   475
      # Hotspot now overflows its 64K TOC (currently only for debug),
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   476
      # so for debug we build with '-qpic=large -bbigtoc'.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   477
      DEBUG_CFLAGS_JVM="-qpic=large"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   478
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   479
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   480
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   481
  if test "x$DEBUG_LEVEL" != xrelease; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   482
    DEBUG_OPTIONS_FLAGS_JDK="$CFLAGS_DEBUG_OPTIONS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   483
    DEBUG_SYMBOLS_CFLAGS_JDK="$CFLAGS_DEBUG_SYMBOLS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   484
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   485
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   486
  #### TOOLCHAIN DEFINES
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   487
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   488
  if test "x$TOOLCHAIN_TYPE" = xgcc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   489
    ALWAYS_DEFINES_JVM="-D_GNU_SOURCE -D_REENTRANT"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   490
  elif test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   491
    ALWAYS_DEFINES_JVM="-D_GNU_SOURCE"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   492
  elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   493
    ALWAYS_DEFINES_JVM="-DSPARC_WORKS -D_Crun_inline_placement"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   494
    ALWAYS_DEFINES_JDK="-DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   495
    ALWAYS_DEFINES_JDK_CXXONLY="-DCC_NOEX"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   496
  elif test "x$TOOLCHAIN_TYPE" = xxlc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   497
    ALWAYS_DEFINES_JVM="-D_REENTRANT"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   498
    ALWAYS_DEFINES_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   499
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   500
    ALWAYS_DEFINES_JDK="-DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   501
        -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL"
49726
4ae63fcabe2e 8199736: Define WIN32_LEAN_AND_MEAN before including windows.h
rwestberg
parents: 49679
diff changeset
   502
    ALWAYS_DEFINES_JVM="-DNOMINMAX -DWIN32_LEAN_AND_MEAN"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   503
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   504
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   505
  ###############################################################################
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   506
  #
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   507
  #
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   508
  # CFLAGS BASIC
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   509
  if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   510
    # COMMON to gcc and clang
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   511
    TOOLCHAIN_CFLAGS_JVM="-pipe -fno-rtti -fno-exceptions \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   512
        -fvisibility=hidden -fno-strict-aliasing -fno-omit-frame-pointer"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   513
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   514
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   515
  if test "x$TOOLCHAIN_TYPE" = xgcc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   516
    TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   517
    TOOLCHAIN_CFLAGS_JDK="-pipe"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   518
    TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX (but since this gives *worse* performance, use no-strict-aliasing everywhere!)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   519
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   520
    CXXSTD_CXXFLAG="-std=gnu++98"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   521
    FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$CXXSTD_CXXFLAG -Werror],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   522
    						 IF_FALSE: [CXXSTD_CXXFLAG=""])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   523
    TOOLCHAIN_CFLAGS_JDK_CXXONLY="$CXXSTD_CXXFLAG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   524
    TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM $CXXSTD_CXXFLAG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   525
    ADLC_CXXFLAG="$CXXSTD_CXXFLAG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   526
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   527
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   528
  elif test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   529
    # Restrict the debug information created by Clang to avoid
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   530
    # too big object files and speed the build up a little bit
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   531
    # (see http://llvm.org/bugs/show_bug.cgi?id=7554)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   532
    TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -flimit-debug-info"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   533
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   534
    if test "x$OPENJDK_TARGET_OS" = xlinux; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   535
      TOOLCHAIN_CFLAGS_JDK="-pipe"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   536
      TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   537
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   538
  elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
56219
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   539
    TOOLCHAIN_FLAGS="-errtags -errfmt"
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   540
    TOOLCHAIN_CFLAGS="-errshort=tags"
852414e4ae77 Clean up solstudio warning handling.
ihse
parents: 56217
diff changeset
   541
56222
05cc7c290f08 Fix problems on solaris. Now it works.
ihse
parents: 56221
diff changeset
   542
    TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS"
05cc7c290f08 Fix problems on solaris. Now it works.
ihse
parents: 56221
diff changeset
   543
    TOOLCHAIN_CFLAGS_JDK_CONLY="-xc99=%none -xCC -Xa -W0,-noglobal $TOOLCHAIN_CFLAGS" # C only
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   544
    TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   545
    TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
56222
05cc7c290f08 Fix problems on solaris. Now it works.
ihse
parents: 56221
diff changeset
   546
        -library=stlport4 -mt -features=no%except $TOOLCHAIN_FLAGS"
49155
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   547
    if test "x$DEBUG_LEVEL" = xslowdebug; then
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   548
      # Previously -g was used instead of -g0 for slowdebug; this is equivalent
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   549
      # to setting +d.
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   550
      TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM +d"
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   551
    fi
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   552
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   553
  elif test "x$TOOLCHAIN_TYPE" = xxlc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   554
    TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt"  # add on both CFLAGS
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   555
    TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   556
        -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   557
        -qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   558
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   559
    TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   560
    TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   561
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   562
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   563
  # CFLAGS WARNINGS STUFF
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   564
  # Set JVM_CFLAGS warning handling
56221
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   565
  if test "x$TOOLCHAIN_TYPE" = xgcc; then
56238
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   566
#    JDK_DISABLED="-Wno-pointer-arith -Wno-undef -Wno-unused-function -Wno-unused-value -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-unused-label"
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   567
#    JVM_DISABLED="-Wno-unknown-pragmas -Wno-comment -Wno-delete-non-virtual-dtor -Wno-ignored-qualifiers -Wno-parentheses -Wno-reorder -Wno-unused-local-typedefs -Wno-unused-parameter -Wno-unused-variable -Wno-address -Wno-missing-field-initializers -Wno-unused-but-set-variable -Wno-char-subscripts -Wno-array-bounds -Wno-narrowing -Wno-empty-body -Wno-unused-but-set-parameter"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   568
56221
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   569
    WARNING_CFLAGS_JDK="$WARNINGS_ENABLE_ALL $JDK_DISABLED"
56238
c4bda870c926 First pass at getting gcc warnings right.
ihse
parents: 56237
diff changeset
   570
    WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
56221
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   571
    WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   572
    WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ALL_CXXFLAGS $JVM_DISABLED"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   573
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   574
  elif test "x$TOOLCHAIN_TYPE" = xclang; then
56221
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   575
    WARNING_CFLAGS_JVM="-Wpointer-arith -Wsign-compare -Wunused-function -Wno-deprecated"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   576
    if test "x$OPENJDK_TARGET_OS" = xlinux; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   577
      WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-sometimes-uninitialized"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   578
      WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   579
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   580
  elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
56221
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   581
    WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   582
    WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
bdf8f77aad3a Trying to clear up gcc warnings as well.
ihse
parents: 56219
diff changeset
   583
    WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   584
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
56242
e60ee82dc0ce Initial conversion for windows with -Wall and disables.
ihse
parents: 56240
diff changeset
   585
    WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
e60ee82dc0ce Initial conversion for windows with -Wall and disables.
ihse
parents: 56240
diff changeset
   586
    #WARNING_CFLAGS="-W3"
e60ee82dc0ce Initial conversion for windows with -Wall and disables.
ihse
parents: 56240
diff changeset
   587
    #WARNING_CFLAGS_JDK="-wd4800"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   588
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   589
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   590
  # Set some additional per-OS defines.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   591
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   592
  # Additional macosx handling
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   593
  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   594
    OS_CFLAGS="-DMAC_OS_X_VERSION_MIN_REQUIRED=$MACOSX_VERSION_MIN_NODOTS \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   595
        -mmacosx-version-min=$MACOSX_VERSION_MIN"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   596
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   597
    if test -n "$MACOSX_VERSION_MAX"; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   598
        OS_CFLAGS="$OS_CFLAGS \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   599
            -DMAC_OS_X_VERSION_MAX_ALLOWED=$MACOSX_VERSION_MAX_NODOTS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   600
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   601
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   602
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   603
  # Where does this really belong??
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   604
  if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   605
    PICFLAG="-fPIC"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   606
  elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   607
    PICFLAG="-KPIC"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   608
  elif test "x$TOOLCHAIN_TYPE" = xxlc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   609
    # '-qpic' defaults to 'qpic=small'. This means that the compiler generates only
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   610
    # one instruction for accessing the TOC. If the TOC grows larger than 64K, the linker
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   611
    # will have to patch this single instruction with a call to some out-of-order code which
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   612
    # does the load from the TOC. This is of course slow. But in that case we also would have
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   613
    # to use '-bbigtoc' for linking anyway so we could also change the PICFLAG to 'qpic=large'.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   614
    # With 'qpic=large' the compiler will by default generate a two-instruction sequence which
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   615
    # can be patched directly by the linker and does not require a jump to out-of-order code.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   616
    # Another alternative instead of using 'qpic=large -bbigtoc' may be to use '-qminimaltoc'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   617
    # instead. This creates a distinct TOC for every compilation unit (and thus requires two
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   618
    # loads for accessing a global variable). But there are rumors that this may be seen as a
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   619
    # 'performance feature' because of improved code locality of the symbols used in a
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   620
    # compilation unit.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   621
    PICFLAG="-qpic"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   622
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   623
    PICFLAG=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   624
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   625
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   626
  JVM_PICFLAG="$PICFLAG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   627
  JDK_PICFLAG="$PICFLAG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   628
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   629
  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   630
    # Linking is different on MacOSX
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   631
    JDK_PICFLAG=''
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   632
    if test "x$STATIC_BUILD" = xtrue; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   633
      JVM_PICFLAG=""
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   634
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   635
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   636
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   637
  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   638
    OS_CFLAGS_JVM="$OS_CFLAGS_JVM -mno-omit-leaf-frame-pointer -mstack-alignment=16"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   639
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   640
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   641
  # Optional POSIX functionality needed by the JVM
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   642
  #
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   643
  # Check if clock_gettime is available and in which library. This indicates
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   644
  # availability of CLOCK_MONOTONIC for hotspot. But we don't need to link, so
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   645
  # don't let it update LIBS.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   646
  save_LIBS="$LIBS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   647
  AC_SEARCH_LIBS(clock_gettime, rt, [HAS_CLOCK_GETTIME=true], [])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   648
  if test "x$LIBS" = "x-lrt "; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   649
    CLOCK_GETTIME_IN_LIBRT=true
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   650
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   651
  LIBS="$save_LIBS"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   652
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   653
  if test "x$HAS_CLOCK_GETTIME" = "xtrue"; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   654
    OS_CFLAGS_JVM="$OS_CFLAGS_JVM -DSUPPORTS_CLOCK_MONOTONIC"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   655
    if test "x$CLOCK_GETTIME_IN_LIBRT" = "xtrue"; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   656
      OS_CFLAGS_JVM="$OS_CFLAGS_JVM -DNEEDS_LIBRT"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   657
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   658
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   659
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   660
  # EXPORT
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   661
  AC_SUBST(ADLC_CXXFLAG)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   662
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   663
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   664
################################################################################
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   665
# $1 - Either BUILD or TARGET to pick the correct OS/CPU variables to check
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   666
#      conditionals against.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   667
# $2 - Optional prefix for each variable defined.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   668
AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   669
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   670
  #### CPU DEFINES, these should (in theory) be independent on toolchain
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   671
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   672
  # Setup target CPU
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   673
  # Setup endianness
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   674
  if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   675
    $1_DEFINES_CPU_JVM="-DVM_LITTLE_ENDIAN"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   676
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   677
  if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   678
    # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   679
    #   Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   680
    if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   681
      $1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN="
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   682
    else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   683
      $1_DEFINES_CPU_JDK="-D_BIG_ENDIAN="
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   684
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   685
  else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   686
    if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   687
      $1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   688
    else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   689
      $1_DEFINES_CPU_JDK="-D_BIG_ENDIAN"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   690
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   691
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   692
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   693
  # setup CPU bit size
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   694
  $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -DARCH='\"$FLAGS_CPU_LEGACY\"' \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   695
      -D$FLAGS_CPU_LEGACY"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   696
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   697
  if test "x$FLAGS_CPU_BITS" = x64; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   698
    # -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   699
    # unpack200.exe.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   700
    if test "x$FLAGS_OS" = xlinux || test "x$FLAGS_OS" = xmacosx; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   701
      $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_LP64=1"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   702
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   703
    if test "x$FLAGS_OS" != xsolaris && test "x$FLAGS_OS" != xaix; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   704
      # Solaris does not have _LP64=1 in the old build.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   705
      # xlc on AIX defines _LP64=1 by default and issues a warning if we redefine it.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   706
      $1_DEFINES_CPU_JVM="${$1_DEFINES_CPU_JVM} -D_LP64=1"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   707
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   708
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   709
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   710
  # toolchain dependend, per-cpu
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   711
  if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   712
    if test "x$FLAGS_CPU_ARCH" = xx86; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   713
      $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -DcpuIntel -Di586 -D$FLAGS_CPU_LEGACY_LIB"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   714
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   715
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   716
    if test "x$FLAGS_CPU" = xx86_64; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   717
      $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_AMD64_ -Damd64"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   718
    else
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   719
      $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_X86_ -Dx86"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   720
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   721
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   722
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   723
  # CFLAGS PER CPU
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   724
  if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   725
    # COMMON to gcc and clang
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   726
    if test "x$FLAGS_CPU" = xx86; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   727
      # Force compatibility with i586 on 32 bit intel platforms.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   728
      $1_CFLAGS_CPU="-march=i586"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   729
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   730
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   731
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   732
  if test "x$TOOLCHAIN_TYPE" = xgcc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   733
    if test "x$FLAGS_CPU" = xarm; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   734
      # -Wno-psabi to get rid of annoying "note: the mangling of 'va_list' has changed in GCC 4.4"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   735
      $1_CFLAGS_CPU="-fsigned-char -Wno-psabi $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS -DJDK_ARCH_ABI_PROP_NAME='\"\$(JDK_ARCH_ABI_PROP_NAME)\"'"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   736
      $1_CFLAGS_CPU_JVM="-DARM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   737
    elif test "x$FLAGS_CPU" = xaarch64; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   738
      if test "x$HOTSPOT_TARGET_CPU_PORT" = xarm64; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   739
        $1_CFLAGS_CPU_JVM="-fsigned-char -DARM"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   740
      fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   741
    elif test "x$FLAGS_CPU_ARCH" = xppc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   742
      $1_CFLAGS_CPU_JVM="-minsert-sched-nops=regroup_exact -mno-multiple -mno-string"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   743
      if test "x$FLAGS_CPU" = xppc64; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   744
        # -mminimal-toc fixes `relocation truncated to fit' error for gcc 4.1.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   745
        # Use ppc64 instructions, but schedule for power5
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   746
        $1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -mminimal-toc -mcpu=powerpc64 -mtune=power5"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   747
      elif test "x$FLAGS_CPU" = xppc64le; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   748
        # Little endian machine uses ELFv2 ABI.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   749
        # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   750
        $1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -DABI_ELFv2 -mcpu=power8 -mtune=power8"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   751
      fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   752
    elif test "x$FLAGS_CPU" = xs390x; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   753
      $1_CFLAGS_CPU="-mbackchain -march=z10"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   754
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   755
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   756
    if test "x$FLAGS_CPU_ARCH" != xarm &&  test "x$FLAGS_CPU_ARCH" != xppc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   757
      # for all archs except arm and ppc, prevent gcc to omit frame pointer
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   758
      $1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   759
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   760
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   761
  elif test "x$TOOLCHAIN_TYPE" = xclang; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   762
    if test "x$FLAGS_OS" = xlinux; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   763
      # ppc test not really needed for clang
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   764
      if test "x$FLAGS_CPU_ARCH" != xarm &&  test "x$FLAGS_CPU_ARCH" != xppc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   765
        # for all archs except arm and ppc, prevent gcc to omit frame pointer
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   766
        $1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   767
      fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   768
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   769
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   770
  elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   771
    if test "x$FLAGS_CPU" = xx86_64; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   772
      # NOTE: -xregs=no%frameptr is supposed to be default on x64
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   773
      $1_CFLAGS_CPU_JDK="-xregs=no%frameptr"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   774
    elif test "x$FLAGS_CPU" = xsparcv9; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   775
      $1_CFLAGS_CPU_JVM="-xarch=sparc"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   776
      $1_CFLAGS_CPU_JDK_LIBONLY="-xregs=no%appl"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   777
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   778
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   779
  elif test "x$TOOLCHAIN_TYPE" = xxlc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   780
    if test "x$FLAGS_CPU" = xppc64; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   781
      $1_CFLAGS_CPU_JVM="-qarch=ppc64"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   782
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   783
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   784
  elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   785
    if test "x$FLAGS_CPU" = xx86; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   786
      $1_CFLAGS_CPU_JVM="-arch:IA32"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   787
    elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   788
      if test "x$DEBUG_LEVEL" != xrelease; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   789
        # NOTE: This is probably redundant; -homeparams is default on
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   790
        # non-release builds.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   791
        $1_CFLAGS_CPU_JVM="-homeparams"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   792
      fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   793
    fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   794
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   795
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   796
  if test "x$TOOLCHAIN_TYPE" = xgcc; then
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   797
    TOOLCHAIN_CHECK_COMPILER_VERSION(VERSION: 6, PREFIX: $2, IF_AT_LEAST: FLAGS_SETUP_GCC6_COMPILER_FLAGS($1))
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   798
    $1_TOOLCHAIN_CFLAGS="${$1_GCC6_CFLAGS}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   799
49200
a19a6228cdb2 8199405: Bump lowest supported gcc to 4.8
ihse
parents: 49160
diff changeset
   800
    $1_WARNING_CFLAGS_JVM="-Wno-format-zero-length -Wtype-limits -Wuninitialized"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   801
  fi
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   802
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   803
  # EXPORT to API
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   804
  CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM $TOOLCHAIN_CFLAGS_JVM \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   805
      $OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   806
      $WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   807
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   808
  CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   809
      $OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
49155
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   810
      $WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   811
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   812
  # Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   813
  # (Currently we don't have any OPENJDK_BUILD_EXTRA_CFLAGS, but that might
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   814
  # change in the future.)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   815
49155
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   816
  CFLAGS_JDK_COMMON_CONLY="$TOOLCHAIN_CFLAGS_JDK_CONLY  \
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   817
      $WARNING_CFLAGS_JDK_CONLY ${$2EXTRA_CFLAGS}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   818
  CFLAGS_JDK_COMMON_CXXONLY="$ALWAYS_DEFINES_JDK_CXXONLY $TOOLCHAIN_CFLAGS_JDK_CXXONLY \
49155
7cd937277d5e 8199338: Use -g0 on solstudio also for compiling C programs
ihse
parents: 49120
diff changeset
   819
      $WARNING_CFLAGS_JDK_CXXONLY ${$2EXTRA_CXXFLAGS}"
49120
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   820
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   821
  $1_CFLAGS_JVM="${$1_DEFINES_CPU_JVM} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JVM} ${$1_TOOLCHAIN_CFLAGS} ${$1_WARNING_CFLAGS_JVM}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   822
  $1_CFLAGS_JDK="${$1_DEFINES_CPU_JDK} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JDK} ${$1_TOOLCHAIN_CFLAGS}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   823
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   824
  $2JVM_CFLAGS="$CFLAGS_JVM_COMMON ${$1_CFLAGS_JVM} ${$2EXTRA_CXXFLAGS}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   825
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   826
  $2CFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CONLY ${$1_CFLAGS_JDK}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   827
  $2CXXFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CXXONLY ${$1_CFLAGS_JDK}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   828
  $2CFLAGS_JDKLIB="${$2CFLAGS_JDKEXE} $JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   829
  $2CXXFLAGS_JDKLIB="${$2CXXFLAGS_JDKEXE} $JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   830
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   831
  AC_SUBST($2JVM_CFLAGS)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   832
  AC_SUBST($2CFLAGS_JDKLIB)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   833
  AC_SUBST($2CFLAGS_JDKEXE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   834
  AC_SUBST($2CXXFLAGS_JDKLIB)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   835
  AC_SUBST($2CXXFLAGS_JDKEXE)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   836
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   837
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   838
# FLAGS_SETUP_GCC6_COMPILER_FLAGS([PREFIX])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   839
# Arguments:
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   840
# $1 - Prefix for each variable defined.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   841
AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   842
[
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   843
  # These flags are required for GCC 6 builds as undefined behaviour in OpenJDK code
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   844
  # runs afoul of the more aggressive versions of these optimisations.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   845
  # Notably, value range propagation now assumes that the this pointer of C++
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   846
  # member functions is non-null.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   847
  NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   848
  dnl Argument check is disabled until FLAGS_COMPILER_CHECK_ARGUMENTS handles cross-compilation
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   849
  dnl FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   850
  dnl					     IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   851
  NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   852
  dnl Argument check is disabled until FLAGS_COMPILER_CHECK_ARGUMENTS handles cross-compilation
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   853
  dnl FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror],
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   854
  dnl					     IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   855
  AC_MSG_NOTICE([GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} and ${NO_LIFETIME_DSE_CFLAG}])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   856
  $1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   857
])
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   858
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   859
# Documentation on common flags used for solstudio in HIGHEST.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   860
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   861
# WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   862
#          done with care, there are some assumptions below that need to
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   863
#          be understood about the use of pointers, and IEEE behavior.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   864
#
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   865
# -fns: Use non-standard floating point mode (not IEEE 754)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   866
# -fsimple: Do some simplification of floating point arithmetic (not IEEE 754)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   867
# -fsingle: Use single precision floating point with 'float'
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   868
# -xalias_level=basic: Assume memory references via basic pointer types do not alias
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   869
#   (Source with excessing pointer casting and data access with mixed
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   870
#    pointer types are not recommended)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   871
# -xbuiltin=%all: Use intrinsic or inline versions for math/std functions
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   872
#   (If you expect perfect errno behavior, do not use this)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   873
# -xdepend: Loop data dependency optimizations (need -xO3 or higher)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   874
# -xrestrict: Pointer parameters to functions do not overlap
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   875
#   (Similar to -xalias_level=basic usage, but less obvious sometimes.
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   876
#    If you pass in multiple pointers to the same data, do not use this)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   877
# -xlibmil: Inline some library routines
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   878
#   (If you expect perfect errno behavior, do not use this)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   879
# -xlibmopt: Use optimized math routines (CURRENTLY DISABLED)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   880
#   (If you expect perfect errno behavior, do not use this)
c04d813140dc 8198724: Refactor FLAGS handling in configure
ihse
parents:
diff changeset
   881
#  Can cause undefined external on Solaris 8 X86 on __sincos, removing for now