diff options
Diffstat (limited to 'recipes-core/openjdk/openjdk-8-common.inc')
-rw-r--r-- | recipes-core/openjdk/openjdk-8-common.inc | 62 |
1 files changed, 38 insertions, 24 deletions
diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc index 4d8f935..82bf31e 100644 --- a/recipes-core/openjdk/openjdk-8-common.inc +++ b/recipes-core/openjdk/openjdk-8-common.inc @@ -8,13 +8,12 @@ require openjdk-common.inc AUTOTOOLS_SCRIPT_PATH = "${S}/common/autoconf/" export AUTOCONF_DIR="${AUTOTOOLS_SCRIPT_PATH}" - FILESPATH =. "${FILE_DIRNAME}/patches-openjdk-8:" # for weird openjdk-common.inc S = "${WORKDIR}/${OPENJDK_HG_U}-${OPENJDK_CHANGESET}" -SRC_URI = " \ +SRC_URI = "\ ${OPENJDK_URI} \ ${HOTSPOT_URI} \ ${CORBA_URI} \ @@ -27,6 +26,11 @@ SRC_URI = " \ ${PATCHES_URI} \ " +do_configure:prepend () { + export TOPDIR=${S} + sed -i 's#\$TOPDIR#${S}#g' ${S}/common/autoconf/configure.ac +} + do_unpack_extract_submodules () { cd "${S}" # tar --transform @@ -39,6 +43,21 @@ do_unpack_extract_submodules () { tar xjf ${WORKDIR}/${NASHORN_FILE_LOCAL} --transform "s,-${NASHORN_CHANGESET},,g" } +do_patch:prepend() { + # use do_patch:prepend syntax and not pre/postfuncs to + # call do_unpack_extract_submodules + # *) the archiver.bbclass modifies WORKDIR, S, B,... + # and those modifications are lost otherwise, + # which leads to build failures in do_unpack_and_patch -> do_patch + func = 'do_unpack_extract_submodules' + bb.build.exec_func(func, d) + + # delete X11 wrappers if x11 is not part of PACKAGECONFIG + if bb.utils.contains('PACKAGECONFIG', 'x11', False, True, d): + func_delete = 'do_unpack_delete_X11_wrappers' + bb.build.exec_func(func_delete, d) +} + do_unpack_delete_X11_wrappers() { find ${S}/jdk/src/solaris/classes/sun/awt/X11 -maxdepth 1 -name '*.java' -delete } @@ -93,10 +112,7 @@ def package_config_option_cleanup(d): if not option_headless and not with_cups: option_headless = True - if not option_soundless and not with_alsa: - option_soundless = True - - if not option_soundless and not with_pulseaudio: + if not option_soundless and not with_pulseaudio and not with_alsa: option_soundless = True options = {'make': [], 'cpp': [], 'env': [], 'configure': ["--disable-ccache"] } @@ -152,34 +168,32 @@ def jdk_configure_options(d): options = package_config_option_cleanup(d) return options[3] -do_unpack[postfuncs] += "do_unpack_extract_submodules" -do_unpack[postfuncs] += "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', 'do_unpack_delete_X11_wrappers', d)}" - -do_configure_prepend() { - export ${@jdk_environment_options(d)} -} +#do_unpack[postfuncs] += "do_unpack_extract_submodules" +#do_unpack[postfuncs] += "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', 'do_unpack_delete_X11_wrappers', d)}" export DEBUG_BINARIES = "true" ALTERNATIVE_PRIORITY = "50" -OPENJDK_UPDATE_VERSION = "${@d.getVar('PV', True).split('b')[0]}" -OPENJDK_BUILD_NUMBER = "b${@d.getVar('PV', True).split('b')[1]}" -EXTRA_OECONF_append = "\ +OPENJDK_UPDATE_VERSION = "${PV}" +OPENJDK_BUILD_NUMBER = "ga" +EXTRA_OECONF:append = "\ --with-build-number=${OPENJDK_BUILD_NUMBER} \ --with-update-version=${OPENJDK_UPDATE_VERSION} \ " # Since v6, GCC sets the default C++ standard to C++14 and introduces -# dead store elimination by default. OpenJDK 8 is not ready for either -# of these changes. -FLAGS_GCC6 = "-fno-lifetime-dse -fno-delete-null-pointer-checks" -FLAGS_GCC7 = "-fno-lifetime-dse -fno-delete-null-pointer-checks" -FLAGS_GCC8 = "-fno-lifetime-dse -fno-delete-null-pointer-checks" +# dead store elimination by default. +# Since v10, GCC defaults to -fno-common. +# OpenJDK 8 is not ready for either of these changes. +GLOBAL_FLAGS = "-fno-lifetime-dse -fno-delete-null-pointer-checks -fcommon" # flags for -native, and for bits that need a host-tool during -cross -BUILD_CFLAGS_append = " ${@openjdk_build_helper_get_build_cflags(d)}" -BUILD_CXXFLAGS_append = " ${@openjdk_build_helper_get_build_cflags(d)}" +BUILD_CFLAGS:append = " ${GLOBAL_FLAGS}" +BUILD_CXXFLAGS:append = " ${GLOBAL_FLAGS}" # flags for -cross -TARGET_CFLAGS_append = " ${@openjdk_build_helper_get_target_cflags(d)}" -TARGET_CXXFLAGS_append = " ${@openjdk_build_helper_get_target_cflags(d)}" +TARGET_CFLAGS:append = " ${GLOBAL_FLAGS}" +TARGET_CXXFLAGS:append = " ${GLOBAL_FLAGS}" + +# canon-prefix-map doesn't exist in gcc 12.x +DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" |