743 AC_SUBST(C_O_FLAG_HIGHEST) 744 AC_SUBST(C_O_FLAG_HI) 745 AC_SUBST(C_O_FLAG_NORM) 746 AC_SUBST(C_O_FLAG_DEBUG) 747 AC_SUBST(C_O_FLAG_NONE) 748 AC_SUBST(C_O_FLAG_SIZE) 749 AC_SUBST(CXX_O_FLAG_HIGHEST_JVM) 750 AC_SUBST(CXX_O_FLAG_HIGHEST) 751 AC_SUBST(CXX_O_FLAG_HI) 752 AC_SUBST(CXX_O_FLAG_NORM) 753 AC_SUBST(CXX_O_FLAG_DEBUG) 754 AC_SUBST(CXX_O_FLAG_NONE) 755 AC_SUBST(CXX_O_FLAG_SIZE) 756 ]) 757 758 759 AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK], 760 [ 761 762 FLAGS_SETUP_ABI_PROFILE 763 FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER([TARGET]) 764 FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER([BUILD], [OPENJDK_BUILD_]) 765 766 # Tests are only ever compiled for TARGET 767 # Flags for compiling test libraries 768 CFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" 769 CXXFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA" 770 771 # Flags for compiling test executables 772 CFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK" 773 CXXFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK" 774 775 AC_SUBST(CFLAGS_TESTLIB) 776 AC_SUBST(CFLAGS_TESTEXE) 777 AC_SUBST(CXXFLAGS_TESTLIB) 778 AC_SUBST(CXXFLAGS_TESTEXE) 779 780 LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB" 781 LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE $JAVA_BASE_LDFLAGS" 782 963 fi 964 965 # Setup target OS define. Use OS target name but in upper case. 966 OPENJDK_$1_OS_UPPERCASE=`$ECHO $OPENJDK_$1_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` 967 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -D$OPENJDK_$1_OS_UPPERCASE" 968 969 # Setup target CPU 970 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \ 971 $OPENJDK_$1_ADD_LP64 \ 972 -DARCH='\"$OPENJDK_$1_CPU_LEGACY\"' -D$OPENJDK_$1_CPU_LEGACY" 973 974 # Setup debug/release defines 975 if test "x$DEBUG_LEVEL" = xrelease; then 976 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -DNDEBUG" 977 if test "x$OPENJDK_$1_OS" = xsolaris; then 978 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -DTRIMMED" 979 fi 980 else 981 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -DDEBUG" 982 fi 983 984 # Set some additional per-OS defines. 985 if test "x$OPENJDK_$1_OS" = xlinux; then 986 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DLINUX" 987 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -pipe $PICFLAG -fno-rtti -fno-exceptions \ 988 -fvisibility=hidden -fno-strict-aliasing -fno-omit-frame-pointer" 989 elif test "x$OPENJDK_$1_OS" = xsolaris; then 990 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DSOLARIS" 991 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -template=no%extdef -features=no%split_init \ 992 -D_Crun_inline_placement -library=%none $PICFLAG -mt -features=no%except" 993 elif test "x$OPENJDK_$1_OS" = xmacosx; then 994 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" 995 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -D_ALLBSD_SOURCE" 996 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE" 997 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -fno-rtti -fno-exceptions -fvisibility=hidden \ 998 -mno-omit-leaf-frame-pointer -mstack-alignment=16 -pipe -fno-strict-aliasing \ 999 -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -mmacosx-version-min=10.7.0 \ 1000 -fno-omit-frame-pointer" 1001 elif test "x$OPENJDK_$1_OS" = xaix; then 1002 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DAIX" | 743 AC_SUBST(C_O_FLAG_HIGHEST) 744 AC_SUBST(C_O_FLAG_HI) 745 AC_SUBST(C_O_FLAG_NORM) 746 AC_SUBST(C_O_FLAG_DEBUG) 747 AC_SUBST(C_O_FLAG_NONE) 748 AC_SUBST(C_O_FLAG_SIZE) 749 AC_SUBST(CXX_O_FLAG_HIGHEST_JVM) 750 AC_SUBST(CXX_O_FLAG_HIGHEST) 751 AC_SUBST(CXX_O_FLAG_HI) 752 AC_SUBST(CXX_O_FLAG_NORM) 753 AC_SUBST(CXX_O_FLAG_DEBUG) 754 AC_SUBST(CXX_O_FLAG_NONE) 755 AC_SUBST(CXX_O_FLAG_SIZE) 756 ]) 757 758 759 AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK], 760 [ 761 762 FLAGS_SETUP_ABI_PROFILE 763 764 # Optional POSIX functionality needed by the JVM 765 # 766 # Check if clock_gettime is available and in which library. This indicates 767 # availability of CLOCK_MONOTONIC for hotspot. But we don't need to link, so 768 # don't let it update LIBS. 769 save_LIBS="$LIBS" 770 AC_SEARCH_LIBS(clock_gettime, rt, [HAS_CLOCK_GETTIME=true], []) 771 if test "x$LIBS" = "x-lrt "; then 772 CLOCK_GETTIME_IN_LIBRT=true 773 fi 774 LIBS="$save_LIBS" 775 776 FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER([TARGET]) 777 FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER([BUILD], [OPENJDK_BUILD_]) 778 779 # Tests are only ever compiled for TARGET 780 # Flags for compiling test libraries 781 CFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" 782 CXXFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA" 783 784 # Flags for compiling test executables 785 CFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK" 786 CXXFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK" 787 788 AC_SUBST(CFLAGS_TESTLIB) 789 AC_SUBST(CFLAGS_TESTEXE) 790 AC_SUBST(CXXFLAGS_TESTLIB) 791 AC_SUBST(CXXFLAGS_TESTEXE) 792 793 LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB" 794 LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE $JAVA_BASE_LDFLAGS" 795 976 fi 977 978 # Setup target OS define. Use OS target name but in upper case. 979 OPENJDK_$1_OS_UPPERCASE=`$ECHO $OPENJDK_$1_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` 980 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -D$OPENJDK_$1_OS_UPPERCASE" 981 982 # Setup target CPU 983 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \ 984 $OPENJDK_$1_ADD_LP64 \ 985 -DARCH='\"$OPENJDK_$1_CPU_LEGACY\"' -D$OPENJDK_$1_CPU_LEGACY" 986 987 # Setup debug/release defines 988 if test "x$DEBUG_LEVEL" = xrelease; then 989 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -DNDEBUG" 990 if test "x$OPENJDK_$1_OS" = xsolaris; then 991 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -DTRIMMED" 992 fi 993 else 994 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -DDEBUG" 995 fi 996 997 # Optional POSIX functionality needed by the VM 998 999 if test "x$HAS_CLOCK_GETTIME" = "xtrue"; then 1000 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DSUPPORTS_CLOCK_MONOTONIC" 1001 if test "x$CLOCK_GETTIME_IN_LIBRT" = "xtrue"; then 1002 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DNEEDS_LIBRT" 1003 fi 1004 fi 1005 1006 1007 # Set some additional per-OS defines. 1008 if test "x$OPENJDK_$1_OS" = xlinux; then 1009 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DLINUX" 1010 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -pipe $PICFLAG -fno-rtti -fno-exceptions \ 1011 -fvisibility=hidden -fno-strict-aliasing -fno-omit-frame-pointer" 1012 elif test "x$OPENJDK_$1_OS" = xsolaris; then 1013 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DSOLARIS" 1014 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -template=no%extdef -features=no%split_init \ 1015 -D_Crun_inline_placement -library=%none $PICFLAG -mt -features=no%except" 1016 elif test "x$OPENJDK_$1_OS" = xmacosx; then 1017 $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" 1018 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -D_ALLBSD_SOURCE" 1019 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE" 1020 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -fno-rtti -fno-exceptions -fvisibility=hidden \ 1021 -mno-omit-leaf-frame-pointer -mstack-alignment=16 -pipe -fno-strict-aliasing \ 1022 -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -mmacosx-version-min=10.7.0 \ 1023 -fno-omit-frame-pointer" 1024 elif test "x$OPENJDK_$1_OS" = xaix; then 1025 $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DAIX" |