< prev index next >

make/autoconf/flags.m4

Print this page




1096             $2JVM_CFLAGS="[$]$2JVM_CFLAGS -Wno-format-zero-length -Wtype-limits -Wuninitialized"
1097           ]
1098       )
1099     fi
1100     if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
1101       # Non-zero builds have stricter warnings
1102       $2JVM_CFLAGS="[$]$2JVM_CFLAGS -Wreturn-type -Wundef -Wformat=2"
1103     else
1104       if test "x$TOOLCHAIN_TYPE" = xclang; then
1105         # Some versions of llvm do not like -Wundef
1106         $2JVM_CFLAGS="[$]$2JVM_CFLAGS -Wno-undef"
1107       fi
1108     fi
1109   elif test "x$OPENJDK_$1_OS" = xmacosx; then
1110     $2JVM_CFLAGS="[$]$2JVM_CFLAGS -Wno-deprecated -Wpointer-arith \
1111         -Wsign-compare -Wundef -Wunused-function -Wformat=2"
1112   fi
1113 
1114   # Additional macosx handling
1115   if test "x$OPENJDK_$1_OS" = xmacosx; then
1116     # MACOSX_VERSION_MIN is the c++ and ld is -mmacosx-version-min argument. The expected
1117     # format is X.Y.Z. It's hard-coded to the minimum OSX version on which the
1118     # JDK can be built and makes the linked binaries compatible even if built on
1119     # a newer version of the OS.

1120     MACOSX_VERSION_MIN=10.7.0
1121     AC_SUBST(MACOSX_VERSION_MIN)
1122 
1123     # Setting --with-macosx-version-max=<version> makes it an error to build or
1124     # link to macosx APIs that are newer than the given OS version. The expected
1125     # format for <version> is either nn.n.n or nn.nn.nn. See /usr/include/AvailabilityMacros.h.
1126     AC_ARG_WITH([macosx-version-max], [AS_HELP_STRING([--with-macosx-version-max],
1127         [error on use of newer functionality. @<:@macosx@:>@])],
1128         [
1129           if echo "$with_macosx_version_max" | $GREP -q "^[[0-9]][[0-9]]\.[[0-9]]\.[[0-9]]\$"; then
1130               MACOSX_VERSION_MAX=$with_macosx_version_max
1131           elif echo "$with_macosx_version_max" | $GREP -q "^[[0-9]][[0-9]]\.[[0-9]][[0-9]]\.[[0-9]][[0-9]]\$"; then
1132               MACOSX_VERSION_MAX=$with_macosx_version_max
1133           elif test "x$with_macosx_version_max" = "xno"; then
1134               # Use build system default
1135               MACOSX_VERSION_MAX=
1136           else
1137               AC_MSG_ERROR([osx version format must be nn.n.n or nn.nn.nn])
1138           fi
1139         ],
1140         [MACOSX_VERSION_MAX=]
1141     )
1142     AC_SUBST(MACOSX_VERSION_MAX)
1143 
1144     # Let the flags variables get resolved in make for easier override on make
1145     # command line. AvailabilityMacros.h versions have no dots, ex: 1070.
1146     $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \
1147         -DMAC_OS_X_VERSION_MIN_REQUIRED=\$(subst .,,\$(MACOSX_VERSION_MIN)) \
1148         -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
1149     $2LDFLAGS_JDK="[$]$2LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
1150     $2JVM_CFLAGS="[$]$2JVM_CFLAGS \
1151         -DMAC_OS_X_VERSION_MIN_REQUIRED=\$(subst .,,\$(MACOSX_VERSION_MIN)) \
1152         -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"

1153 
1154     if test -n "$MACOSX_VERSION_MAX"; then
1155         $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \
1156             -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MAX))"
1157         $2JVM_CFLAGS="[$]$2JVM_CFLAGS \
1158             -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MAX))"
1159     fi
1160   fi
1161 
1162   # Setup some hard coded includes
1163   $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \
1164       -I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
1165       -I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base/\$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
1166       -I${TOPDIR}/src/java.base/share/native/libjava \
1167       -I${TOPDIR}/src/java.base/$OPENJDK_$1_OS_TYPE/native/libjava \
1168       -I${TOPDIR}/src/hotspot/share/include \
1169       -I${TOPDIR}/src/hotspot/os/${HOTSPOT_$1_OS_TYPE}/include"
1170 
1171   # The shared libraries are compiled using the picflag.
1172   $2CFLAGS_JDKLIB="[$]$2COMMON_CCXXFLAGS_JDK \




1096             $2JVM_CFLAGS="[$]$2JVM_CFLAGS -Wno-format-zero-length -Wtype-limits -Wuninitialized"
1097           ]
1098       )
1099     fi
1100     if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
1101       # Non-zero builds have stricter warnings
1102       $2JVM_CFLAGS="[$]$2JVM_CFLAGS -Wreturn-type -Wundef -Wformat=2"
1103     else
1104       if test "x$TOOLCHAIN_TYPE" = xclang; then
1105         # Some versions of llvm do not like -Wundef
1106         $2JVM_CFLAGS="[$]$2JVM_CFLAGS -Wno-undef"
1107       fi
1108     fi
1109   elif test "x$OPENJDK_$1_OS" = xmacosx; then
1110     $2JVM_CFLAGS="[$]$2JVM_CFLAGS -Wno-deprecated -Wpointer-arith \
1111         -Wsign-compare -Wundef -Wunused-function -Wformat=2"
1112   fi
1113 
1114   # Additional macosx handling
1115   if test "x$OPENJDK_$1_OS" = xmacosx; then
1116     # MACOSX_VERSION_MIN specifies the lowest version of Macosx that the built
1117     # binaries should be compatible with, even if compiled on a newer version
1118     # of the OS. It currently has a hard coded value. Setting this also limits
1119     # exposure to API changes in header files. Bumping this is likely to
1120     # require code changes to build.
1121     MACOSX_VERSION_MIN=10.7.0
1122     AC_SUBST(MACOSX_VERSION_MIN)
1123 
1124     # Setting --with-macosx-version-max=<version> makes it an error to build or
1125     # link to macosx APIs that are newer than the given OS version. The expected
1126     # format for <version> is either nn.n.n or nn.nn.nn. See /usr/include/AvailabilityMacros.h.
1127     AC_ARG_WITH([macosx-version-max], [AS_HELP_STRING([--with-macosx-version-max],
1128         [error on use of newer functionality. @<:@macosx@:>@])],
1129         [
1130           if echo "$with_macosx_version_max" | $GREP -q "^[[0-9]][[0-9]]\.[[0-9]]\.[[0-9]]\$"; then
1131               MACOSX_VERSION_MAX=$with_macosx_version_max
1132           elif echo "$with_macosx_version_max" | $GREP -q "^[[0-9]][[0-9]]\.[[0-9]][[0-9]]\.[[0-9]][[0-9]]\$"; then
1133               MACOSX_VERSION_MAX=$with_macosx_version_max
1134           elif test "x$with_macosx_version_max" = "xno"; then
1135               # Use build system default
1136               MACOSX_VERSION_MAX=
1137           else
1138               AC_MSG_ERROR([osx version format must be nn.n.n or nn.nn.nn])
1139           fi
1140         ],
1141         [MACOSX_VERSION_MAX=]
1142     )
1143     AC_SUBST(MACOSX_VERSION_MAX)
1144 
1145     # Let the flags variables get resolved in make for easier override on make
1146     # command line. AvailabilityMacros.h versions have no dots, ex: 1070.
1147     $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \
1148         -DMAC_OS_X_VERSION_MIN_REQUIRED=\$(subst .,,\$(MACOSX_VERSION_MIN)) \
1149         -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
1150     $2LDFLAGS_JDK="[$]$2LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
1151     $2JVM_CFLAGS="[$]$2JVM_CFLAGS \
1152         -DMAC_OS_X_VERSION_MIN_REQUIRED=\$(subst .,,\$(MACOSX_VERSION_MIN)) \
1153         -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
1154     $2ARFLAGS="$2$ARFLAGS -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
1155 
1156     if test -n "$MACOSX_VERSION_MAX"; then
1157         $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \
1158             -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MAX))"
1159         $2JVM_CFLAGS="[$]$2JVM_CFLAGS \
1160             -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MAX))"
1161     fi
1162   fi
1163 
1164   # Setup some hard coded includes
1165   $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \
1166       -I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
1167       -I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base/\$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
1168       -I${TOPDIR}/src/java.base/share/native/libjava \
1169       -I${TOPDIR}/src/java.base/$OPENJDK_$1_OS_TYPE/native/libjava \
1170       -I${TOPDIR}/src/hotspot/share/include \
1171       -I${TOPDIR}/src/hotspot/os/${HOTSPOT_$1_OS_TYPE}/include"
1172 
1173   # The shared libraries are compiled using the picflag.
1174   $2CFLAGS_JDKLIB="[$]$2COMMON_CCXXFLAGS_JDK \


< prev index next >