This commit is contained in:
Lana Steuck 2016-03-15 14:48:35 -07:00
commit 5d0e37db58
5 changed files with 127 additions and 67 deletions

View File

@ -427,6 +427,9 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
CFLAGS_DEBUG_SYMBOLS="-g"
CXXFLAGS_DEBUG_SYMBOLS="-g"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CFLAGS_DEBUG_SYMBOLS="-Zi"
CXXFLAGS_DEBUG_SYMBOLS="-Zi"
fi
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
@ -654,7 +657,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK \
-Zi -MD -Zc:wchar_t- -W3 -wd4800 \
-MD -Zc:wchar_t- -W3 -wd4800 \
-DWIN32_LEAN_AND_MEAN \
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
-D_WINSOCK_DEPRECATED_NO_WARNINGS \
@ -801,9 +804,6 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
LDFLAGS_SAFESH="-safeseh"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SAFESH"
fi
# TODO: make -debug optional "--disable-full-debug-symbols"
LDFLAGS_MICROSOFT_DEBUG="-debug"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_MICROSOFT_DEBUG"
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
# If this is a --hash-style=gnu system, use --hash-style=both, why?
# We have previously set HAS_GNU_HASH if this is the case

View File

@ -4862,7 +4862,7 @@ VS_SDK_PLATFORM_NAME_2013=
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
DATE_WHEN_GENERATED=1457684806
DATE_WHEN_GENERATED=1457953189
###############################################################################
#
@ -46304,6 +46304,9 @@ $as_echo "$ac_cv_c_bigendian" >&6; }
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
CFLAGS_DEBUG_SYMBOLS="-g"
CXXFLAGS_DEBUG_SYMBOLS="-g"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CFLAGS_DEBUG_SYMBOLS="-Zi"
CXXFLAGS_DEBUG_SYMBOLS="-Zi"
fi
@ -46649,7 +46652,7 @@ $as_echo "$supports" >&6; }
CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK \
-Zi -MD -Zc:wchar_t- -W3 -wd4800 \
-MD -Zc:wchar_t- -W3 -wd4800 \
-DWIN32_LEAN_AND_MEAN \
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
-D_WINSOCK_DEPRECATED_NO_WARNINGS \
@ -46796,9 +46799,6 @@ $as_echo "$supports" >&6; }
LDFLAGS_SAFESH="-safeseh"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SAFESH"
fi
# TODO: make -debug optional "--disable-full-debug-symbols"
LDFLAGS_MICROSOFT_DEBUG="-debug"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_MICROSOFT_DEBUG"
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
# If this is a --hash-style=gnu system, use --hash-style=both, why?
# We have previously set HAS_GNU_HASH if this is the case

View File

@ -217,6 +217,7 @@ var getJibProfilesCommon = function (input) {
configure_args: ["--with-default-make-target=all"],
configure_args_32bit: ["--with-target-bits=32", "--with-jvm-variants=client,server"],
configure_args_debug: ["--enable-debug"],
configure_args_slowdebug: ["--with-debug-level=slowdebug"],
organization: "jpg.infra.builddeps"
};
@ -297,50 +298,12 @@ var getJibProfilesProfiles = function (input, common) {
profiles = concatObjects(profiles, mainProfiles);
// Generate debug versions of all the main profiles
profiles = concatObjects(profiles, generateDebugProfiles(common, mainProfiles));
// Generate slowdebug versions of all the main profiles
profiles = concatObjects(profiles, generateSlowdebugProfiles(common, mainProfiles));
// Specific open profiles needed for JPRT testing
var jprtOpenProfiles = {
"linux-x64-open": {
target_os: mainProfiles["linux-x64"].target_os,
target_cpu: mainProfiles["linux-x64"].target_cpu,
dependencies: mainProfiles["linux-x64"].dependencies,
configure_args: concat(mainProfiles["linux-x64"].configure_args,
"--enable-openjdk-only"),
make_args: mainProfiles["linux-x64"].make_args,
labels: [ "open" ]
},
"linux-x86-open": {
target_os: mainProfiles["linux-x86"].target_os,
target_cpu: mainProfiles["linux-x86"].target_cpu,
dependencies: mainProfiles["linux-x86"].dependencies,
configure_args: concat(mainProfiles["linux-x86"].configure_args,
"--enable-openjdk-only"),
make_args: mainProfiles["linux-x86"].make_args,
labels: [ "open" ]
},
"solaris-x64-open": {
target_os: mainProfiles["solaris-x64"].target_os,
target_cpu: mainProfiles["solaris-x64"].target_cpu,
dependencies: mainProfiles["solaris-x64"].dependencies,
configure_args: concat(mainProfiles["solaris-x64"].configure_args,
"--enable-openjdk-only"),
make_args: mainProfiles["solaris-x64"].make_args,
labels: [ "open" ]
},
"windows-x86-open": {
target_os: mainProfiles["windows-x86"].target_os,
target_cpu: mainProfiles["windows-x86"].target_cpu,
dependencies: mainProfiles["windows-x86"].dependencies,
configure_args: concat(mainProfiles["windows-x86"].configure_args,
"--enable-openjdk-only"),
make_args: mainProfiles["windows-x86"].make_args,
labels: [ "open" ]
}
};
// Generate open only profiles for all the main profiles for JPRT and reference
// implementation builds.
var jprtOpenProfiles = generateOpenOnlyProfiles(common, mainProfiles);
profiles = concatObjects(profiles, jprtOpenProfiles);
// Generate debug profiles for the open jprt profiles
profiles = concatObjects(profiles, generateDebugProfiles(common, jprtOpenProfiles));
@ -501,6 +464,51 @@ var generateDebugProfiles = function (common, profiles) {
return newProfiles;
};
/**
* Generates slowdebug versions of profiles. Clones the given profiles and adds
* debug metadata.
*
* @param common Common values
* @param profiles Profiles map to generate debug profiles for
* @returns {{}} New map of profiles containing debug profiles
*/
var generateSlowdebugProfiles = function (common, profiles) {
var newProfiles = {};
for (var profile in profiles) {
var debugProfile = profile + "-slowdebug";
newProfiles[debugProfile] = clone(profiles[profile]);
newProfiles[debugProfile].debug_level = "slowdebug";
newProfiles[debugProfile].labels
= concat(newProfiles[debugProfile].labels || [], "slowdebug"),
newProfiles[debugProfile].configure_args
= concat(newProfiles[debugProfile].configure_args,
common.configure_args_slowdebug);
}
return newProfiles;
};
/**
* Generates open only versions of profiles. Clones the given profiles and adds
* open metadata.
*
* @param common Common values
* @param profiles Profiles map to generate open only profiles for
* @returns {{}} New map of profiles containing open only profiles
*/
var generateOpenOnlyProfiles = function (common, profiles) {
var newProfiles = {};
for (var profile in profiles) {
var openProfile = profile + "-open";
newProfiles[openProfile] = clone(profiles[profile]);
newProfiles[openProfile].labels
= concat(newProfiles[openProfile].labels || [], "open"),
newProfiles[openProfile].configure_args
= concat(newProfiles[openProfile].configure_args,
"--enable-openjdk-only");
}
return newProfiles;
};
/**
* Deep clones an object tree.
*

View File

@ -234,7 +234,10 @@ define add_native_source
-include $$($1_$2_DEP_TARGETS)
ifeq ($(TOOLCHAIN_TYPE), microsoft)
$1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ))
# To avoid name clashes between pdbs for objects and libs/execs, put
# object pdbs in a separate subdir.
$1_$2_DEBUG_OUT_FLAGS:=-Fd$$(strip $$(patsubst $$($1_OBJECT_DIR)/%, \
$$($1_OBJECT_DIR)/pdb/%, $$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ))))
endif
endif
@ -246,7 +249,7 @@ define add_native_source
$$($1_$2_OBJ) : $2 $$($1_COMPILE_VARDEPS_FILE) $$($1_$2_VARDEPS_FILE) | $$($1_BUILD_INFO)
$$(call LogInfo, Compiling $$(notdir $2) (for $$(notdir $$($1_TARGET))))
$$(call MakeDir, $$(@D))
$$(call MakeDir, $$(@D) $$(@D)/pdb)
ifneq ($(TOOLCHAIN_TYPE), microsoft)
ifeq ($(TOOLCHAIN_TYPE)$$(filter %.s,$2), solstudio)
# The Solaris studio compiler doesn't output the full path to the object file in the
@ -706,7 +709,7 @@ define SetupNativeCompilationBody
# Generate debuginfo files.
ifeq ($(OPENJDK_TARGET_OS), windows)
$1_EXTRA_LDFLAGS += "-pdb:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb" \
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb" \
"-map:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map"
$1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map

View File

@ -79,12 +79,12 @@ jprt.run.flavors=c1,c2,default,${my.additional.run.flavors}
# Setup jib profiles
jprt.linux_i586.product.build.jib.profile=linux-x86
jprt.linux_x64.build.jib.profile=linux-x64
jprt.macosx_x64.build.jib.profile=macosx-x64
jprt.solaris_sparcv9.build.jib.profile=solaris-sparcv9
jprt.solaris_x64.build.jib.profile=solaris-x64
jprt.windows_i586.build.jib.profile=windows-x86
jprt.windows_x64.build.jib.profile=windows-x64
jprt.linux_x64.product.build.jib.profile=linux-x64
jprt.macosx_x64.product.build.jib.profile=macosx-x64
jprt.solaris_sparcv9.product.build.jib.profile=solaris-sparcv9
jprt.solaris_x64.product.build.jib.profile=solaris-x64
jprt.windows_i586.product.build.jib.profile=windows-x86
jprt.windows_x64.product.build.jib.profile=windows-x64
jprt.linux_i586.fastdebug.build.jib.profile=linux-x86-debug
jprt.linux_x64.fastdebug.build.jib.profile=linux-x64-debug
@ -94,25 +94,47 @@ jprt.solaris_x64.fastdebug.build.jib.profile=solaris-x64-debug
jprt.windows_i586.fastdebug.build.jib.profile=windows-x86-debug
jprt.windows_x64.fastdebug.build.jib.profile=windows-x64-debug
jprt.solaris_x64.debugOpen.build.jib.profile=solaris-x64-open-debug
jprt.linux_i586.slowdebug.build.jib.profile=linux-x86-slowdebug
jprt.linux_x64.slowdebug.build.jib.profile=linux-x64-slowdebug
jprt.macosx_x64.slowdebug.build.jib.profile=macosx-x64-slowdebug
jprt.solaris_sparcv9.slowdebug.build.jib.profile=solaris-sparcv9-slowdebug
jprt.solaris_x64.slowdebug.build.jib.profile=solaris-x64-slowdebug
jprt.windows_i586.slowdebug.build.jib.profile=windows-x86-slowdebug
jprt.windows_x64.slowdebug.build.jib.profile=windows-x64-slowdebug
jprt.linux_i586.productOpen.build.jib.profile=linux-x86-open
jprt.linux_x64.productOpen.build.jib.profile=linux-x64-open
jprt.macosx_x64.productOpen.build.jib.profile=macosx-x64-open
jprt.solaris_sparcv9.productOpen.build.jib.profile=solaris-sparcv9-open
jprt.solaris_x64.productOpen.build.jib.profile=solaris-x64-open
jprt.windows_i586.productOpen.build.jib.profile=windows-x86-open
jprt.windows_x64.productOpen.build.jib.profile=windows-x64-open
jprt.linux_i586.fastdebugOpen.build.jib.profile=linux-x86-open-debug
jprt.linux_x64.fastdebugOpen.build.jib.profile=linux-x64-open-debug
jprt.macosx_x64.fastdebugOpen.build.jib.profile=macosx-x64-open-debug
jprt.solaris_sparcv9.fastdebugOpen.build.jib.profile=solaris-sparcv9-open-debug
jprt.solaris_x64.fastdebugOpen.build.jib.profile=solaris-x64-open-debug
jprt.windows_i586.fastdebugOpen.build.jib.profile=windows-x86-open-debug
jprt.windows_x64.fastdebugOpen.build.jib.profile=windows-x64-open-debug
jprt.test.jib.profile=run-test
# Set make target to use for different build flavors
jprt.build.flavor.debugOpen.target=jprt_bundle
jprt.build.flavor.fastdebugOpen.target=jprt_bundle
jprt.build.flavor.fastdebug.target=jprt_bundle
jprt.build.flavor.product.target=jprt_bundle
jprt.build.flavor.productOpen.target=jprt_bundle
jprt.build.flavor.optimized.target=jprt_bundle
jprt.build.flavor.optimizedOpen.target=jprt_bundle
jprt.build.flavor.slowdebug.target=jprt_bundle
# Use these configure args to define debug level
jprt.debug.build.configure.args=
jprt.slowdebug.build.configure.args=
jprt.fastdebug.build.configure.args=--disable-precompiled-headers
jprt.product.build.configure.args=
jprt.optimized.build.configure.args=--with-debug-level=optimized
jprt.debugOpen.build.configure.args=${jprt.debug.build.configure.args}
jprt.slowdebugOpen.build.configure.args=${jprt.slowdebug.build.configure.args}
jprt.fastdebugOpen.build.configure.args=${jprt.fastdebug.build.configure.args}
jprt.productOpen.build.configure.args=${jprt.product.build.configure.args}
jprt.optimizedOpen.build.configure.args=${jprt.product.build.configure.args}
@ -121,6 +143,8 @@ jprt.optimizedOpen.build.configure.args=${jprt.product.build.configure.args}
# hotspot testset has custom build flavors and build targets
my.jprt.testsetHasCustomBuildFlavors.hotspot=true
my.jprt.testsetHasCustomBuildTargets.hotspot=true
my.jprt.testsetHasCustomBuildFlavors.buildinfra=true
my.jprt.testsetHasCustomBuildTargets.buildinfra=true
# determine if the specified testset has custom build flavors or build targets
my.jprt.testsetHasCustomBuildFlavors=${my.jprt.testsetHasCustomBuildFlavors.${jprt.test.set}}
@ -282,7 +306,7 @@ my.make.rule.test.targets.jck= \
# The hotspot build flavors
my.build.flavors.hotspot= \
debugOpen,fastdebug,product,productOpen,optimized,optimizedOpen \
fastdebugOpen,fastdebug,product,productOpen,optimized,optimizedOpen \
${my.additional.build.flavors.hotspot}
# Platforms built for hotspot push jobs
@ -294,7 +318,7 @@ my.build.targets.hotspot= \
macosx_x64_10.9-{product|fastdebug}, \
windows_i586_6.3-{product|fastdebug}, \
windows_x64_6.3-{product|fastdebug}, \
solaris_x64_5.11-{debugOpen}, \
solaris_x64_5.11-{fastdebugOpen}, \
linux_x64_3.8-{productOpen}, \
${my.additional.build.targets.hotspot}
@ -458,3 +482,28 @@ my.make.rule.test.targets.nativesanity= \
# Install the test bundle for the nativesanity jtreg tests
my.jprt.test.bundle.targets.nativesanity=${my.make.rule.test.targets.nativesanity}
################################################################################
# Testset buildinfra
my.build.flavors.buildinfra = \
product,fastdebug,slowdebug, \
${my.additional.build.flavors.buildinfra}
# Platforms built for hotspot push jobs
my.build.targets.buildinfra = \
solaris_sparcv9_5.11-{product|fastdebug|slowdebug}, \
solaris_x64_5.11-{product|fastdebug|slowdebug}, \
linux_i586_3.8-{product|fastdebug|slowdebug}, \
linux_x64_3.8-{product|fastdebug|slowdebug}, \
macosx_x64_10.9-{product|fastdebug|slowdebug}, \
windows_i586_6.3-{product|fastdebug|slowdebug}, \
windows_x64_6.3-{product|fastdebug|slowdebug}, \
${my.additional.build.targets.buildinfra}
my.test.targets.buildinfra = \
${my.test.targets.default}, \
${my.test.targets.hotspot}
my.make.rule.test.targets.buildinfra = \
${my.make.rule.test.targets.default}, \
${my.make.rule.test.targets.hotspot}