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