common/autoconf/flags.m4

Print this page




 651   # Additional macosx handling
 652   if test "x$OPENJDK_TARGET_OS" = xmacosx; then
 653     # Setting these parameters makes it an error to link to macosx APIs that are
 654     # newer than the given OS version and makes the linked binaries compatible
 655     # even if built on a newer version of the OS.
 656     # The expected format is X.Y.Z
 657     MACOSX_VERSION_MIN=10.7.0
 658     AC_SUBST(MACOSX_VERSION_MIN)
 659 
 660     # The macro takes the version with no dots, ex: 1070
 661     # Let the flags variables get resolved in make for easier override on make
 662     # command line.
 663     COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
 664     LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
 665   fi
 666 
 667   # Setup some hard coded includes
 668   COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \
 669       -I${JDK_TOPDIR}/src/java.base/share/native/include \
 670       -I${JDK_TOPDIR}/src/java.base/$OPENJDK_TARGET_OS/native/include \
 671       -I${JDK_TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_API_DIR/native/include"
 672 
 673   # The shared libraries are compiled using the picflag.
 674   CFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
 675   CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
 676 
 677   # Executable flags
 678   CFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK"
 679   CXXFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK"
 680 
 681   AC_SUBST(CFLAGS_JDKLIB)
 682   AC_SUBST(CFLAGS_JDKEXE)
 683   AC_SUBST(CXXFLAGS_JDKLIB)
 684   AC_SUBST(CXXFLAGS_JDKEXE)
 685 
 686   # Setup LDFLAGS et al.
 687   #
 688 
 689   # Now this is odd. The JDK native libraries have to link against libjvm.so
 690   # On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
 691   # Which should we link to? Are we lucky enough that the binary api to the libjvm.so library




 651   # Additional macosx handling
 652   if test "x$OPENJDK_TARGET_OS" = xmacosx; then
 653     # Setting these parameters makes it an error to link to macosx APIs that are
 654     # newer than the given OS version and makes the linked binaries compatible
 655     # even if built on a newer version of the OS.
 656     # The expected format is X.Y.Z
 657     MACOSX_VERSION_MIN=10.7.0
 658     AC_SUBST(MACOSX_VERSION_MIN)
 659 
 660     # The macro takes the version with no dots, ex: 1070
 661     # Let the flags variables get resolved in make for easier override on make
 662     # command line.
 663     COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
 664     LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
 665   fi
 666 
 667   # Setup some hard coded includes
 668   COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \
 669       -I${JDK_TOPDIR}/src/java.base/share/native/include \
 670       -I${JDK_TOPDIR}/src/java.base/$OPENJDK_TARGET_OS/native/include \
 671       -I${JDK_TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/include"
 672 
 673   # The shared libraries are compiled using the picflag.
 674   CFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
 675   CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
 676 
 677   # Executable flags
 678   CFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK"
 679   CXXFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK"
 680 
 681   AC_SUBST(CFLAGS_JDKLIB)
 682   AC_SUBST(CFLAGS_JDKEXE)
 683   AC_SUBST(CXXFLAGS_JDKLIB)
 684   AC_SUBST(CXXFLAGS_JDKEXE)
 685 
 686   # Setup LDFLAGS et al.
 687   #
 688 
 689   # Now this is odd. The JDK native libraries have to link against libjvm.so
 690   # On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
 691   # Which should we link to? Are we lucky enough that the binary api to the libjvm.so library