common/autoconf/generated-configure.sh
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File jdk9-opensource-openjdk Cdiff common/autoconf/generated-configure.sh

common/autoconf/generated-configure.sh

Print this page

        

*** 747,756 **** --- 747,757 ---- CXXFLAGS_JDKLIB CFLAGS_JDKEXE CFLAGS_JDKLIB MACOSX_VERSION_MIN CXXSTD_CXXFLAG + JDK_ARCH_ABI_PROP_NAME CXX_O_FLAG_SIZE CXX_O_FLAG_NONE CXX_O_FLAG_DEBUG CXX_O_FLAG_NORM CXX_O_FLAG_HI
*** 1137,1146 **** --- 1138,1148 ---- with_custom_make_dir with_jdk_variant enable_debug with_debug_level with_jvm_variants + with_cpu_port with_devkit with_sys_root with_sysroot with_tools_dir with_toolchain_path
*** 1186,1195 **** --- 1188,1198 ---- with_extra_cxxflags with_extra_ldflags with_toolchain_version with_build_devkit with_jtreg + with_abi_profile enable_warnings_as_errors with_native_debug_symbols enable_debug_symbols enable_zip_debug_info enable_native_coverage
*** 2028,2037 **** --- 2031,2042 ---- --with-debug-level set the debug level (release, fastdebug, slowdebug, optimized) [release] --with-jvm-variants JVM variants (separated by commas) to build (server,client,minimal,core,zero,zeroshark,custom) [server] + --with-cpu-port specify sources to use for Hotspot 64-bit ARM port + (arm64,aarch64) [aarch64] --with-devkit use this devkit for compilers, tools and resources --with-sys-root alias for --with-sysroot for backwards compatability --with-sysroot use this directory as sysroot --with-tools-dir alias for --with-toolchain-path for backwards compatibility
*** 2110,2119 **** --- 2115,2128 ---- the version of the toolchain to look for, use '--help' to show possible values [platform dependent] --with-build-devkit Devkit to use for the build platform toolchain --with-jtreg Regression Test Harness [probed] + --with-abi-profile specify ABI profile for ARM builds + (arm-vfp-sflt,arm-vfp-hflt,arm-sflt, + armv5-vfp-sflt,armv6-vfp-hflt,arm64,aarch64) + [toolchain dependent] --with-native-debug-symbols set the native debug symbol configuration (none, internal, external, zipped) [varying] --with-jvm-features additional JVM features to enable (separated by comma), use '--help' to show possible values [none]
*** 3994,4003 **** --- 4003,4018 ---- # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.com if you need additional information or have any # questions. # + ################################################################################ + # + # Setup ABI profile (for arm) + # + + # Reset the global CFLAGS/LDFLAGS variables and initialize them with the # corresponding configure arguments instead # Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
*** 4250,4260 **** # questions. # # All valid JVM features, regardless of platform VALID_JVM_FEATURES="compiler1 compiler2 zero shark minimal dtrace jvmti jvmci \ ! fprof vm-structs jni-check services management all-gcs nmt cds static-build" # All valid JVM variants VALID_JVM_VARIANTS="server client minimal core zero zeroshark custom" ############################################################################### --- 4265,4276 ---- # questions. # # All valid JVM features, regardless of platform VALID_JVM_FEATURES="compiler1 compiler2 zero shark minimal dtrace jvmti jvmci \ ! fprof vm-structs jni-check services management all-gcs nmt cds \ ! static-build link-time-opt" # All valid JVM variants VALID_JVM_VARIANTS="server client minimal core zero zeroshark custom" ###############################################################################
*** 4305,4314 **** --- 4321,4340 ---- # Validate JVM features once all setup is complete, including custom setup. # ################################################################################ + # + # Specify which sources will be used to build the 64-bit ARM port + # + # --with-cpu-port=arm64 will use hotspot/src/cpu/arm + # --with-cpu-port=aarch64 will use hotspot/src/cpu/aarch64 + # + + + + ################################################################################ # Check if gtest should be built # #
*** 5089,5099 **** # definitions. It is replaced with custom functionality when building # custom sources. #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: ! DATE_WHEN_GENERATED=1479997584 ############################################################################### # # Initialization / Boot-strapping # --- 5115,5125 ---- # definitions. It is replaced with custom functionality when building # custom sources. #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: ! DATE_WHEN_GENERATED=1480631660 ############################################################################### # # Initialization / Boot-strapping #
*** 16706,16715 **** --- 16732,16763 ---- if test "${with_jvm_variants+set}" = set; then : withval=$with_jvm_variants; fi + + + # Check whether --with-cpu-port was given. + if test "${with_cpu_port+set}" = set; then : + withval=$with_cpu_port; + fi + + + if test "x$with_cpu_port" != x; then + if test "x$OPENJDK_TARGET_CPU" != xaarch64; then + as_fn_error $? "--with-cpu-port only available on aarch64" "$LINENO" 5 + fi + + if test "x$with_cpu_port" != x; then + if test "x$with_cpu_port" != xarm64 && \ + test "x$with_cpu_port" != xaarch64; then + as_fn_error $? "--with-cpu-port must specify arm64 or aarch64" "$LINENO" 5 + fi + fi + fi + + if test "x$with_jvm_variants" = x; then with_jvm_variants="server" fi JVM_VARIANTS_OPT="$with_jvm_variants"
*** 49091,49103 **** else # Default works for linux, might work on other platforms as well. PICFLAG='-fPIC' 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' fi elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then PICFLAG="-KPIC" C_FLAG_REORDER='-xF' CXX_FLAG_REORDER='-xF' --- 49139,49159 ---- else # Default works for linux, might work on other platforms as well. PICFLAG='-fPIC' SHARED_LIBRARY_FLAGS='-shared' SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN$1' SET_SHARED_LIBRARY_NAME='-Wl,-soname=$1' SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=$1' + + # arm specific settings + if test "x$OPENJDK_TARGET_CPU_ARCH" = "xarm"; then + # '-Wl,-z,origin' isn't used on arm. + SET_SHARED_LIBRARY_ORIGIN='-Wl,-rpath,\$$$$ORIGIN$1' + else + SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN" + fi + fi elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then PICFLAG="-KPIC" C_FLAG_REORDER='-xF' CXX_FLAG_REORDER='-xF'
*** 49679,49688 **** --- 49735,49846 ---- + + # Check whether --with-abi-profile was given. + if test "${with_abi_profile+set}" = set; then : + withval=$with_abi_profile; + fi + + + if test "x$with_abi_profile" != x; then + if test "x$OPENJDK_TARGET_CPU" != xarm && \ + test "x$OPENJDK_TARGET_CPU" != xaarch64; then + as_fn_error $? "--with-abi-profile only available on arm/aarch64" "$LINENO" 5 + fi + + OPENJDK_TARGET_ABI_PROFILE=$with_abi_profile + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ABI profle" >&5 + $as_echo_n "checking for ABI profle... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENJDK_TARGET_ABI_PROFILE" >&5 + $as_echo "$OPENJDK_TARGET_ABI_PROFILE" >&6; } + + if test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-vfp-sflt; then + ARM_FLOAT_TYPE=vfp-sflt + ARM_ARCH_TYPE_FLAGS='-march=armv7-a -mthumb' + elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-vfp-hflt; then + ARM_FLOAT_TYPE=vfp-hflt + ARM_ARCH_TYPE_FLAGS='-march=armv7-a -mthumb' + elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-sflt; then + ARM_FLOAT_TYPE=sflt + ARM_ARCH_TYPE_FLAGS='-march=armv5t -marm' + elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarmv5-vfp-sflt; then + ARM_FLOAT_TYPE=vfp-sflt + ARM_ARCH_TYPE_FLAGS='-march=armv5t -marm' + elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarmv6-vfp-hflt; then + ARM_FLOAT_TYPE=vfp-hflt + ARM_ARCH_TYPE_FLAGS='-march=armv6 -marm' + elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm64; then + # No special flags, just need to trigger setting JDK_ARCH_ABI_PROP_NAME + ARM_FLOAT_TYPE= + ARM_ARCH_TYPE_FLAGS= + elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xaarch64; then + # No special flags, just need to trigger setting JDK_ARCH_ABI_PROP_NAME + ARM_FLOAT_TYPE= + ARM_ARCH_TYPE_FLAGS= + else + as_fn_error $? "Invalid ABI profile: \"$OPENJDK_TARGET_ABI_PROFILE\"" "$LINENO" 5 + fi + + if test "x$ARM_FLOAT_TYPE" = xvfp-sflt; then + ARM_FLOAT_TYPE_FLAGS='-mfloat-abi=softfp -mfpu=vfp -DFLOAT_ARCH=-vfp-sflt' + elif test "x$ARM_FLOAT_TYPE" = xvfp-hflt; then + ARM_FLOAT_TYPE_FLAGS='-mfloat-abi=hard -mfpu=vfp -DFLOAT_ARCH=-vfp-hflt' + elif test "x$ARM_FLOAT_TYPE" = xsflt; then + ARM_FLOAT_TYPE_FLAGS='-msoft-float -mfpu=vfp' + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ARM_FLOAT_TYPE floating point flags" >&5 + $as_echo_n "checking for $ARM_FLOAT_TYPE floating point flags... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARM_FLOAT_TYPE_FLAGS" >&5 + $as_echo "$ARM_FLOAT_TYPE_FLAGS" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for arch type flags" >&5 + $as_echo_n "checking for arch type flags... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARM_ARCH_TYPE_FLAGS" >&5 + $as_echo "$ARM_ARCH_TYPE_FLAGS" >&6; } + + # Now set JDK_ARCH_ABI_PROP_NAME. This is equivalent to the last part of the + # autoconf target triplet. + JDK_ARCH_ABI_PROP_NAME=`$ECHO $OPENJDK_TARGET_AUTOCONF_NAME | $SED -e 's/.*-\([^-]*\)$/\1/'` + # Sanity check that it is a known ABI. + if test "x$JDK_ARCH_ABI_PROP_NAME" != xgnu && \ + test "x$JDK_ARCH_ABI_PROP_NAME" != xgnueabi && \ + test "x$JDK_ARCH_ABI_PROP_NAME" != xgnueabihf; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unknown autoconf target triplet ABI: \"$JDK_ARCH_ABI_PROP_NAME\"" >&5 + $as_echo "$as_me: WARNING: Unknown autoconf target triplet ABI: \"$JDK_ARCH_ABI_PROP_NAME\"" >&2;} + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ABI property name" >&5 + $as_echo_n "checking for ABI property name... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JDK_ARCH_ABI_PROP_NAME" >&5 + $as_echo "$JDK_ARCH_ABI_PROP_NAME" >&6; } + + + # Pass these on to the open part of configure as if they were set using + # --with-extra-c[xx]flags. + EXTRA_CFLAGS="$EXTRA_CFLAGS $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS" + EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS" + # Get rid of annoying "note: the mangling of 'va_list' has changed in GCC 4.4" + # FIXME: This should not really be set using extra_cflags. + if test "x$OPENJDK_TARGET_CPU" = xarm; then + EXTRA_CFLAGS="$EXTRA_CFLAGS -Wno-psabi" + EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -Wno-psabi" + fi + # Also add JDK_ARCH_ABI_PROP_NAME define, but only to CFLAGS. + EXTRA_CFLAGS="$EXTRA_CFLAGS -DJDK_ARCH_ABI_PROP_NAME='\"\$(JDK_ARCH_ABI_PROP_NAME)\"'" + # And pass the architecture flags to the linker as well + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS" + fi + + # When building with an abi profile, the name of that profile is appended on the + # bundle platform, which is used in bundle names. + if test "x$OPENJDK_TARGET_ABI_PROFILE" != x; then + OPENJDK_TARGET_BUNDLE_PLATFORM="$OPENJDK_TARGET_OS_BUNDLE-$OPENJDK_TARGET_ABI_PROFILE" + fi + + # Special extras... if test "x$TOOLCHAIN_TYPE" = xsolstudio; then if test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl" CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
*** 49830,49839 **** --- 49988,49998 ---- -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" case $OPENJDK_TARGET_CPU_ARCH in arm ) # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing" + COMMON_CCXXFLAGS_JDK="${COMMON_CCXXFLAGS_JDK} -fsigned-char" ;; ppc ) # on ppc we don't prevent gcc to omit frame pointer but do prevent strict aliasing CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing" ;;
*** 50653,50662 **** --- 50812,50822 ---- -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" case $OPENJDK_BUILD_CPU_ARCH in arm ) # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing OPENJDK_BUILD_CFLAGS_JDK="${OPENJDK_BUILD_CFLAGS_JDK} -fno-strict-aliasing" + OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK="${OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK} -fsigned-char" ;; ppc ) # on ppc we don't prevent gcc to omit frame pointer but do prevent strict aliasing OPENJDK_BUILD_CFLAGS_JDK="${OPENJDK_BUILD_CFLAGS_JDK} -fno-strict-aliasing" ;;
*** 52821,52830 **** --- 52981,53003 ---- JVM_FEATURES=`$ECHO $with_jvm_features | $SED -e 's/,/ /g'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JVM_FEATURES" >&5 $as_echo "$JVM_FEATURES" >&6; } fi + # Override hotspot cpu definitions for ARM platforms + if test "x$OPENJDK_TARGET_CPU" = xarm; then + HOTSPOT_TARGET_CPU=arm_32 + HOTSPOT_TARGET_CPU_DEFINE="ARM32" + JVM_LDFLAGS="$JVM_LDFLAGS -fsigned-char" + JVM_CFLAGS="$JVM_CFLAGS -DARM -fsigned-char" + elif test "x$OPENJDK_TARGET_CPU" = xaarch64 && test "x$with_cpu_port" = xarm64; then + HOTSPOT_TARGET_CPU=arm_64 + HOTSPOT_TARGET_CPU_ARCH=arm + JVM_LDFLAGS="$JVM_LDFLAGS -fsigned-char" + JVM_CFLAGS="$JVM_CFLAGS -DARM -fsigned-char" + fi + # Verify that dependencies are met for explicitly set features. if [[ " $JVM_FEATURES " =~ " jvmti " ]] && ! [[ " $JVM_FEATURES " =~ " services " ]] ; then as_fn_error $? "Specified JVM feature 'jvmti' requires feature 'services'" "$LINENO" 5 fi
*** 52880,52897 **** JVM_FEATURES_jvmci="jvmci" else JVM_FEATURES_jvmci="" fi # All variants but minimal (and custom) get these features NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jvmti fprof vm-structs jni-check services management all-gcs nmt cds" # Enable features depending on variant. JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci" JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci" JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES" ! JVM_FEATURES_minimal="compiler1 minimal $JVM_FEATURES" JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES" JVM_FEATURES_zeroshark="zero shark $NON_MINIMAL_FEATURES $JVM_FEATURES" JVM_FEATURES_custom="$JVM_FEATURES" --- 53053,53077 ---- JVM_FEATURES_jvmci="jvmci" else JVM_FEATURES_jvmci="" fi + if test "x$OPENJDK_TARGET_CPU" = xarm ; then + # Default to use link time optimizations on minimal on arm + JVM_FEATURES_link_time_opt="link-time-opt" + else + JVM_FEATURES_link_time_opt="" + fi + # All variants but minimal (and custom) get these features NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jvmti fprof vm-structs jni-check services management all-gcs nmt cds" # Enable features depending on variant. JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci" JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci" JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES" ! JVM_FEATURES_minimal="compiler1 minimal $JVM_FEATURES $JVM_FEATURES_link_time_opt" JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES" JVM_FEATURES_zeroshark="zero shark $NON_MINIMAL_FEATURES $JVM_FEATURES" JVM_FEATURES_custom="$JVM_FEATURES"
common/autoconf/generated-configure.sh
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File