1292
1293 # Customize LDFLAGS for executables
1294
1295 $2LDFLAGS_JDKEXE="${$2LDFLAGS_JDK}"
1296
1297 if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
1298 if test "x$OPENJDK_$1_CPU_BITS" = "x64"; then
1299 LDFLAGS_STACK_SIZE=1048576
1300 else
1301 LDFLAGS_STACK_SIZE=327680
1302 fi
1303 $2LDFLAGS_JDKEXE="${$2LDFLAGS_JDKEXE} /STACK:$LDFLAGS_STACK_SIZE"
1304 elif test "x$OPENJDK_$1_OS" = xlinux; then
1305 $2LDFLAGS_JDKEXE="[$]$2LDFLAGS_JDKEXE -Wl,--allow-shlib-undefined"
1306 fi
1307
1308 $2LDFLAGS_JDKEXE="${$2LDFLAGS_JDKEXE} ${$2EXTRA_LDFLAGS_JDK}"
1309
1310 # Customize LDFLAGS for libs
1311 $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDK}"
1312
1313 $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} ${SHARED_LIBRARY_FLAGS}"
1314 if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
1315 $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \
1316 -libpath:${OUTPUT_ROOT}/support/modules_libs/java.base"
1317 $2JDKLIB_LIBS=""
1318 else
1319 $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \
1320 -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base"
1321
1322 if test "x$1" = "xTARGET"; then
1323 # On some platforms (mac) the linker warns about non existing -L dirs.
1324 # For any of the variants server, client or minimal, the dir matches the
1325 # variant name. The "main" variant should be used for linking. For the
1326 # rest, the dir is just server.
1327 if HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client) \
1328 || HOTSPOT_CHECK_JVM_VARIANT(minimal); then
1329 $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \
1330 -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$JVM_VARIANT_MAIN"
1331 else
1332 $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \
1333 -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/server"
1371 wsock32.lib winmm.lib version.lib psapi.lib"
1372 fi
1373
1374 # Set $2JVM_ASFLAGS
1375 if test "x$OPENJDK_$1_OS" = xlinux; then
1376 if test "x$OPENJDK_$1_CPU" = xx86; then
1377 $2JVM_ASFLAGS="[$]$2JVM_ASFLAGS -march=i586"
1378 fi
1379 elif test "x$OPENJDK_$1_OS" = xmacosx; then
1380 $2JVM_ASFLAGS="[$]$2JVM_ASFLAGS -x assembler-with-cpp -mno-omit-leaf-frame-pointer -mstack-alignment=16"
1381 fi
1382
1383 $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} ${$2EXTRA_LDFLAGS_JDK}"
1384
1385 AC_SUBST($2LDFLAGS_JDKLIB)
1386 AC_SUBST($2LDFLAGS_JDKEXE)
1387 AC_SUBST($2JDKLIB_LIBS)
1388 AC_SUBST($2JDKEXE_LIBS)
1389 AC_SUBST($2LDFLAGS_CXX_JDK)
1390 AC_SUBST($2LDFLAGS_HASH_STYLE)
1391
1392 AC_SUBST($2JVM_CFLAGS)
1393 AC_SUBST($2JVM_LDFLAGS)
1394 AC_SUBST($2JVM_ASFLAGS)
1395 AC_SUBST($2JVM_LIBS)
1396
1397 ])
1398
1399 # FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
1400 # IF_FALSE: [RUN-IF-FALSE])
1401 # ------------------------------------------------------------
1402 # Check that the C compiler supports an argument
1403 BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
1404 [*ARGUMENT IF_TRUE IF_FALSE], [$@],
1405 [
1406 AC_MSG_CHECKING([if the C compiler supports "ARG_ARGUMENT"])
1407 supports=yes
1408
1409 saved_cflags="$CFLAGS"
1410 CFLAGS="$CFLAGS ARG_ARGUMENT"
|
1292
1293 # Customize LDFLAGS for executables
1294
1295 $2LDFLAGS_JDKEXE="${$2LDFLAGS_JDK}"
1296
1297 if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
1298 if test "x$OPENJDK_$1_CPU_BITS" = "x64"; then
1299 LDFLAGS_STACK_SIZE=1048576
1300 else
1301 LDFLAGS_STACK_SIZE=327680
1302 fi
1303 $2LDFLAGS_JDKEXE="${$2LDFLAGS_JDKEXE} /STACK:$LDFLAGS_STACK_SIZE"
1304 elif test "x$OPENJDK_$1_OS" = xlinux; then
1305 $2LDFLAGS_JDKEXE="[$]$2LDFLAGS_JDKEXE -Wl,--allow-shlib-undefined"
1306 fi
1307
1308 $2LDFLAGS_JDKEXE="${$2LDFLAGS_JDKEXE} ${$2EXTRA_LDFLAGS_JDK}"
1309
1310 # Customize LDFLAGS for libs
1311 $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDK}"
1312 $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} ${SHARED_LIBRARY_FLAGS}"
1313 $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} ${LDFLAGS_NO_EXEC_STACK}"
1314 if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
1315 $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \
1316 -libpath:${OUTPUT_ROOT}/support/modules_libs/java.base"
1317 $2JDKLIB_LIBS=""
1318 else
1319 $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \
1320 -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base"
1321
1322 if test "x$1" = "xTARGET"; then
1323 # On some platforms (mac) the linker warns about non existing -L dirs.
1324 # For any of the variants server, client or minimal, the dir matches the
1325 # variant name. The "main" variant should be used for linking. For the
1326 # rest, the dir is just server.
1327 if HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client) \
1328 || HOTSPOT_CHECK_JVM_VARIANT(minimal); then
1329 $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \
1330 -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$JVM_VARIANT_MAIN"
1331 else
1332 $2JAVA_BASE_LDFLAGS="${$2JAVA_BASE_LDFLAGS} \
1333 -L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/server"
1371 wsock32.lib winmm.lib version.lib psapi.lib"
1372 fi
1373
1374 # Set $2JVM_ASFLAGS
1375 if test "x$OPENJDK_$1_OS" = xlinux; then
1376 if test "x$OPENJDK_$1_CPU" = xx86; then
1377 $2JVM_ASFLAGS="[$]$2JVM_ASFLAGS -march=i586"
1378 fi
1379 elif test "x$OPENJDK_$1_OS" = xmacosx; then
1380 $2JVM_ASFLAGS="[$]$2JVM_ASFLAGS -x assembler-with-cpp -mno-omit-leaf-frame-pointer -mstack-alignment=16"
1381 fi
1382
1383 $2LDFLAGS_JDKLIB="${$2LDFLAGS_JDKLIB} ${$2EXTRA_LDFLAGS_JDK}"
1384
1385 AC_SUBST($2LDFLAGS_JDKLIB)
1386 AC_SUBST($2LDFLAGS_JDKEXE)
1387 AC_SUBST($2JDKLIB_LIBS)
1388 AC_SUBST($2JDKEXE_LIBS)
1389 AC_SUBST($2LDFLAGS_CXX_JDK)
1390 AC_SUBST($2LDFLAGS_HASH_STYLE)
1391 AC_SUBST($2LDFLAGS_NO_EXEC_STACK)
1392
1393 AC_SUBST($2JVM_CFLAGS)
1394 AC_SUBST($2JVM_LDFLAGS)
1395 AC_SUBST($2JVM_ASFLAGS)
1396 AC_SUBST($2JVM_LIBS)
1397
1398 ])
1399
1400 # FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
1401 # IF_FALSE: [RUN-IF-FALSE])
1402 # ------------------------------------------------------------
1403 # Check that the C compiler supports an argument
1404 BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
1405 [*ARGUMENT IF_TRUE IF_FALSE], [$@],
1406 [
1407 AC_MSG_CHECKING([if the C compiler supports "ARG_ARGUMENT"])
1408 supports=yes
1409
1410 saved_cflags="$CFLAGS"
1411 CFLAGS="$CFLAGS ARG_ARGUMENT"
|