< prev index next >

make/autoconf/flags-cflags.m4

Print this page
rev 59383 : [mq]: final

*** 33,54 **** # How to compile shared libraries. # AC_DEFUN([FLAGS_SETUP_SHARED_LIBS], [ if test "x$TOOLCHAIN_TYPE" = xgcc; then - C_FLAG_REORDER='' - # Default works for linux, might work on other platforms as well. SHARED_LIBRARY_FLAGS='-shared' SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1' SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN" SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1' SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1' elif test "x$TOOLCHAIN_TYPE" = xclang; then - C_FLAG_REORDER='' - if test "x$OPENJDK_TARGET_OS" = xmacosx; then # Linking is different on MacOSX SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0" SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path$(or [$]1,/.)' SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" --- 33,50 ----
*** 69,104 **** else SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN" fi fi - elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - C_FLAG_REORDER='-xF' - SHARED_LIBRARY_FLAGS="-G" - SET_EXECUTABLE_ORIGIN='-R\$$ORIGIN[$]1' - SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" - SET_SHARED_LIBRARY_NAME='-h [$]1' - SET_SHARED_LIBRARY_MAPFILE='-M[$]1' - elif test "x$TOOLCHAIN_TYPE" = xxlc; then - C_FLAG_REORDER='' SHARED_LIBRARY_FLAGS="-qmkshrobj -bM:SRE -bnoentry" SET_EXECUTABLE_ORIGIN="" SET_SHARED_LIBRARY_ORIGIN='' SET_SHARED_LIBRARY_NAME='' SET_SHARED_LIBRARY_MAPFILE='' elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then - C_FLAG_REORDER='' SHARED_LIBRARY_FLAGS="-dll" SET_EXECUTABLE_ORIGIN='' SET_SHARED_LIBRARY_ORIGIN='' SET_SHARED_LIBRARY_NAME='' SET_SHARED_LIBRARY_MAPFILE='-def:[$]1' fi - AC_SUBST(C_FLAG_REORDER) AC_SUBST(SET_EXECUTABLE_ORIGIN) AC_SUBST(SET_SHARED_LIBRARY_ORIGIN) AC_SUBST(SET_SHARED_LIBRARY_NAME) AC_SUBST(SET_SHARED_LIBRARY_MAPFILE) AC_SUBST(SHARED_LIBRARY_FLAGS) --- 65,89 ----
*** 115,127 **** CFLAGS_DEBUG_SYMBOLS="-g" ASFLAGS_DEBUG_SYMBOLS="-g" elif test "x$TOOLCHAIN_TYPE" = xclang; then CFLAGS_DEBUG_SYMBOLS="-g" ASFLAGS_DEBUG_SYMBOLS="-g" - elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - # -g0 enables debug symbols without disabling inlining. - CFLAGS_DEBUG_SYMBOLS="-g0 -xs" elif test "x$TOOLCHAIN_TYPE" = xxlc; then CFLAGS_DEBUG_SYMBOLS="-g1" elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then CFLAGS_DEBUG_SYMBOLS="-Z7" fi --- 100,109 ----
*** 152,172 **** WARNINGS_ENABLE_ALL="-W3" DISABLED_WARNINGS="4800" ;; - solstudio) - DISABLE_WARNING_PREFIX="-erroff=" - CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all" - - WARNINGS_ENABLE_ALL_CFLAGS="-v -fd -xtransition" - WARNINGS_ENABLE_ALL_CXXFLAGS="+w +w2" - - 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" - DISABLED_WARNINGS_CXX="inllargeuse inllargeint notused wemptydecl notemsource" - ;; - gcc) DISABLE_WARNING_PREFIX="-Wno-" CFLAGS_WARNINGS_ARE_ERRORS="-Werror" # Additional warnings that are not activated by -Wall and -Wextra --- 134,143 ----
*** 242,270 **** fi ]) AC_DEFUN([FLAGS_SETUP_OPTIMIZATION], [ ! if test "x$TOOLCHAIN_TYPE" = xsolstudio; then ! CC_HIGHEST="-fns -fsimple -fsingle -xbuiltin=%all -xdepend -xrestrict -xlibmil" ! ! C_O_FLAG_HIGHEST_JVM="-xO4" ! C_O_FLAG_DEBUG_JVM="" ! C_O_FLAG_SIZE="" ! C_O_FLAG_DEBUG="" ! C_O_FLAG_NONE="" ! if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then ! C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST" ! C_O_FLAG_HI="-xO4 -Wu,-O4~yz" ! C_O_FLAG_NORM="-xO2 -Wu,-O2~yz" ! elif test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then ! C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 \ ! -xprefetch=auto,explicit $CC_HIGHEST" ! C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0" ! C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0" ! fi ! elif test "x$TOOLCHAIN_TYPE" = xgcc; then C_O_FLAG_HIGHEST_JVM="-O3" C_O_FLAG_HIGHEST="-O3" C_O_FLAG_HI="-O3" C_O_FLAG_NORM="-O2" C_O_FLAG_SIZE="-Os" --- 213,223 ---- fi ]) AC_DEFUN([FLAGS_SETUP_OPTIMIZATION], [ ! if test "x$TOOLCHAIN_TYPE" = xgcc; then C_O_FLAG_HIGHEST_JVM="-O3" C_O_FLAG_HIGHEST="-O3" C_O_FLAG_HI="-O3" C_O_FLAG_NORM="-O2" C_O_FLAG_SIZE="-Os"
*** 332,346 **** CXX_O_FLAG_DEBUG="$C_O_FLAG_DEBUG" CXX_O_FLAG_DEBUG_JVM="$C_O_FLAG_DEBUG_JVM" CXX_O_FLAG_NONE="$C_O_FLAG_NONE" CXX_O_FLAG_SIZE="$C_O_FLAG_SIZE" - if test "x$TOOLCHAIN_TYPE" = xsolstudio; then - # In solstudio, also add this to C (but not C++) flags... - C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xalias_level=basic" - fi - # Adjust optimization flags according to debug level. case $DEBUG_LEVEL in release ) # no adjustment ;; --- 285,294 ----
*** 429,441 **** [ #### OS DEFINES, these should be independent on toolchain if test "x$OPENJDK_TARGET_OS" = xlinux; then CFLAGS_OS_DEF_JVM="-DLINUX" CFLAGS_OS_DEF_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" - elif test "x$OPENJDK_TARGET_OS" = xsolaris; then - CFLAGS_OS_DEF_JVM="-DSOLARIS" - CFLAGS_OS_DEF_JDK="-D__solaris__" elif test "x$OPENJDK_TARGET_OS" = xmacosx; then CFLAGS_OS_DEF_JVM="-D_ALLBSD_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE" CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" elif test "x$OPENJDK_TARGET_OS" = xaix; then CFLAGS_OS_DEF_JVM="-DAIX" --- 377,386 ----
*** 467,479 **** # Adjust flags according to debug level. # Setup debug/release defines if test "x$DEBUG_LEVEL" = xrelease; then DEBUG_CFLAGS_JDK="-DNDEBUG" - if test "x$OPENJDK_TARGET_OS" = xsolaris; then - DEBUG_CFLAGS_JDK="$DEBUG_CFLAGS_JDK -DTRIMMED" - fi else DEBUG_CFLAGS_JDK="-DDEBUG" if test "x$TOOLCHAIN_TYPE" = xxlc; then # We need '-qminimaltoc' or '-qpic=large -bbigtoc' if the TOC overflows. --- 412,421 ----
*** 492,505 **** if test "x$TOOLCHAIN_TYPE" = xgcc; then ALWAYS_DEFINES_JVM="-D_GNU_SOURCE -D_REENTRANT" elif test "x$TOOLCHAIN_TYPE" = xclang; then ALWAYS_DEFINES_JVM="-D_GNU_SOURCE" - elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - ALWAYS_DEFINES_JVM="-DSPARC_WORKS -D_Crun_inline_placement" - ALWAYS_DEFINES_JDK="-DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS" - ALWAYS_DEFINES_JDK_CXXONLY="-DCC_NOEX" elif test "x$TOOLCHAIN_TYPE" = xxlc; then ALWAYS_DEFINES_JVM="-D_REENTRANT" ALWAYS_DEFINES_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC" elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then ALWAYS_DEFINES_JDK="-DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE \ --- 434,443 ----
*** 552,575 **** TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -mllvm -inlinehint-threshold=100000" fi TOOLCHAIN_CFLAGS_JDK="-pipe" TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX fi - elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - TOOLCHAIN_FLAGS="-errtags -errfmt" - TOOLCHAIN_CFLAGS="-errshort=tags" - - TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS" - TOOLCHAIN_CFLAGS_JDK_CONLY="-W0,-noglobal $TOOLCHAIN_CFLAGS" # C only - TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only - TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \ - -library=stlport4 -mt -features=no%except $TOOLCHAIN_FLAGS" - if test "x$DEBUG_LEVEL" = xslowdebug; then - # Previously -g was used instead of -g0 for slowdebug; this is equivalent - # to setting +d. - TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM +d" - fi elif test "x$TOOLCHAIN_TYPE" = xxlc; then # Suggested additions: -qsrcmsg to get improved error reporting # set -qtbtable=full for a better traceback table/better stacks in hs_err when xlc16 is used TOOLCHAIN_CFLAGS_JDK="-qtbtable=full -qchars=signed -qfullpath -qsaveopt -qstackprotect" # add on both CFLAGS --- 490,499 ----
*** 586,600 **** # our toolchains are in a condition to support that. But what we loosely aim for is # C99 level. if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then # Explicitly set C99. clang and xlclang support the same flag. LANGSTD_CFLAGS="-std=c99" - elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - # We can't turn on -std=c99 without breaking compilation of the splashscreen/png - # utilities. But we can enable c99 as below (previously achieved by using -Xa). - # It is the no_lib that makes the difference. - LANGSTD_CFLAGS="-xc99=all,no_lib" elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then # MSVC doesn't support C99/C11 explicitly, unless you compile as C++: # LANGSTD_CFLAGS="-TP" # but that requires numerous changes to the sources files. So we are limited # to C89/C90 plus whatever extensions Visual Studio has decided to implement. --- 510,519 ----
*** 611,625 **** WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS" elif test "x$TOOLCHAIN_TYPE" = xclang; then WARNING_CFLAGS="$WARNINGS_ENABLE_ALL" - elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS" - WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS" - WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS" - elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then WARNING_CFLAGS="$WARNINGS_ENABLE_ALL" elif test "x$TOOLCHAIN_TYPE" = xxlc; then WARNING_CFLAGS="" # currently left empty --- 530,539 ----
*** 640,651 **** # Where does this really belong?? if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then PICFLAG="-fPIC" PIEFLAG="-fPIE" - elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - PICFLAG="-KPIC" elif test "x$TOOLCHAIN_TYPE" = xxlc; then # '-qpic' defaults to 'qpic=small'. This means that the compiler generates only # one instruction for accessing the TOC. If the TOC grows larger than 64K, the linker # will have to patch this single instruction with a call to some out-of-order code which # does the load from the TOC. This is of course slower, and we also would have --- 554,563 ----
*** 723,748 **** # Setup target CPU # Setup endianness if test "x$FLAGS_CPU_ENDIAN" = xlittle; then $1_DEFINES_CPU_JVM="-DVM_LITTLE_ENDIAN" - fi - if test "x$TOOLCHAIN_TYPE" = xsolstudio; then - # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the - # Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN - if test "x$FLAGS_CPU_ENDIAN" = xlittle; then - $1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN=" - else - $1_DEFINES_CPU_JDK="-D_BIG_ENDIAN=" - fi - else - if test "x$FLAGS_CPU_ENDIAN" = xlittle; then $1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN" else $1_DEFINES_CPU_JDK="-D_BIG_ENDIAN" fi - fi # setup CPU bit size $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -DARCH='\"$FLAGS_CPU_LEGACY\"' \ -D$FLAGS_CPU_LEGACY" --- 635,648 ----
*** 750,772 **** # -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in # unpack200.exe. if test "x$FLAGS_OS" = xlinux || test "x$FLAGS_OS" = xmacosx; then $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_LP64=1" fi ! if test "x$FLAGS_OS" != xsolaris && test "x$FLAGS_OS" != xaix; then ! # Solaris does not have _LP64=1 in the old build. # xlc on AIX defines _LP64=1 by default and issues a warning if we redefine it. $1_DEFINES_CPU_JVM="${$1_DEFINES_CPU_JVM} -D_LP64=1" fi fi # toolchain dependend, per-cpu ! if test "x$TOOLCHAIN_TYPE" = xsolstudio; then ! if test "x$FLAGS_CPU_ARCH" = xx86; then ! $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -DcpuIntel -Di586 -D$FLAGS_CPU_LEGACY_LIB" ! fi ! elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then if test "x$FLAGS_CPU" = xx86_64; then $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_AMD64_ -Damd64" else $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_X86_ -Dx86" fi --- 650,667 ---- # -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in # unpack200.exe. if test "x$FLAGS_OS" = xlinux || test "x$FLAGS_OS" = xmacosx; then $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_LP64=1" fi ! if test "x$FLAGS_OS" != xaix; then # xlc on AIX defines _LP64=1 by default and issues a warning if we redefine it. $1_DEFINES_CPU_JVM="${$1_DEFINES_CPU_JVM} -D_LP64=1" fi fi # toolchain dependend, per-cpu ! if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then if test "x$FLAGS_CPU" = xx86_64; then $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_AMD64_ -Damd64" else $1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_X86_ -Dx86" fi
*** 823,841 **** # for all archs except arm and ppc, prevent gcc to omit frame pointer $1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer" fi fi - elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - if test "x$FLAGS_CPU" = xx86_64; then - # NOTE: -xregs=no%frameptr is supposed to be default on x64 - $1_CFLAGS_CPU_JDK="-xregs=no%frameptr" - elif test "x$FLAGS_CPU" = xsparcv9; then - $1_CFLAGS_CPU_JVM="-xarch=sparc" - $1_CFLAGS_CPU_JDK_LIBONLY="-xregs=no%appl" - fi - elif test "x$TOOLCHAIN_TYPE" = xxlc; then if test "x$FLAGS_CPU" = xppc64; then $1_CFLAGS_CPU_JVM="-qarch=ppc64" fi --- 718,727 ----
*** 953,981 **** NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse" FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG], PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""]) $1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" ]) - - # Documentation on common flags used for solstudio in HIGHEST. - # - # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be - # done with care, there are some assumptions below that need to - # be understood about the use of pointers, and IEEE behavior. - # - # -fns: Use non-standard floating point mode (not IEEE 754) - # -fsimple: Do some simplification of floating point arithmetic (not IEEE 754) - # -fsingle: Use single precision floating point with 'float' - # -xalias_level=basic: Assume memory references via basic pointer types do not alias - # (Source with excessing pointer casting and data access with mixed - # pointer types are not recommended) - # -xbuiltin=%all: Use intrinsic or inline versions for math/std functions - # (If you expect perfect errno behavior, do not use this) - # -xdepend: Loop data dependency optimizations (need -xO3 or higher) - # -xrestrict: Pointer parameters to functions do not overlap - # (Similar to -xalias_level=basic usage, but less obvious sometimes. - # If you pass in multiple pointers to the same data, do not use this) - # -xlibmil: Inline some library routines - # (If you expect perfect errno behavior, do not use this) - # -xlibmopt: Use optimized math routines (CURRENTLY DISABLED) - # (If you expect perfect errno behavior, do not use this) - # Can cause undefined external on Solaris 8 X86 on __sincos, removing for now --- 839,843 ----
< prev index next >