637 ICECC_WRAPPER
638 ICECC_CREATE_ENV
639 ICECC_CMD
640 ENABLE_JAVAC_SERVER
641 ENABLE_SJAVAC
642 SJAVAC_SERVER_JAVA_FLAGS
643 SJAVAC_SERVER_JAVA
644 JAVA_TOOL_FLAGS_SMALL
645 JAVA_FLAGS_SMALL
646 JAVA_FLAGS_JAVAC
647 BOOTCYCLE_JVM_ARGS_BIG
648 JAVA_FLAGS_BIG
649 JAVA_FLAGS
650 TEST_JOBS
651 JOBS
652 MEMORY_SIZE
653 NUM_CORES
654 ENABLE_GENERATE_CLASSLIST
655 BUILD_FAILURE_HANDLER
656 ENABLE_INTREE_EC
657 STLPORT_LIB
658 LIBZIP_CAN_USE_MMAP
659 LIBDL
660 LIBM
661 USE_EXTERNAL_LCMS
662 LCMS_LIBS
663 LCMS_CFLAGS
664 USE_EXTERNAL_LIBZ
665 USE_EXTERNAL_LIBPNG
666 PNG_LIBS
667 PNG_CFLAGS
668 USE_EXTERNAL_LIBGIF
669 USE_EXTERNAL_LIBJPEG
670 LLVM_LIBS
671 LLVM_LDFLAGS
672 LLVM_CFLAGS
673 LLVM_CONFIG
674 LIBFFI_LIBS
675 LIBFFI_CFLAGS
676 ALSA_LIBS
681 CUPS_CFLAGS
682 X_EXTRA_LIBS
683 X_LIBS
684 X_PRE_LIBS
685 X_CFLAGS
686 XMKMF
687 MSVCP_DLL
688 MSVCR_DLL
689 LIBCXX
690 FIXPATH_DETACH_FLAG
691 FIXPATH
692 BUILD_GTEST
693 VALID_JVM_FEATURES
694 JVM_FEATURES_custom
695 JVM_FEATURES_zeroshark
696 JVM_FEATURES_zero
697 JVM_FEATURES_minimal
698 JVM_FEATURES_core
699 JVM_FEATURES_client
700 JVM_FEATURES_server
701 INCLUDE_DTRACE
702 GCOV_ENABLED
703 STRIP_POLICY
704 DEBUG_BINARIES
705 ZIP_EXTERNAL_DEBUG_SYMBOLS
706 COPY_DEBUG_SYMBOLS
707 COMPILE_WITH_DEBUG_SYMBOLS
708 CFLAGS_WARNINGS_ARE_ERRORS
709 BUILD_CC_DISABLE_WARNING_PREFIX
710 DISABLE_WARNING_PREFIX
711 HOTSPOT_SET_WARNINGS_AS_ERRORS
712 WARNINGS_AS_ERRORS
713 COMPILER_SUPPORTS_TARGET_BITS_FLAG
714 ZERO_ARCHFLAG
715 LDFLAGS_TESTEXE
716 LDFLAGS_TESTLIB
717 CXXFLAGS_TESTEXE
718 CXXFLAGS_TESTLIB
719 CFLAGS_TESTEXE
720 CFLAGS_TESTLIB
1178 with_override_jaxws
1179 with_override_hotspot
1180 with_override_nashorn
1181 with_override_jdk
1182 with_import_hotspot
1183 with_import_modules
1184 enable_static_build
1185 with_toolchain_type
1186 with_extra_cflags
1187 with_extra_cxxflags
1188 with_extra_ldflags
1189 with_toolchain_version
1190 with_build_devkit
1191 with_jtreg
1192 enable_warnings_as_errors
1193 with_native_debug_symbols
1194 enable_debug_symbols
1195 enable_zip_debug_info
1196 enable_native_coverage
1197 enable_dtrace
1198 with_jvm_features
1199 with_jvm_interpreter
1200 enable_hotspot_gtest
1201 with_stdc__lib
1202 with_msvcr_dll
1203 with_msvcp_dll
1204 with_x
1205 with_cups
1206 with_cups_include
1207 with_freetype
1208 with_freetype_include
1209 with_freetype_lib
1210 with_freetype_src
1211 enable_freetype_bundling
1212 with_alsa
1213 with_alsa_include
1214 with_alsa_lib
1215 with_libffi
1216 with_libffi_include
1217 with_libffi_lib
1218 with_libjpeg
1219 with_giflib
1220 with_libpng
1221 with_zlib
1222 with_lcms
1223 with_dxsdk
1224 with_dxsdk_lib
1225 with_dxsdk_include
1226 enable_jtreg_failure_handler
1227 enable_generate_classlist
1228 with_num_cores
1229 with_memory_size
1230 with_jobs
1231 with_test_jobs
1232 with_boot_jdk_jvmargs
1233 with_sjavac_server_java
1234 enable_sjavac
1235 enable_javac_server
1236 enable_icecc
1237 enable_precompiled_headers
1238 enable_ccache
1239 with_ccache_dir
1240 '
1241 ac_precious_vars='build_alias
1242 host_alias
1243 target_alias
1244 BASENAME
1245 BASH
1330 OBJCOPY
1331 OBJDUMP
1332 BUILD_CC
1333 BUILD_CXX
1334 BUILD_NM
1335 BUILD_AR
1336 BUILD_OBJCOPY
1337 BUILD_STRIP
1338 JTREGEXE
1339 XMKMF
1340 FREETYPE_CFLAGS
1341 FREETYPE_LIBS
1342 ALSA_CFLAGS
1343 ALSA_LIBS
1344 LIBFFI_CFLAGS
1345 LIBFFI_LIBS
1346 PNG_CFLAGS
1347 PNG_LIBS
1348 LCMS_CFLAGS
1349 LCMS_LIBS
1350 ICECC_CMD
1351 ICECC_CREATE_ENV
1352 ICECC_WRAPPER
1353 CCACHE'
1354
1355
1356 # Initialize some variables set by options.
1357 ac_init_help=
1358 ac_init_version=false
1359 ac_unrecognized_opts=
1360 ac_unrecognized_sep=
1361 # The variables have the same names as the options, with
1362 # dashes changed to underlines.
1363 cache_file=/dev/null
1364 exec_prefix=NONE
1365 no_create=
1366 no_recursion=
1367 prefix=NONE
1368 program_prefix=NONE
1369 program_suffix=NONE
1975 --with-debug-level=fastdebug) [disabled]
1976 --enable-headless-only only build headless (no GUI) support [disabled]
1977 --enable-unlimited-crypto
1978 Enable unlimited crypto policy [disabled]
1979 --disable-keep-packaged-modules
1980 Do not keep packaged modules in jdk image [enable]
1981 --enable-static-build enable static library build [disabled]
1982 --disable-warnings-as-errors
1983 do not consider native warnings to be an error
1984 [enabled]
1985 --enable-debug-symbols Deprecated. Option is kept for backwards
1986 compatibility and is ignored
1987 --enable-zip-debug-info Deprecated. Option is kept for backwards
1988 compatibility and is ignored
1989 --enable-native-coverage
1990 enable native compilation with code coverage
1991 data[disabled]
1992 --enable-dtrace[=yes/no/auto]
1993 enable dtrace. Default is auto, where dtrace is
1994 enabled if all dependencies are present.
1995 --disable-hotspot-gtest Disables building of the Hotspot unit tests
1996 --disable-freetype-bundling
1997 disable bundling of the freetype library with the
1998 build result [enabled on Windows or when using
1999 --with-freetype, disabled otherwise]
2000 --enable-jtreg-failure-handler
2001 forces build of the jtreg failure handler to be
2002 enabled, missing dependencies become fatal errors.
2003 Default is auto, where the failure handler is built
2004 if all dependencies are present and otherwise just
2005 disabled.
2006 --disable-generate-classlist
2007 forces enabling or disabling of the generation of a
2008 CDS classlist at build time. Default is to generate
2009 it when either the server or client JVMs are built.
2010 --enable-sjavac use sjavac to do fast incremental compiles
2011 [disabled]
2012 --disable-javac-server disable javac server [enabled]
2013 --enable-icecc enable distribted compilation of native code using
2014 icecc/icecream [disabled]
2150 (expecting the libraries under PATH/lib and the
2151 headers under PATH/include)
2152 --with-libffi-include specify directory for the libffi include files
2153 --with-libffi-lib specify directory for the libffi library
2154 --with-libjpeg use libjpeg from build system or OpenJDK source
2155 (system, bundled) [bundled]
2156 --with-giflib use giflib from build system or OpenJDK source
2157 (system, bundled) [bundled]
2158 --with-libpng use libpng from build system or OpenJDK source
2159 (system, bundled) [bundled]
2160 --with-zlib use zlib from build system or OpenJDK source
2161 (system, bundled) [bundled]
2162 --with-lcms use lcms2 from build system or OpenJDK source
2163 (system, bundled) [bundled]
2164 --with-dxsdk Deprecated. Option is kept for backwards
2165 compatibility and is ignored
2166 --with-dxsdk-lib Deprecated. Option is kept for backwards
2167 compatibility and is ignored
2168 --with-dxsdk-include Deprecated. Option is kept for backwards
2169 compatibility and is ignored
2170 --with-num-cores number of cores in the build system, e.g.
2171 --with-num-cores=8 [probed]
2172 --with-memory-size memory (in MB) available in the build system, e.g.
2173 --with-memory-size=1024 [probed]
2174 --with-jobs number of parallel jobs to let make run [calculated
2175 based on cores and memory]
2176 --with-test-jobs number of parallel tests jobs to run [based on build
2177 jobs]
2178 --with-boot-jdk-jvmargs specify JVM arguments to be passed to all java
2179 invocations of boot JDK, overriding the default
2180 values, e.g --with-boot-jdk-jvmargs="-Xmx8G
2181 -enableassertions"
2182 --with-sjavac-server-java
2183 use this java binary for running the sjavac
2184 background server [Boot JDK java]
2185 --with-ccache-dir where to store ccache files [~/.ccache]
2186
2187 Some influential environment variables:
2188 BASENAME Override default value for BASENAME
2189 BASH Override default value for BASH
2279 BUILD_NM Override default value for BUILD_NM
2280 BUILD_AR Override default value for BUILD_AR
2281 BUILD_OBJCOPY
2282 Override default value for BUILD_OBJCOPY
2283 BUILD_STRIP Override default value for BUILD_STRIP
2284 JTREGEXE Override default value for JTREGEXE
2285 XMKMF Path to xmkmf, Makefile generator for X Window System
2286 FREETYPE_CFLAGS
2287 C compiler flags for FREETYPE, overriding pkg-config
2288 FREETYPE_LIBS
2289 linker flags for FREETYPE, overriding pkg-config
2290 ALSA_CFLAGS C compiler flags for ALSA, overriding pkg-config
2291 ALSA_LIBS linker flags for ALSA, overriding pkg-config
2292 LIBFFI_CFLAGS
2293 C compiler flags for LIBFFI, overriding pkg-config
2294 LIBFFI_LIBS linker flags for LIBFFI, overriding pkg-config
2295 PNG_CFLAGS C compiler flags for PNG, overriding pkg-config
2296 PNG_LIBS linker flags for PNG, overriding pkg-config
2297 LCMS_CFLAGS C compiler flags for LCMS, overriding pkg-config
2298 LCMS_LIBS linker flags for LCMS, overriding pkg-config
2299 ICECC_CMD Override default value for ICECC_CMD
2300 ICECC_CREATE_ENV
2301 Override default value for ICECC_CREATE_ENV
2302 ICECC_WRAPPER
2303 Override default value for ICECC_WRAPPER
2304 CCACHE Override default value for CCACHE
2305
2306 Use these variables to override the choices made by `configure' or to help
2307 it to find libraries and programs with nonstandard names/locations.
2308
2309 Report bugs to <build-dev@openjdk.java.net>.
2310 OpenJDK home page: <http://openjdk.java.net>.
2311 _ACEOF
2312 ac_status=$?
2313 fi
2314
2315 if test "$ac_init_help" = "recursive"; then
2316 # If there are subdirs, report their specific --help.
2317 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
2318 test -d "$ac_dir" ||
4166 reduced)
4167 PKGHANDLER_COMMAND="sudo apt-get install gcc-multilib g++-multilib" ;;
4168 devkit)
4169 PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
4170 openjdk)
4171 PKGHANDLER_COMMAND="sudo apt-get install openjdk-8-jdk" ;;
4172 alsa)
4173 PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
4174 cups)
4175 PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
4176 freetype)
4177 PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
4178 ffi)
4179 PKGHANDLER_COMMAND="sudo apt-get install libffi-dev" ;;
4180 x11)
4181 PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
4182 ccache)
4183 PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
4184 dtrace)
4185 PKGHANDLER_COMMAND="sudo apt-get install systemtap-sdt-dev" ;;
4186 esac
4187 }
4188
4189 yum_help() {
4190 case $1 in
4191 devkit)
4192 PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
4193 openjdk)
4194 PKGHANDLER_COMMAND="sudo yum install java-1.8.0-openjdk-devel" ;;
4195 alsa)
4196 PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
4197 cups)
4198 PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
4199 freetype)
4200 PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
4201 x11)
4202 PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel libXi-devel" ;;
4203 ccache)
4204 PKGHANDLER_COMMAND="sudo yum install ccache" ;;
4205 esac
4206 }
4207
4208 port_help() {
4209 PKGHANDLER_COMMAND=""
4210 }
4211
4212 pkgutil_help() {
4213 PKGHANDLER_COMMAND=""
4214 }
4215
4216 pkgadd_help() {
4217 PKGHANDLER_COMMAND=""
4218 }
4219
4220 # This function will check if we're called from the "configure" wrapper while
4221 # printing --help. If so, we will print out additional information that can
4222 # only be extracted within the autoconf script, and then exit. This must be
4223 # called at the very beginning in configure.ac.
4224
4237 # particular file as subject to the "Classpath" exception as provided
4238 # by Oracle in the LICENSE file that accompanied this code.
4239 #
4240 # This code is distributed in the hope that it will be useful, but WITHOUT
4241 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4242 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4243 # version 2 for more details (a copy is included in the LICENSE file that
4244 # accompanied this code).
4245 #
4246 # You should have received a copy of the GNU General Public License version
4247 # 2 along with this work; if not, write to the Free Software Foundation,
4248 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4249 #
4250 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4251 # or visit www.oracle.com if you need additional information or have any
4252 # questions.
4253 #
4254
4255 # All valid JVM features, regardless of platform
4256 VALID_JVM_FEATURES="compiler1 compiler2 zero shark minimal dtrace jvmti jvmci \
4257 fprof vm-structs jni-check services management all-gcs nmt cds static-build"
4258
4259 # All valid JVM variants
4260 VALID_JVM_VARIANTS="server client minimal core zero zeroshark custom"
4261
4262 ###############################################################################
4263 # Check if the specified JVM variant should be built. To be used in shell if
4264 # constructs, like this:
4265 # if HOTSPOT_CHECK_JVM_VARIANT(server); then
4266 #
4267 # Only valid to use after HOTSPOT_SETUP_JVM_VARIANTS has setup variants.
4268
4269 # Definition kept in one line to allow inlining in if statements.
4270 # Additional [] needed to keep m4 from mangling shell constructs.
4271
4272
4273 ###############################################################################
4274 # Check if the specified JVM features are explicitly enabled. To be used in
4275 # shell if constructs, like this:
4276 # if HOTSPOT_CHECK_JVM_FEATURE(jvmti); then
4277 #
4281 # Additional [] needed to keep m4 from mangling shell constructs.
4282
4283
4284 ###############################################################################
4285 # Check which variants of the JVM that we want to build. Available variants are:
4286 # server: normal interpreter, and a tiered C1/C2 compiler
4287 # client: normal interpreter, and C1 (no C2 compiler)
4288 # minimal: reduced form of client with optional features stripped out
4289 # core: normal interpreter only, no compiler
4290 # zero: C++ based interpreter only, no compiler
4291 # zeroshark: C++ based interpreter, and a llvm-based compiler
4292 # custom: baseline JVM with no default features
4293 #
4294
4295
4296 ###############################################################################
4297 # Check if dtrace should be enabled and has all prerequisites present.
4298 #
4299
4300
4301 ###############################################################################
4302 # Set up all JVM features for each JVM variant.
4303 #
4304
4305
4306 ###############################################################################
4307 # Validate JVM features once all setup is complete, including custom setup.
4308 #
4309
4310
4311 ################################################################################
4312 # Check if gtest should be built
4313 #
4314
4315
4316 #
4317 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
4318 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4319 #
4320 # This code is free software; you can redistribute it and/or modify it
4704 # This code is distributed in the hope that it will be useful, but WITHOUT
4705 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4706 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4707 # version 2 for more details (a copy is included in the LICENSE file that
4708 # accompanied this code).
4709 #
4710 # You should have received a copy of the GNU General Public License version
4711 # 2 along with this work; if not, write to the Free Software Foundation,
4712 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4713 #
4714 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4715 # or visit www.oracle.com if you need additional information or have any
4716 # questions.
4717 #
4718
4719 ################################################################################
4720 # Setup X11 Windows system
4721 ################################################################################
4722
4723
4724
4725 ################################################################################
4726 # Determine which libraries are needed for this configuration
4727 ################################################################################
4728
4729
4730 ################################################################################
4731 # Parse library options, and setup needed libraries
4732 ################################################################################
4733
4734
4735 ################################################################################
4736 # Setup llvm (Low-Level VM)
4737 ################################################################################
4738
4739
4740 ################################################################################
4741 # Setup various libraries, typically small system libraries
4742 ################################################################################
4743
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090 # This line needs to be here, verbatim, after all includes and the dummy hook
5091 # definitions. It is replaced with custom functionality when building
5092 # custom sources.
5093 #CUSTOM_AUTOCONF_INCLUDE
5094
5095 # Do not change or remove the following line, it is needed for consistency checks:
5096 DATE_WHEN_GENERATED=1476374246
5097
5098 ###############################################################################
5099 #
5100 # Initialization / Boot-strapping
5101 #
5102 # The bootstrapping process needs to solve the "chicken or the egg" problem,
5103 # thus it jumps back and forth, each time gaining something needed later on.
5104 #
5105 ###############################################################################
5106
5107 # If we are requested to print additional help, do that and then exit.
5108 # This must be the very first call.
5109
5110 if test "x$CONFIGURE_PRINT_ADDITIONAL_HELP" != x; then
5111
5112 # Print available toolchains
5113 $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
5114 $PRINTF "Which are valid to use depends on the build platform.\n"
5115 for toolchain in $VALID_TOOLCHAINS_all; do
5116 # Use indirect variable referencing
52793 elif test "x$enable_dtrace" = "xno"; then
52794 INCLUDE_DTRACE=false
52795 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, forced" >&5
52796 $as_echo "no, forced" >&6; }
52797 elif test "x$enable_dtrace" = "xauto" || test "x$enable_dtrace" = "x"; then
52798 if test "x$DTRACE_DEP_MISSING" = "xtrue"; then
52799 INCLUDE_DTRACE=false
52800 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, missing dependencies" >&5
52801 $as_echo "no, missing dependencies" >&6; }
52802 else
52803 INCLUDE_DTRACE=true
52804 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, dependencies present" >&5
52805 $as_echo "yes, dependencies present" >&6; }
52806 fi
52807 else
52808 as_fn_error $? "Invalid value for --enable-dtrace: $enable_dtrace" "$LINENO" 5
52809 fi
52810
52811
52812
52813 # The user can in some cases supply additional jvm features. For the custom
52814 # variant, this defines the entire variant.
52815
52816 # Check whether --with-jvm-features was given.
52817 if test "${with_jvm_features+set}" = set; then :
52818 withval=$with_jvm_features;
52819 fi
52820
52821 if test "x$with_jvm_features" != x; then
52822 { $as_echo "$as_me:${as_lineno-$LINENO}: checking additional JVM features" >&5
52823 $as_echo_n "checking additional JVM features... " >&6; }
52824 JVM_FEATURES=`$ECHO $with_jvm_features | $SED -e 's/,/ /g'`
52825 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JVM_FEATURES" >&5
52826 $as_echo "$JVM_FEATURES" >&6; }
52827 fi
52828
52829 # Verify that dependencies are met for explicitly set features.
52830 if [[ " $JVM_FEATURES " =~ " jvmti " ]] && ! [[ " $JVM_FEATURES " =~ " services " ]] ; then
52831 as_fn_error $? "Specified JVM feature 'jvmti' requires feature 'services'" "$LINENO" 5
52832 fi
52868 if [[ " $JVM_FEATURES " =~ " zero " ]] ; then
52869 as_fn_error $? "To enable zero/zeroshark, you must use --with-jvm-variants=zero/zeroshark" "$LINENO" 5
52870 fi
52871 fi
52872
52873 if ! [[ " $JVM_VARIANTS " =~ " zeroshark " ]] ; then
52874 if [[ " $JVM_FEATURES " =~ " shark " ]] ; then
52875 as_fn_error $? "To enable shark, you must use --with-jvm-variants=zeroshark" "$LINENO" 5
52876 fi
52877 fi
52878
52879 # Only enable jvmci on x86_64, sparcv9 and aarch64.
52880 if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
52881 test "x$OPENJDK_TARGET_CPU" = "xsparcv9" || \
52882 test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
52883 JVM_FEATURES_jvmci="jvmci"
52884 else
52885 JVM_FEATURES_jvmci=""
52886 fi
52887
52888 # All variants but minimal (and custom) get these features
52889 NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jvmti fprof vm-structs jni-check services management all-gcs nmt cds"
52890
52891 # Enable features depending on variant.
52892 JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci"
52893 JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci"
52894 JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES"
52895 JVM_FEATURES_minimal="compiler1 minimal $JVM_FEATURES"
52896 JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES"
52897 JVM_FEATURES_zeroshark="zero shark $NON_MINIMAL_FEATURES $JVM_FEATURES"
52898 JVM_FEATURES_custom="$JVM_FEATURES"
52899
52900
52901
52902
52903
52904
52905
52906
52907
52908 # Used for verification of Makefiles by check-jvm-feature
52909
52910
52911 # We don't support --with-jvm-interpreter anymore, use zero instead.
52912
53072
53073 # A custom hook may have set this already
53074 if test "x$NEEDS_LIB_FREETYPE" = "x"; then
53075 NEEDS_LIB_FREETYPE=true
53076 fi
53077
53078 # Check if alsa is needed
53079 if test "x$OPENJDK_TARGET_OS" = xlinux; then
53080 NEEDS_LIB_ALSA=true
53081 else
53082 NEEDS_LIB_ALSA=false
53083 fi
53084
53085 # Check if ffi is needed
53086 if [[ " $JVM_VARIANTS " =~ " zero " ]] || [[ " $JVM_VARIANTS " =~ " zeroshark " ]] ; then
53087 NEEDS_LIB_FFI=true
53088 else
53089 NEEDS_LIB_FFI=false
53090 fi
53091
53092
53093 # statically link libstdc++ before C++ ABI is stablized on Linux unless
53094 # dynamic build is configured on command line.
53095
53096 # Check whether --with-stdc++lib was given.
53097 if test "${with_stdc__lib+set}" = set; then :
53098 withval=$with_stdc__lib;
53099 if test "x$with_stdc__lib" != xdynamic && test "x$with_stdc__lib" != xstatic \
53100 && test "x$with_stdc__lib" != xdefault; then
53101 as_fn_error $? "Bad parameter value --with-stdc++lib=$with_stdc__lib!" "$LINENO" 5
53102 fi
53103
53104 else
53105 with_stdc__lib=default
53106
53107 fi
53108
53109
53110 if test "x$OPENJDK_TARGET_OS" = xlinux; then
53111 # Test if stdc++ can be linked statically.
63797 if test -d "$path"; then
63798 STLPORT_LIB="`cd "$path"; $THEPWDCMD -L`"
63799 else
63800 dir="`$DIRNAME "$path"`"
63801 base="`$BASENAME "$path"`"
63802 STLPORT_LIB="`cd "$dir"; $THEPWDCMD -L`/$base"
63803 fi
63804 fi
63805 fi
63806
63807 else
63808 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, not found at $STLPORT_LIB" >&5
63809 $as_echo "no, not found at $STLPORT_LIB" >&6; }
63810 as_fn_error $? "Failed to find libstlport.so.1, cannot build Hotspot gtests" "$LINENO" 5
63811 fi
63812
63813 fi
63814
63815
63816
63817
63818
63819
63820
63821
63822
63823
63824
63825
63826
63827
63828 ###############################################################################
63829 #
63830 # We need to do some final tweaking, when everything else is done.
63831 #
63832 ###############################################################################
63833
63834
63835 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if elliptic curve crypto implementation is present" >&5
63836 $as_echo_n "checking if elliptic curve crypto implementation is present... " >&6; }
|
637 ICECC_WRAPPER
638 ICECC_CREATE_ENV
639 ICECC_CMD
640 ENABLE_JAVAC_SERVER
641 ENABLE_SJAVAC
642 SJAVAC_SERVER_JAVA_FLAGS
643 SJAVAC_SERVER_JAVA
644 JAVA_TOOL_FLAGS_SMALL
645 JAVA_FLAGS_SMALL
646 JAVA_FLAGS_JAVAC
647 BOOTCYCLE_JVM_ARGS_BIG
648 JAVA_FLAGS_BIG
649 JAVA_FLAGS
650 TEST_JOBS
651 JOBS
652 MEMORY_SIZE
653 NUM_CORES
654 ENABLE_GENERATE_CLASSLIST
655 BUILD_FAILURE_HANDLER
656 ENABLE_INTREE_EC
657 NEEDS_LIB_JELFSHIM
658 ELF_LIBS
659 ELF_CFLAGS
660 STLPORT_LIB
661 LIBZIP_CAN_USE_MMAP
662 LIBDL
663 LIBM
664 USE_EXTERNAL_LCMS
665 LCMS_LIBS
666 LCMS_CFLAGS
667 USE_EXTERNAL_LIBZ
668 USE_EXTERNAL_LIBPNG
669 PNG_LIBS
670 PNG_CFLAGS
671 USE_EXTERNAL_LIBGIF
672 USE_EXTERNAL_LIBJPEG
673 LLVM_LIBS
674 LLVM_LDFLAGS
675 LLVM_CFLAGS
676 LLVM_CONFIG
677 LIBFFI_LIBS
678 LIBFFI_CFLAGS
679 ALSA_LIBS
684 CUPS_CFLAGS
685 X_EXTRA_LIBS
686 X_LIBS
687 X_PRE_LIBS
688 X_CFLAGS
689 XMKMF
690 MSVCP_DLL
691 MSVCR_DLL
692 LIBCXX
693 FIXPATH_DETACH_FLAG
694 FIXPATH
695 BUILD_GTEST
696 VALID_JVM_FEATURES
697 JVM_FEATURES_custom
698 JVM_FEATURES_zeroshark
699 JVM_FEATURES_zero
700 JVM_FEATURES_minimal
701 JVM_FEATURES_core
702 JVM_FEATURES_client
703 JVM_FEATURES_server
704 ENABLE_AOT
705 INCLUDE_DTRACE
706 GCOV_ENABLED
707 STRIP_POLICY
708 DEBUG_BINARIES
709 ZIP_EXTERNAL_DEBUG_SYMBOLS
710 COPY_DEBUG_SYMBOLS
711 COMPILE_WITH_DEBUG_SYMBOLS
712 CFLAGS_WARNINGS_ARE_ERRORS
713 BUILD_CC_DISABLE_WARNING_PREFIX
714 DISABLE_WARNING_PREFIX
715 HOTSPOT_SET_WARNINGS_AS_ERRORS
716 WARNINGS_AS_ERRORS
717 COMPILER_SUPPORTS_TARGET_BITS_FLAG
718 ZERO_ARCHFLAG
719 LDFLAGS_TESTEXE
720 LDFLAGS_TESTLIB
721 CXXFLAGS_TESTEXE
722 CXXFLAGS_TESTLIB
723 CFLAGS_TESTEXE
724 CFLAGS_TESTLIB
1182 with_override_jaxws
1183 with_override_hotspot
1184 with_override_nashorn
1185 with_override_jdk
1186 with_import_hotspot
1187 with_import_modules
1188 enable_static_build
1189 with_toolchain_type
1190 with_extra_cflags
1191 with_extra_cxxflags
1192 with_extra_ldflags
1193 with_toolchain_version
1194 with_build_devkit
1195 with_jtreg
1196 enable_warnings_as_errors
1197 with_native_debug_symbols
1198 enable_debug_symbols
1199 enable_zip_debug_info
1200 enable_native_coverage
1201 enable_dtrace
1202 enable_aot
1203 with_jvm_features
1204 with_jvm_interpreter
1205 enable_hotspot_gtest
1206 with_stdc__lib
1207 with_msvcr_dll
1208 with_msvcp_dll
1209 with_x
1210 with_cups
1211 with_cups_include
1212 with_freetype
1213 with_freetype_include
1214 with_freetype_lib
1215 with_freetype_src
1216 enable_freetype_bundling
1217 with_alsa
1218 with_alsa_include
1219 with_alsa_lib
1220 with_libffi
1221 with_libffi_include
1222 with_libffi_lib
1223 with_libjpeg
1224 with_giflib
1225 with_libpng
1226 with_zlib
1227 with_lcms
1228 with_dxsdk
1229 with_dxsdk_lib
1230 with_dxsdk_include
1231 with_libelf
1232 with_libelf_include
1233 with_libelf_lib
1234 enable_jtreg_failure_handler
1235 enable_generate_classlist
1236 with_num_cores
1237 with_memory_size
1238 with_jobs
1239 with_test_jobs
1240 with_boot_jdk_jvmargs
1241 with_sjavac_server_java
1242 enable_sjavac
1243 enable_javac_server
1244 enable_icecc
1245 enable_precompiled_headers
1246 enable_ccache
1247 with_ccache_dir
1248 '
1249 ac_precious_vars='build_alias
1250 host_alias
1251 target_alias
1252 BASENAME
1253 BASH
1338 OBJCOPY
1339 OBJDUMP
1340 BUILD_CC
1341 BUILD_CXX
1342 BUILD_NM
1343 BUILD_AR
1344 BUILD_OBJCOPY
1345 BUILD_STRIP
1346 JTREGEXE
1347 XMKMF
1348 FREETYPE_CFLAGS
1349 FREETYPE_LIBS
1350 ALSA_CFLAGS
1351 ALSA_LIBS
1352 LIBFFI_CFLAGS
1353 LIBFFI_LIBS
1354 PNG_CFLAGS
1355 PNG_LIBS
1356 LCMS_CFLAGS
1357 LCMS_LIBS
1358 ELF_CFLAGS
1359 ELF_LIBS
1360 ICECC_CMD
1361 ICECC_CREATE_ENV
1362 ICECC_WRAPPER
1363 CCACHE'
1364
1365
1366 # Initialize some variables set by options.
1367 ac_init_help=
1368 ac_init_version=false
1369 ac_unrecognized_opts=
1370 ac_unrecognized_sep=
1371 # The variables have the same names as the options, with
1372 # dashes changed to underlines.
1373 cache_file=/dev/null
1374 exec_prefix=NONE
1375 no_create=
1376 no_recursion=
1377 prefix=NONE
1378 program_prefix=NONE
1379 program_suffix=NONE
1985 --with-debug-level=fastdebug) [disabled]
1986 --enable-headless-only only build headless (no GUI) support [disabled]
1987 --enable-unlimited-crypto
1988 Enable unlimited crypto policy [disabled]
1989 --disable-keep-packaged-modules
1990 Do not keep packaged modules in jdk image [enable]
1991 --enable-static-build enable static library build [disabled]
1992 --disable-warnings-as-errors
1993 do not consider native warnings to be an error
1994 [enabled]
1995 --enable-debug-symbols Deprecated. Option is kept for backwards
1996 compatibility and is ignored
1997 --enable-zip-debug-info Deprecated. Option is kept for backwards
1998 compatibility and is ignored
1999 --enable-native-coverage
2000 enable native compilation with code coverage
2001 data[disabled]
2002 --enable-dtrace[=yes/no/auto]
2003 enable dtrace. Default is auto, where dtrace is
2004 enabled if all dependencies are present.
2005 --enable-aot[=yes/no/auto]
2006 enable ahead of time compilation feature. Default is
2007 auto, where aot is enabled if all dependencies are
2008 present.
2009 --disable-hotspot-gtest Disables building of the Hotspot unit tests
2010 --disable-freetype-bundling
2011 disable bundling of the freetype library with the
2012 build result [enabled on Windows or when using
2013 --with-freetype, disabled otherwise]
2014 --enable-jtreg-failure-handler
2015 forces build of the jtreg failure handler to be
2016 enabled, missing dependencies become fatal errors.
2017 Default is auto, where the failure handler is built
2018 if all dependencies are present and otherwise just
2019 disabled.
2020 --disable-generate-classlist
2021 forces enabling or disabling of the generation of a
2022 CDS classlist at build time. Default is to generate
2023 it when either the server or client JVMs are built.
2024 --enable-sjavac use sjavac to do fast incremental compiles
2025 [disabled]
2026 --disable-javac-server disable javac server [enabled]
2027 --enable-icecc enable distribted compilation of native code using
2028 icecc/icecream [disabled]
2164 (expecting the libraries under PATH/lib and the
2165 headers under PATH/include)
2166 --with-libffi-include specify directory for the libffi include files
2167 --with-libffi-lib specify directory for the libffi library
2168 --with-libjpeg use libjpeg from build system or OpenJDK source
2169 (system, bundled) [bundled]
2170 --with-giflib use giflib from build system or OpenJDK source
2171 (system, bundled) [bundled]
2172 --with-libpng use libpng from build system or OpenJDK source
2173 (system, bundled) [bundled]
2174 --with-zlib use zlib from build system or OpenJDK source
2175 (system, bundled) [bundled]
2176 --with-lcms use lcms2 from build system or OpenJDK source
2177 (system, bundled) [bundled]
2178 --with-dxsdk Deprecated. Option is kept for backwards
2179 compatibility and is ignored
2180 --with-dxsdk-lib Deprecated. Option is kept for backwards
2181 compatibility and is ignored
2182 --with-dxsdk-include Deprecated. Option is kept for backwards
2183 compatibility and is ignored
2184 --with-libelf specify prefix directory for the libelf package
2185 (expecting the libraries under PATH/lib and the
2186 headers under PATH/include)
2187 --with-libelf-include specify directory for the libelf include files
2188 --with-libelf-lib specify directory for the libelf library
2189 --with-num-cores number of cores in the build system, e.g.
2190 --with-num-cores=8 [probed]
2191 --with-memory-size memory (in MB) available in the build system, e.g.
2192 --with-memory-size=1024 [probed]
2193 --with-jobs number of parallel jobs to let make run [calculated
2194 based on cores and memory]
2195 --with-test-jobs number of parallel tests jobs to run [based on build
2196 jobs]
2197 --with-boot-jdk-jvmargs specify JVM arguments to be passed to all java
2198 invocations of boot JDK, overriding the default
2199 values, e.g --with-boot-jdk-jvmargs="-Xmx8G
2200 -enableassertions"
2201 --with-sjavac-server-java
2202 use this java binary for running the sjavac
2203 background server [Boot JDK java]
2204 --with-ccache-dir where to store ccache files [~/.ccache]
2205
2206 Some influential environment variables:
2207 BASENAME Override default value for BASENAME
2208 BASH Override default value for BASH
2298 BUILD_NM Override default value for BUILD_NM
2299 BUILD_AR Override default value for BUILD_AR
2300 BUILD_OBJCOPY
2301 Override default value for BUILD_OBJCOPY
2302 BUILD_STRIP Override default value for BUILD_STRIP
2303 JTREGEXE Override default value for JTREGEXE
2304 XMKMF Path to xmkmf, Makefile generator for X Window System
2305 FREETYPE_CFLAGS
2306 C compiler flags for FREETYPE, overriding pkg-config
2307 FREETYPE_LIBS
2308 linker flags for FREETYPE, overriding pkg-config
2309 ALSA_CFLAGS C compiler flags for ALSA, overriding pkg-config
2310 ALSA_LIBS linker flags for ALSA, overriding pkg-config
2311 LIBFFI_CFLAGS
2312 C compiler flags for LIBFFI, overriding pkg-config
2313 LIBFFI_LIBS linker flags for LIBFFI, overriding pkg-config
2314 PNG_CFLAGS C compiler flags for PNG, overriding pkg-config
2315 PNG_LIBS linker flags for PNG, overriding pkg-config
2316 LCMS_CFLAGS C compiler flags for LCMS, overriding pkg-config
2317 LCMS_LIBS linker flags for LCMS, overriding pkg-config
2318 ELF_CFLAGS C compiler flags for ELF, overriding pkg-config
2319 ELF_LIBS linker flags for ELF, overriding pkg-config
2320 ICECC_CMD Override default value for ICECC_CMD
2321 ICECC_CREATE_ENV
2322 Override default value for ICECC_CREATE_ENV
2323 ICECC_WRAPPER
2324 Override default value for ICECC_WRAPPER
2325 CCACHE Override default value for CCACHE
2326
2327 Use these variables to override the choices made by `configure' or to help
2328 it to find libraries and programs with nonstandard names/locations.
2329
2330 Report bugs to <build-dev@openjdk.java.net>.
2331 OpenJDK home page: <http://openjdk.java.net>.
2332 _ACEOF
2333 ac_status=$?
2334 fi
2335
2336 if test "$ac_init_help" = "recursive"; then
2337 # If there are subdirs, report their specific --help.
2338 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
2339 test -d "$ac_dir" ||
4187 reduced)
4188 PKGHANDLER_COMMAND="sudo apt-get install gcc-multilib g++-multilib" ;;
4189 devkit)
4190 PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
4191 openjdk)
4192 PKGHANDLER_COMMAND="sudo apt-get install openjdk-8-jdk" ;;
4193 alsa)
4194 PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
4195 cups)
4196 PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
4197 freetype)
4198 PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
4199 ffi)
4200 PKGHANDLER_COMMAND="sudo apt-get install libffi-dev" ;;
4201 x11)
4202 PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
4203 ccache)
4204 PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
4205 dtrace)
4206 PKGHANDLER_COMMAND="sudo apt-get install systemtap-sdt-dev" ;;
4207 elf)
4208 PKGHANDLER_COMMAND="sudo apt-get install libelf-dev" ;;
4209 esac
4210 }
4211
4212 yum_help() {
4213 case $1 in
4214 devkit)
4215 PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
4216 openjdk)
4217 PKGHANDLER_COMMAND="sudo yum install java-1.8.0-openjdk-devel" ;;
4218 alsa)
4219 PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
4220 cups)
4221 PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
4222 freetype)
4223 PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
4224 x11)
4225 PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel libXi-devel" ;;
4226 ccache)
4227 PKGHANDLER_COMMAND="sudo yum install ccache" ;;
4228 elf)
4229 PKGHANDLER_COMMAND="sudo yum install elfutils-libelf-devel" ;;
4230 esac
4231 }
4232
4233 port_help() {
4234 PKGHANDLER_COMMAND=""
4235 }
4236
4237 pkgutil_help() {
4238 PKGHANDLER_COMMAND=""
4239 }
4240
4241 pkgadd_help() {
4242 PKGHANDLER_COMMAND=""
4243 }
4244
4245 # This function will check if we're called from the "configure" wrapper while
4246 # printing --help. If so, we will print out additional information that can
4247 # only be extracted within the autoconf script, and then exit. This must be
4248 # called at the very beginning in configure.ac.
4249
4262 # particular file as subject to the "Classpath" exception as provided
4263 # by Oracle in the LICENSE file that accompanied this code.
4264 #
4265 # This code is distributed in the hope that it will be useful, but WITHOUT
4266 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4267 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4268 # version 2 for more details (a copy is included in the LICENSE file that
4269 # accompanied this code).
4270 #
4271 # You should have received a copy of the GNU General Public License version
4272 # 2 along with this work; if not, write to the Free Software Foundation,
4273 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4274 #
4275 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4276 # or visit www.oracle.com if you need additional information or have any
4277 # questions.
4278 #
4279
4280 # All valid JVM features, regardless of platform
4281 VALID_JVM_FEATURES="compiler1 compiler2 zero shark minimal dtrace jvmti jvmci \
4282 fprof vm-structs jni-check services management all-gcs nmt cds static-build aot"
4283
4284 # All valid JVM variants
4285 VALID_JVM_VARIANTS="server client minimal core zero zeroshark custom"
4286
4287 ###############################################################################
4288 # Check if the specified JVM variant should be built. To be used in shell if
4289 # constructs, like this:
4290 # if HOTSPOT_CHECK_JVM_VARIANT(server); then
4291 #
4292 # Only valid to use after HOTSPOT_SETUP_JVM_VARIANTS has setup variants.
4293
4294 # Definition kept in one line to allow inlining in if statements.
4295 # Additional [] needed to keep m4 from mangling shell constructs.
4296
4297
4298 ###############################################################################
4299 # Check if the specified JVM features are explicitly enabled. To be used in
4300 # shell if constructs, like this:
4301 # if HOTSPOT_CHECK_JVM_FEATURE(jvmti); then
4302 #
4306 # Additional [] needed to keep m4 from mangling shell constructs.
4307
4308
4309 ###############################################################################
4310 # Check which variants of the JVM that we want to build. Available variants are:
4311 # server: normal interpreter, and a tiered C1/C2 compiler
4312 # client: normal interpreter, and C1 (no C2 compiler)
4313 # minimal: reduced form of client with optional features stripped out
4314 # core: normal interpreter only, no compiler
4315 # zero: C++ based interpreter only, no compiler
4316 # zeroshark: C++ based interpreter, and a llvm-based compiler
4317 # custom: baseline JVM with no default features
4318 #
4319
4320
4321 ###############################################################################
4322 # Check if dtrace should be enabled and has all prerequisites present.
4323 #
4324
4325
4326 ################################################################################
4327 # Check if AOT should be enabled
4328 #
4329
4330
4331 ###############################################################################
4332 # Set up all JVM features for each JVM variant.
4333 #
4334
4335
4336 ###############################################################################
4337 # Validate JVM features once all setup is complete, including custom setup.
4338 #
4339
4340
4341 ################################################################################
4342 # Check if gtest should be built
4343 #
4344
4345
4346 #
4347 # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
4348 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4349 #
4350 # This code is free software; you can redistribute it and/or modify it
4734 # This code is distributed in the hope that it will be useful, but WITHOUT
4735 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4736 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4737 # version 2 for more details (a copy is included in the LICENSE file that
4738 # accompanied this code).
4739 #
4740 # You should have received a copy of the GNU General Public License version
4741 # 2 along with this work; if not, write to the Free Software Foundation,
4742 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4743 #
4744 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4745 # or visit www.oracle.com if you need additional information or have any
4746 # questions.
4747 #
4748
4749 ################################################################################
4750 # Setup X11 Windows system
4751 ################################################################################
4752
4753
4754 #
4755 # Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
4756 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4757 #
4758 # This code is free software; you can redistribute it and/or modify it
4759 # under the terms of the GNU General Public License version 2 only, as
4760 # published by the Free Software Foundation. Oracle designates this
4761 # particular file as subject to the "Classpath" exception as provided
4762 # by Oracle in the LICENSE file that accompanied this code.
4763 #
4764 # This code is distributed in the hope that it will be useful, but WITHOUT
4765 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4766 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4767 # version 2 for more details (a copy is included in the LICENSE file that
4768 # accompanied this code).
4769 #
4770 # You should have received a copy of the GNU General Public License version
4771 # 2 along with this work; if not, write to the Free Software Foundation,
4772 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4773 #
4774 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4775 # or visit www.oracle.com if you need additional information or have any
4776 # questions.
4777 #
4778
4779 ################################################################################
4780 # Setup libelf (ELF library)
4781 ################################################################################
4782
4783
4784
4785 ################################################################################
4786 # Determine which libraries are needed for this configuration
4787 ################################################################################
4788
4789
4790 ################################################################################
4791 # Parse library options, and setup needed libraries
4792 ################################################################################
4793
4794
4795 ################################################################################
4796 # Setup llvm (Low-Level VM)
4797 ################################################################################
4798
4799
4800 ################################################################################
4801 # Setup various libraries, typically small system libraries
4802 ################################################################################
4803
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150 # This line needs to be here, verbatim, after all includes and the dummy hook
5151 # definitions. It is replaced with custom functionality when building
5152 # custom sources.
5153 #CUSTOM_AUTOCONF_INCLUDE
5154
5155 # Do not change or remove the following line, it is needed for consistency checks:
5156 DATE_WHEN_GENERATED=1477629130
5157
5158 ###############################################################################
5159 #
5160 # Initialization / Boot-strapping
5161 #
5162 # The bootstrapping process needs to solve the "chicken or the egg" problem,
5163 # thus it jumps back and forth, each time gaining something needed later on.
5164 #
5165 ###############################################################################
5166
5167 # If we are requested to print additional help, do that and then exit.
5168 # This must be the very first call.
5169
5170 if test "x$CONFIGURE_PRINT_ADDITIONAL_HELP" != x; then
5171
5172 # Print available toolchains
5173 $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
5174 $PRINTF "Which are valid to use depends on the build platform.\n"
5175 for toolchain in $VALID_TOOLCHAINS_all; do
5176 # Use indirect variable referencing
52853 elif test "x$enable_dtrace" = "xno"; then
52854 INCLUDE_DTRACE=false
52855 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, forced" >&5
52856 $as_echo "no, forced" >&6; }
52857 elif test "x$enable_dtrace" = "xauto" || test "x$enable_dtrace" = "x"; then
52858 if test "x$DTRACE_DEP_MISSING" = "xtrue"; then
52859 INCLUDE_DTRACE=false
52860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, missing dependencies" >&5
52861 $as_echo "no, missing dependencies" >&6; }
52862 else
52863 INCLUDE_DTRACE=true
52864 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, dependencies present" >&5
52865 $as_echo "yes, dependencies present" >&6; }
52866 fi
52867 else
52868 as_fn_error $? "Invalid value for --enable-dtrace: $enable_dtrace" "$LINENO" 5
52869 fi
52870
52871
52872
52873 # Check whether --enable-aot was given.
52874 if test "${enable_aot+set}" = set; then :
52875 enableval=$enable_aot;
52876 fi
52877
52878
52879 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if aot src is present" >&5
52880 $as_echo_n "checking if aot src is present... " >&6; }
52881 if test -d "$HOTSPOT_TOPDIR/src/jdk.aot"; then
52882 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
52883 $as_echo "yes" >&6; }
52884
52885 ENABLE_AOT_DEFAULT="false"
52886 # Only enable AOT on linux-X64.
52887 if test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-x86_64"; then
52888 ENABLE_AOT_DEFAULT="true"
52889 fi
52890
52891 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if aot should be enabled" >&5
52892 $as_echo_n "checking if aot should be enabled... " >&6; }
52893 if test "x$enable_aot" = "x" || test "x$enable_aot" = "xauto"; then
52894 if test "x$ENABLE_AOT_DEFAULT" = "xtrue"; then
52895 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
52896 $as_echo "yes" >&6; }
52897 ENABLE_AOT="true"
52898 else
52899 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
52900 $as_echo "no" >&6; }
52901 ENABLE_AOT="false"
52902 fi
52903 elif test "x$enable_aot" = "xyes"; then
52904 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, forced" >&5
52905 $as_echo "yes, forced" >&6; }
52906 ENABLE_AOT="true"
52907 elif test "x$enable_aot" = "xno"; then
52908 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, forced" >&5
52909 $as_echo "no, forced" >&6; }
52910 ENABLE_AOT="false"
52911 else
52912 as_fn_error $? "Invalid value for --enable-aot: $enable_aot" "$LINENO" 5
52913 fi
52914
52915 else
52916 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
52917 $as_echo "no" >&6; }
52918 ENABLE_AOT="false"
52919 fi
52920
52921
52922
52923
52924 # The user can in some cases supply additional jvm features. For the custom
52925 # variant, this defines the entire variant.
52926
52927 # Check whether --with-jvm-features was given.
52928 if test "${with_jvm_features+set}" = set; then :
52929 withval=$with_jvm_features;
52930 fi
52931
52932 if test "x$with_jvm_features" != x; then
52933 { $as_echo "$as_me:${as_lineno-$LINENO}: checking additional JVM features" >&5
52934 $as_echo_n "checking additional JVM features... " >&6; }
52935 JVM_FEATURES=`$ECHO $with_jvm_features | $SED -e 's/,/ /g'`
52936 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JVM_FEATURES" >&5
52937 $as_echo "$JVM_FEATURES" >&6; }
52938 fi
52939
52940 # Verify that dependencies are met for explicitly set features.
52941 if [[ " $JVM_FEATURES " =~ " jvmti " ]] && ! [[ " $JVM_FEATURES " =~ " services " ]] ; then
52942 as_fn_error $? "Specified JVM feature 'jvmti' requires feature 'services'" "$LINENO" 5
52943 fi
52979 if [[ " $JVM_FEATURES " =~ " zero " ]] ; then
52980 as_fn_error $? "To enable zero/zeroshark, you must use --with-jvm-variants=zero/zeroshark" "$LINENO" 5
52981 fi
52982 fi
52983
52984 if ! [[ " $JVM_VARIANTS " =~ " zeroshark " ]] ; then
52985 if [[ " $JVM_FEATURES " =~ " shark " ]] ; then
52986 as_fn_error $? "To enable shark, you must use --with-jvm-variants=zeroshark" "$LINENO" 5
52987 fi
52988 fi
52989
52990 # Only enable jvmci on x86_64, sparcv9 and aarch64.
52991 if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
52992 test "x$OPENJDK_TARGET_CPU" = "xsparcv9" || \
52993 test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
52994 JVM_FEATURES_jvmci="jvmci"
52995 else
52996 JVM_FEATURES_jvmci=""
52997 fi
52998
52999 if test "x$ENABLE_AOT" = "xtrue"; then
53000 JVM_FEATURES_aot="aot"
53001 else
53002 JVM_FEATURES_aot=""
53003 fi
53004
53005 # All variants but minimal (and custom) get these features
53006 NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jvmti fprof vm-structs jni-check services management all-gcs nmt cds"
53007
53008 # Enable features depending on variant.
53009 JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci $JVM_FEATURES_aot"
53010 JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci"
53011 JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES"
53012 JVM_FEATURES_minimal="compiler1 minimal $JVM_FEATURES"
53013 JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES"
53014 JVM_FEATURES_zeroshark="zero shark $NON_MINIMAL_FEATURES $JVM_FEATURES"
53015 JVM_FEATURES_custom="$JVM_FEATURES"
53016
53017
53018
53019
53020
53021
53022
53023
53024
53025 # Used for verification of Makefiles by check-jvm-feature
53026
53027
53028 # We don't support --with-jvm-interpreter anymore, use zero instead.
53029
53189
53190 # A custom hook may have set this already
53191 if test "x$NEEDS_LIB_FREETYPE" = "x"; then
53192 NEEDS_LIB_FREETYPE=true
53193 fi
53194
53195 # Check if alsa is needed
53196 if test "x$OPENJDK_TARGET_OS" = xlinux; then
53197 NEEDS_LIB_ALSA=true
53198 else
53199 NEEDS_LIB_ALSA=false
53200 fi
53201
53202 # Check if ffi is needed
53203 if [[ " $JVM_VARIANTS " =~ " zero " ]] || [[ " $JVM_VARIANTS " =~ " zeroshark " ]] ; then
53204 NEEDS_LIB_FFI=true
53205 else
53206 NEEDS_LIB_FFI=false
53207 fi
53208
53209 # Check if elf is needed (only for AOT build)
53210 if test "x$ENABLE_AOT" = "xtrue"; then
53211 NEEDS_LIB_JELFSHIM=true
53212 else
53213 NEEDS_LIB_JELFSHIM=false
53214 fi
53215
53216
53217 # statically link libstdc++ before C++ ABI is stablized on Linux unless
53218 # dynamic build is configured on command line.
53219
53220 # Check whether --with-stdc++lib was given.
53221 if test "${with_stdc__lib+set}" = set; then :
53222 withval=$with_stdc__lib;
53223 if test "x$with_stdc__lib" != xdynamic && test "x$with_stdc__lib" != xstatic \
53224 && test "x$with_stdc__lib" != xdefault; then
53225 as_fn_error $? "Bad parameter value --with-stdc++lib=$with_stdc__lib!" "$LINENO" 5
53226 fi
53227
53228 else
53229 with_stdc__lib=default
53230
53231 fi
53232
53233
53234 if test "x$OPENJDK_TARGET_OS" = xlinux; then
53235 # Test if stdc++ can be linked statically.
63921 if test -d "$path"; then
63922 STLPORT_LIB="`cd "$path"; $THEPWDCMD -L`"
63923 else
63924 dir="`$DIRNAME "$path"`"
63925 base="`$BASENAME "$path"`"
63926 STLPORT_LIB="`cd "$dir"; $THEPWDCMD -L`/$base"
63927 fi
63928 fi
63929 fi
63930
63931 else
63932 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, not found at $STLPORT_LIB" >&5
63933 $as_echo "no, not found at $STLPORT_LIB" >&6; }
63934 as_fn_error $? "Failed to find libstlport.so.1, cannot build Hotspot gtests" "$LINENO" 5
63935 fi
63936
63937 fi
63938
63939
63940
63941 # Check whether --with-libelf was given.
63942 if test "${with_libelf+set}" = set; then :
63943 withval=$with_libelf;
63944 fi
63945
63946
63947 # Check whether --with-libelf-include was given.
63948 if test "${with_libelf_include+set}" = set; then :
63949 withval=$with_libelf_include;
63950 fi
63951
63952
63953 # Check whether --with-libelf-lib was given.
63954 if test "${with_libelf_lib+set}" = set; then :
63955 withval=$with_libelf_lib;
63956 fi
63957
63958
63959 if test "x$NEEDS_LIB_JELFSHIM" = xfalse; then
63960 if (test "x${with_libelf}" != x && test "x${with_libelf}" != xno) || \
63961 (test "x${with_libelf_include}" != x && test "x${with_libelf_include}" != xno) || \
63962 (test "x${with_libelf_lib}" != x && test "x${with_libelf_lib}" != xno); then
63963 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libelf not used, so --with-libelf[-*] is ignored" >&5
63964 $as_echo "$as_me: WARNING: libelf not used, so --with-libelf[-*] is ignored" >&2;}
63965 fi
63966 LIBELF_CFLAGS=
63967 LIBELF_LIBS=
63968 else
63969 LIBELF_FOUND=no
63970
63971 if test "x${with_libelf}" = xno || test "x${with_libelf_include}" = xno || test "x${with_libelf_lib}" = xno; then
63972 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libelf" >&5
63973 $as_echo_n "checking for libelf... " >&6; }
63974 as_fn_error $? "Explicitly disabled build with libelf, cannot build AOT. Enable libelf build or disable AOT build: --enable-aot=no." "$LINENO" 5
63975 NEEDS_LIB_JELFSHIM="false"
63976 else
63977
63978 if test "x${with_libelf}" != x; then
63979 ELF_LIBS="-L${with_libelf}/lib -lelf"
63980 ELF_CFLAGS="-I${with_libelf}/include"
63981 LIBELF_FOUND=yes
63982 fi
63983 if test "x${with_libelf_include}" != x; then
63984 ELF_CFLAGS="-I${with_libelf_include}"
63985 LIBELF_FOUND=yes
63986 fi
63987 if test "x${with_libelf_lib}" != x; then
63988 ELF_LIBS="-L${with_libelf_lib} -lelf"
63989 LIBELF_FOUND=yes
63990 fi
63991 # Do not try pkg-config if we have a sysroot set.
63992 if test "x$SYSROOT" = x; then
63993 if test "x$LIBELF_FOUND" = xno; then
63994 # Figure out ELF_CFLAGS and ELF_LIBS
63995
63996 pkg_failed=no
63997 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELF" >&5
63998 $as_echo_n "checking for ELF... " >&6; }
63999
64000 if test -n "$ELF_CFLAGS"; then
64001 pkg_cv_ELF_CFLAGS="$ELF_CFLAGS"
64002 elif test -n "$PKG_CONFIG"; then
64003 if test -n "$PKG_CONFIG" && \
64004 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libelf\""; } >&5
64005 ($PKG_CONFIG --exists --print-errors "libelf") 2>&5
64006 ac_status=$?
64007 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
64008 test $ac_status = 0; }; then
64009 pkg_cv_ELF_CFLAGS=`$PKG_CONFIG --cflags "libelf" 2>/dev/null`
64010 else
64011 pkg_failed=yes
64012 fi
64013 else
64014 pkg_failed=untried
64015 fi
64016 if test -n "$ELF_LIBS"; then
64017 pkg_cv_ELF_LIBS="$ELF_LIBS"
64018 elif test -n "$PKG_CONFIG"; then
64019 if test -n "$PKG_CONFIG" && \
64020 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libelf\""; } >&5
64021 ($PKG_CONFIG --exists --print-errors "libelf") 2>&5
64022 ac_status=$?
64023 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
64024 test $ac_status = 0; }; then
64025 pkg_cv_ELF_LIBS=`$PKG_CONFIG --libs "libelf" 2>/dev/null`
64026 else
64027 pkg_failed=yes
64028 fi
64029 else
64030 pkg_failed=untried
64031 fi
64032
64033
64034
64035 if test $pkg_failed = yes; then
64036
64037 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
64038 _pkg_short_errors_supported=yes
64039 else
64040 _pkg_short_errors_supported=no
64041 fi
64042 if test $_pkg_short_errors_supported = yes; then
64043 ELF_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libelf" 2>&1`
64044 else
64045 ELF_PKG_ERRORS=`$PKG_CONFIG --print-errors "libelf" 2>&1`
64046 fi
64047 # Put the nasty error message in config.log where it belongs
64048 echo "$ELF_PKG_ERRORS" >&5
64049
64050 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
64051 $as_echo "no" >&6; }
64052 LIBELF_FOUND=no
64053 elif test $pkg_failed = untried; then
64054 LIBELF_FOUND=no
64055 else
64056 ELF_CFLAGS=$pkg_cv_ELF_CFLAGS
64057 ELF_LIBS=$pkg_cv_ELF_LIBS
64058 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
64059 $as_echo "yes" >&6; }
64060 LIBELF_FOUND=yes
64061 fi
64062 fi
64063 fi
64064 if test "x$LIBELF_FOUND" = xno; then
64065 for ac_header in libelf.h
64066 do :
64067 ac_fn_cxx_check_header_mongrel "$LINENO" "libelf.h" "ac_cv_header_libelf_h" "$ac_includes_default"
64068 if test "x$ac_cv_header_libelf_h" = xyes; then :
64069 cat >>confdefs.h <<_ACEOF
64070 #define HAVE_LIBELF_H 1
64071 _ACEOF
64072
64073 LIBELF_FOUND=yes
64074 ELF_CFLAGS=
64075 ELF_LIBS=-lelf
64076
64077 else
64078 LIBELF_FOUND=no
64079
64080 fi
64081
64082 done
64083
64084 fi
64085 if test "x$LIBELF_FOUND" = xno; then
64086
64087 # Print a helpful message on how to acquire the necessary build dependency.
64088 # elf is the help tag: freetype, cups, alsa etc
64089 MISSING_DEPENDENCY=elf
64090
64091 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
64092 cygwin_help $MISSING_DEPENDENCY
64093 elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
64094 msys_help $MISSING_DEPENDENCY
64095 else
64096 PKGHANDLER_COMMAND=
64097
64098 case $PKGHANDLER in
64099 apt-get)
64100 apt_help $MISSING_DEPENDENCY ;;
64101 yum)
64102 yum_help $MISSING_DEPENDENCY ;;
64103 port)
64104 port_help $MISSING_DEPENDENCY ;;
64105 pkgutil)
64106 pkgutil_help $MISSING_DEPENDENCY ;;
64107 pkgadd)
64108 pkgadd_help $MISSING_DEPENDENCY ;;
64109 esac
64110
64111 if test "x$PKGHANDLER_COMMAND" != x; then
64112 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
64113 fi
64114 fi
64115
64116 as_fn_error $? "libelf not found, cannot build AOT. Disable AOT build: --enable-aot=no. $HELP_MSG" "$LINENO" 5
64117 NEEDS_LIB_JELFSHIM="false"
64118 else
64119 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libelf works" >&5
64120 $as_echo_n "checking if libelf works... " >&6; }
64121 ac_ext=c
64122 ac_cpp='$CPP $CPPFLAGS'
64123 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64124 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64125 ac_compiler_gnu=$ac_cv_c_compiler_gnu
64126
64127 OLD_CFLAGS="$CFLAGS"
64128 CFLAGS="$CFLAGS $ELF_CFLAGS"
64129 OLD_LIBS="$LIBS"
64130 LIBS="$LIBS $ELF_LIBS"
64131 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
64132 /* end confdefs.h. */
64133 #include <libelf.h>
64134 int
64135 main ()
64136 {
64137
64138 elf_version(0);
64139 return 0;
64140
64141 ;
64142 return 0;
64143 }
64144 _ACEOF
64145 if ac_fn_c_try_link "$LINENO"; then :
64146 LIBELF_WORKS=yes
64147 else
64148 LIBELF_WORKS=no
64149
64150 fi
64151 rm -f core conftest.err conftest.$ac_objext \
64152 conftest$ac_exeext conftest.$ac_ext
64153 CFLAGS="$OLD_CFLAGS"
64154 LIBS="$OLD_LIBS"
64155 ac_ext=cpp
64156 ac_cpp='$CXXCPP $CPPFLAGS'
64157 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
64158 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
64159 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
64160
64161 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBELF_WORKS" >&5
64162 $as_echo "$LIBELF_WORKS" >&6; }
64163
64164 if test "x$LIBELF_WORKS" = xno; then
64165
64166 # Print a helpful message on how to acquire the necessary build dependency.
64167 # elf is the help tag: freetype, cups, alsa etc
64168 MISSING_DEPENDENCY=elf
64169
64170 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
64171 cygwin_help $MISSING_DEPENDENCY
64172 elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
64173 msys_help $MISSING_DEPENDENCY
64174 else
64175 PKGHANDLER_COMMAND=
64176
64177 case $PKGHANDLER in
64178 apt-get)
64179 apt_help $MISSING_DEPENDENCY ;;
64180 yum)
64181 yum_help $MISSING_DEPENDENCY ;;
64182 port)
64183 port_help $MISSING_DEPENDENCY ;;
64184 pkgutil)
64185 pkgutil_help $MISSING_DEPENDENCY ;;
64186 pkgadd)
64187 pkgadd_help $MISSING_DEPENDENCY ;;
64188 esac
64189
64190 if test "x$PKGHANDLER_COMMAND" != x; then
64191 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
64192 fi
64193 fi
64194
64195 as_fn_error $? "Found libelf but could not link and compile with it. Disable AOT build: --enable-aot=no. $HELP_MSG" "$LINENO" 5
64196 fi
64197 fi
64198 fi
64199 fi
64200
64201
64202
64203
64204
64205
64206
64207
64208
64209
64210
64211
64212
64213
64214
64215
64216
64217
64218
64219 ###############################################################################
64220 #
64221 # We need to do some final tweaking, when everything else is done.
64222 #
64223 ###############################################################################
64224
64225
64226 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if elliptic curve crypto implementation is present" >&5
64227 $as_echo_n "checking if elliptic curve crypto implementation is present... " >&6; }
|