Date: Tuesday, February 27, 2018 @ 12:45:26 Author: guillaume Revision: 317583
archrelease: copy trunk to extra-x86_64 Added: java8-openjdk/repos/extra-x86_64/PKGBUILD (from rev 317582, java8-openjdk/trunk/PKGBUILD) java8-openjdk/repos/extra-x86_64/install_jdk8-openjdk.sh (from rev 317582, java8-openjdk/trunk/install_jdk8-openjdk.sh) java8-openjdk/repos/extra-x86_64/install_jre8-openjdk-headless.sh (from rev 317582, java8-openjdk/trunk/install_jre8-openjdk-headless.sh) java8-openjdk/repos/extra-x86_64/install_jre8-openjdk.sh (from rev 317582, java8-openjdk/trunk/install_jre8-openjdk.sh) Deleted: java8-openjdk/repos/extra-x86_64/PKGBUILD java8-openjdk/repos/extra-x86_64/build_with_gcc6.patch java8-openjdk/repos/extra-x86_64/install_jdk8-openjdk.sh java8-openjdk/repos/extra-x86_64/install_jre8-openjdk-headless.sh java8-openjdk/repos/extra-x86_64/install_jre8-openjdk.sh ----------------------------------+ PKGBUILD | 574 +++++++++---------- build_with_gcc6.patch | 1098 ------------------------------------- install_jdk8-openjdk.sh | 100 +-- install_jre8-openjdk-headless.sh | 96 +-- install_jre8-openjdk.sh | 110 +-- 5 files changed, 438 insertions(+), 1540 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2018-02-27 12:44:09 UTC (rev 317582) +++ PKGBUILD 2018-02-27 12:45:26 UTC (rev 317583) @@ -1,289 +0,0 @@ -# Maintainer: Guillaume ALAUX <guilla...@archlinux.org> -# Contributor: Boyan Ding <stu_...@126.com> - -# TODO -# once icedtea: -# pulse -# add policytool desktop files - -# Package 'openjfx' must be updated when this one is -pkgname=('jre8-openjdk-headless' 'jre8-openjdk' 'jdk8-openjdk' 'openjdk8-src' 'openjdk8-doc') -pkgbase=java8-openjdk -_java_ver=8 -# Found @ http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html -_jdk_update=144 -_jdk_build=01 -pkgver=${_java_ver}.u${_jdk_update} -_repo_ver=jdk${_java_ver}u${_jdk_update}-b${_jdk_build} -pkgrel=1 -arch=('i686' 'x86_64') -url='http://openjdk.java.net/' -license=('custom') -makedepends=('jdk7-openjdk' 'ccache' 'cpio' 'unzip' 'zip' - 'libxrender' 'libxtst' 'fontconfig' 'libcups' 'alsa-lib') -_url_src=http://hg.openjdk.java.net/jdk8u/jdk8u -source=(jdk8u-${_repo_ver}.tar.gz::${_url_src}/archive/${_repo_ver}.tar.gz - corba-${_repo_ver}.tar.gz::${_url_src}/corba/archive/${_repo_ver}.tar.gz - hotspot-${_repo_ver}.tar.gz::${_url_src}/hotspot/archive/${_repo_ver}.tar.gz - jdk-${_repo_ver}.tar.gz::${_url_src}/jdk/archive/${_repo_ver}.tar.gz - jaxws-${_repo_ver}.tar.gz::${_url_src}/jaxws/archive/${_repo_ver}.tar.gz - jaxp-${_repo_ver}.tar.gz::${_url_src}/jaxp/archive/${_repo_ver}.tar.gz - langtools-${_repo_ver}.tar.gz::${_url_src}/langtools/archive/${_repo_ver}.tar.gz - nashorn-${_repo_ver}.tar.gz::${_url_src}/nashorn/archive/${_repo_ver}.tar.gz - build_with_gcc6.patch) - -sha256sums=('85a8a8c55cda2d3bae833578d6ad6c8bf531550ac051776d47946d17858a6721' - 'f0a153807e08c79c5ce229be6eafe7951854a7d7eb496cea7b24a0a5f305ccfe' - '18d9fc6b9a6830cb8083e366b9ef31f8c8ebb80c816d7f516de8285181fb6bc1' - 'e8442fd2fcce332abdb1e34bb33655e43e6d88bb551fc67883b8cab043aba53f' - '5146841822b49e1300c6c78a88be617fd72a80b76e8e2bb8d6ed526edfe1a929' - 'd5479dde109483c81f94abb91d93d11b1a899bb5d5685e7dfdd96ba8e35adf93' - '7a3a7d2f2f6f47de876532d9ad9e3d04f0235a8d848ea958d6371dbb2535f83c' - '5d14d0e910fec1cc34e02bf25173b25619083f2afda8e73d0bb5ba456c12b89c' - 'dcf5f495620231068b0c925a33ba7246bbeb85e9ae822b30ab77a66839c2d3b6') - -case "${CARCH}" in - 'x86_64') _JARCH=amd64 ; _DOC_ARCH=x86_64 ;; - 'i686' ) _JARCH=i386 ; _DOC_ARCH=x86 ;; -esac - -_jdkname=openjdk8 -_jvmdir=/usr/lib/jvm/java-8-openjdk -_prefix="jdk8u-${_repo_ver}/image" -_imgdir="${_prefix}/jvm/openjdk-1.8.0_$(printf '%.2d' ${_jdk_update})" -_nonheadless=(bin/policytool - lib/${_JARCH}/libjsound.so - lib/${_JARCH}/libjsoundalsa.so - lib/${_JARCH}/libsplashscreen.so) - -prepare() { - cd "${srcdir}/jdk8u-${_repo_ver}" - - for subrepo in corba hotspot jdk jaxws jaxp langtools nashorn - do - ln -s ../${subrepo}-${_repo_ver} ${subrepo} - done - - patch -p1 < ../build_with_gcc6.patch -} - -build() { - cd "${srcdir}/jdk8u-${_repo_ver}" - - unset JAVA_HOME - # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1346 - export MAKEFLAGS=${MAKEFLAGS/-j*} - # https://hydra.nixos.org/build/41230444/log - export CFLAGS="-Wno-error=deprecated-declarations" - - install -d -m 755 "${srcdir}/${_prefix}/" - sh configure \ - --prefix="${srcdir}/${_prefix}" \ - --with-update-version="${_jdk_update}" \ - --with-build-number="b${_jdk_build}" \ - --with-milestone="fcs" \ - --enable-unlimited-crypto \ - --with-zlib=system - - # TODO OpenJDK does not want last version of giflib (add 'giflib' as dependency once fixed) - #--with-giflib=system \ - - # Without 'DEBUG_BINARIES', i686 won't build - # http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-July/019203.html - make \ - DEBUG_BINARIES=true - # These help to debug builds: - #LOG=trace HOTSPOT_BUILD_JOBS=1 - - make docs - - # FIXME sadly 'DESTDIR' is not used here! - make install - - cd "${srcdir}/${_imgdir}" - - # A lot of build stuff were directly taken from - # http://pkgs.fedoraproject.org/cgit/java-1.8.0-openjdk.git/tree/java-1.8.0-openjdk.spec - - # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437 - find . -iname '*.jar' -exec chmod ugo+r {} \; - chmod ugo+r lib/ct.sym - - # remove redundant *diz and *debuginfo files - find . -iname '*.diz' -exec rm {} \; - find . -iname '*.debuginfo' -exec rm {} \; -} - -#check() { -# cd "${srcdir}/${pkgname}-${pkgver}" -# make -k check -#} - -package_jre8-openjdk-headless() { - pkgdesc='OpenJDK Java 8 headless runtime environment' - depends=('java-runtime-common' 'ca-certificates-utils' 'nss') - optdepends=('java-rhino: for some JavaScript support') - provides=('java-runtime-headless=8' 'java-runtime-headless-openjdk=8') - # Upstream config files that should go to etc and get backup - _backup_etc=(etc/java-8-openjdk/${_JARCH}/jvm.cfg - etc/java-8-openjdk/calendars.properties - etc/java-8-openjdk/content-types.properties - etc/java-8-openjdk/flavormap.properties - etc/java-8-openjdk/images/cursors/cursors.properties - etc/java-8-openjdk/logging.properties - etc/java-8-openjdk/management/jmxremote.access - etc/java-8-openjdk/management/jmxremote.password - etc/java-8-openjdk/management/management.properties - etc/java-8-openjdk/management/snmp.acl - etc/java-8-openjdk/net.properties - etc/java-8-openjdk/psfont.properties.ja - etc/java-8-openjdk/psfontj2d.properties - etc/java-8-openjdk/security/java.policy - etc/java-8-openjdk/security/java.security - etc/java-8-openjdk/sound.properties) - replaces=('jre8-openjdk-headless-wm') - backup=(${_backup_etc[@]}) - install=install_jre8-openjdk-headless.sh - - cd "${srcdir}/${_imgdir}/jre" - - install -d -m 755 "${pkgdir}${_jvmdir}/jre/" - cp -a bin lib "${pkgdir}${_jvmdir}/jre" - - # Set config files - mv "${pkgdir}${_jvmdir}"/jre/lib/management/jmxremote.password{.template,} - mv "${pkgdir}${_jvmdir}"/jre/lib/management/snmp.acl{.template,} - - # Remove 'non-headless' lib files - for f in ${_nonheadless[@]}; do - rm "${pkgdir}${_jvmdir}/jre/${f}" - done - - # Man pages - pushd "${pkgdir}${_jvmdir}/jre/bin" - install -d -m 755 "${pkgdir}"/usr/share/man/{,ja/}man1/ - for file in *; do - install -m 644 "${srcdir}/${_imgdir}/man/man1/${file}.1" \ - "${pkgdir}/usr/share/man/man1/${file}-${_jdkname}.1" - install -m 644 "${srcdir}/${_imgdir}/man/ja/man1/${file}.1" \ - "${pkgdir}/usr/share/man/ja/man1/${file}-${_jdkname}.1" - done - popd - - # Link JKS keystore from ca-certificates-utils - rm -f "${pkgdir}${_jvmdir}/jre/lib/security/cacerts" - ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}${_jvmdir}/jre/lib/security/cacerts" - - # Install license - install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgbase}/" - install -m 644 ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README \ - "${pkgdir}/usr/share/licenses/${pkgbase}" - ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" - - # Move config files that were set in _backup_etc from ./lib to /etc - for file in ${_backup_etc[@]}; do - _filepkgpath=${_jvmdir}/jre/lib/${file#etc/java-8-openjdk/} - install -D -m 644 "${pkgdir}${_filepkgpath}" "${pkgdir}/${file}" - ln -sf /${file} "${pkgdir}${_filepkgpath}" - done -} - -package_jre8-openjdk() { - pkgdesc='OpenJDK Java 8 full runtime environment' - depends=("jre8-openjdk-headless=${pkgver}-${pkgrel}" 'xdg-utils' 'hicolor-icon-theme') - optdepends=('icedtea-web: web browser plugin + Java Web Start' - 'alsa-lib: for basic sound support' - 'gtk2: for the Gtk+ look and feel - desktop usage' - 'java-openjfx: for JavaFX GUI components support') - # TODO when adding IcedTea: 'giflib: for gif format support' - # TODO when adding IcedTea: 'libpulse: for advanced sound support' - provides=('java-runtime=8' 'java-runtime-openjdk=8') - install=install_jre8-openjdk.sh - replaces=('jre8-openjdk-wm') - - cd "${srcdir}/${_imgdir}/jre" - - # TODO? Should /usr/lib/jvm/java-8-openjdk/jre/lib/sound.properties belong to jre? - for f in ${_nonheadless[@]}; do - install -D ${f} "${pkgdir}${_jvmdir}/jre/${f}" - done - - # Man pages - pushd "${pkgdir}${_jvmdir}/jre/bin" - install -d -m 755 "${pkgdir}"/usr/share/man/{,ja/}man1/ - for file in *; do - install -m 644 "${srcdir}/${_imgdir}/man/man1/${file}.1" \ - "${pkgdir}/usr/share/man/man1/${file}-${_jdkname}.1" - install -m 644 "${srcdir}/${_imgdir}/man/ja/man1/${file}.1" \ - "${pkgdir}/usr/share/man/ja/man1/${file}-${_jdkname}.1" - done - popd - - # Desktop files - # TODO add these when switching to IcedTea - #install -D -m 644 "${srcdir}/icedtea-${_icedtea_ver}/policytool.desktop" \ - # "${pkgdir}/usr/share/applications/policytool.desktop" - - # Install license - install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgbase}/" - ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" -} - -package_jdk8-openjdk() { - pkgdesc='OpenJDK Java 8 development kit' - depends=('java-environment-common' "jre8-openjdk=${pkgver}-${pkgrel}") - provides=('java-environment=8' 'java-environment-openjdk=8') - replaces=('jdk8-openjdk-wm') - install=install_jdk8-openjdk.sh - - cd "${srcdir}/${_imgdir}" - - # Main files - install -d -m 755 "${pkgdir}${_jvmdir}" - - cp -a include lib "${pkgdir}${_jvmdir}" - - # 'bin' files - pushd bin - - # 'java-rmi.cgi' will be handled separately as it should not be in the PATH and has no man page - for b in $(ls | grep -v java-rmi.cgi); do - if [ -e ../jre/bin/${b} ]; then - # Provide a link of the jre binary in the jdk/bin/ directory - ln -s ../jre/bin/${b} "${pkgdir}${_jvmdir}/bin/${b}" - else - # Copy binary to jdk/bin/ - install -D -m 755 ${b} "${pkgdir}${_jvmdir}/bin/${b}" - # Copy man page - install -D -m 644 ../man/man1/${b}.1 "${pkgdir}/usr/share/man/man1/${b}-${_jdkname}.1" - install -D -m 644 ../man/ja/man1/${b}.1 "${pkgdir}/usr/share/man/ja/man1/${b}-${_jdkname}.1" - fi - done - popd - - # Handling 'java-rmi.cgi' separately - install -D -m 755 bin/java-rmi.cgi "${pkgdir}${_jvmdir}/bin/java-rmi.cgi" - - # Desktop files. - # TODO add these when switching to IcedTea - #install -m 644 "${srcdir}/icedtea-${_icedtea_ver}/jconsole.desktop" \ - # "${pkgdir}/usr/share/applications" - - # link license - install -d -m 755 "${pkgdir}/usr/share/licenses/" - ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" -} - -package_openjdk8-src() { - pkgdesc='OpenJDK Java 8 sources' - - install -D "${srcdir}/${_imgdir}/src.zip" "${pkgdir}${_jvmdir}/src.zip" -} - -package_openjdk8-doc() { - pkgdesc='OpenJDK Java 8 documentation' - - install -d -m 755 "${pkgdir}/usr/share/doc/${pkgbase}/" - cp -r "${srcdir}"/jdk8u-${_repo_ver}/build/linux-${_DOC_ARCH}-normal-server-release/docs/* \ - "${pkgdir}/usr/share/doc/${pkgbase}/" -} Copied: java8-openjdk/repos/extra-x86_64/PKGBUILD (from rev 317582, java8-openjdk/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2018-02-27 12:45:26 UTC (rev 317583) @@ -0,0 +1,285 @@ +# Maintainer: Guillaume ALAUX <guilla...@archlinux.org> +# Contributor: Boyan Ding <stu_...@126.com> + +# TODO +# once icedtea: +# pulse +# add policytool desktop files + +# Package 'openjfx' must be updated when this one is +pkgname=('jre8-openjdk-headless' 'jre8-openjdk' 'jdk8-openjdk' 'openjdk8-src' 'openjdk8-doc') +pkgbase=java8-openjdk +_java_ver=8 +# Found @ http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html +_jdk_update=162 +_jdk_build=12 +pkgver=${_java_ver}.u${_jdk_update} +_repo_ver=jdk${_java_ver}u${_jdk_update}-b${_jdk_build} +pkgrel=1 +arch=('x86_64') +url='http://openjdk.java.net/' +license=('custom') +makedepends=('jdk7-openjdk' 'ccache' 'cpio' 'unzip' 'zip' + 'libxrender' 'libxtst' 'fontconfig' 'libcups' 'alsa-lib') +_url_src=http://hg.openjdk.java.net/jdk8u/jdk8u +source=(jdk8u-${_repo_ver}.tar.gz::${_url_src}/archive/${_repo_ver}.tar.gz + corba-${_repo_ver}.tar.gz::${_url_src}/corba/archive/${_repo_ver}.tar.gz + hotspot-${_repo_ver}.tar.gz::${_url_src}/hotspot/archive/${_repo_ver}.tar.gz + jdk-${_repo_ver}.tar.gz::${_url_src}/jdk/archive/${_repo_ver}.tar.gz + jaxws-${_repo_ver}.tar.gz::${_url_src}/jaxws/archive/${_repo_ver}.tar.gz + jaxp-${_repo_ver}.tar.gz::${_url_src}/jaxp/archive/${_repo_ver}.tar.gz + langtools-${_repo_ver}.tar.gz::${_url_src}/langtools/archive/${_repo_ver}.tar.gz + nashorn-${_repo_ver}.tar.gz::${_url_src}/nashorn/archive/${_repo_ver}.tar.gz) + +sha256sums=('7ad155f34bae7bfb43b5f74972f61cf2d390be9d068d7825af8416fe098f15b1' + 'd45747d3ef7bfff09e48391b10e9264619c2e3c65708cdf62fa3c4c4f724bf88' + '9614ed1e9eb7e1ad9ee206272e761cbdb0d24193f4e70fad853ae1e8eb668af4' + '1809fc11f8d5bd4817ac8be30493d0c6ae994c2f089101040345aed39cabe40d' + 'c576306038e548071a0c9904dd0ef82e1ada4dba8acf865b065672356c256dde' + 'c45c2bc4519992d78666c81b5faa33d7b40e268c8ae5c17ac1b7726fdf8e16d4' + 'b0dae1ddc9113d6ce5e7afc0a75284f913ab2d8f21c56b2378962037947629ec' + 'b8a89d7870c332055e4bde9ca7a4183b4de1a280709de29f18a6867dd1eb8296') + +case "${CARCH}" in + 'x86_64') _JARCH=amd64 ; _DOC_ARCH=x86_64 ;; + 'i686' ) _JARCH=i386 ; _DOC_ARCH=x86 ;; +esac + +_jdkname=openjdk8 +_jvmdir=/usr/lib/jvm/java-8-openjdk +_prefix="jdk8u-${_repo_ver}/image" +_imgdir="${_prefix}/jvm/openjdk-1.8.0_$(printf '%.2d' ${_jdk_update})" +_nonheadless=(bin/policytool + lib/${_JARCH}/libjsound.so + lib/${_JARCH}/libjsoundalsa.so + lib/${_JARCH}/libsplashscreen.so) + +prepare() { + cd "${srcdir}/jdk8u-${_repo_ver}" + + for subrepo in corba hotspot jdk jaxws jaxp langtools nashorn + do + ln -s ../${subrepo}-${_repo_ver} ${subrepo} + done +} + +build() { + cd "${srcdir}/jdk8u-${_repo_ver}" + + unset JAVA_HOME + # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1346 + export MAKEFLAGS=${MAKEFLAGS/-j*} + # https://hydra.nixos.org/build/41230444/log + export CFLAGS="-Wno-error=deprecated-declarations -fno-lifetime-dse" + + install -d -m 755 "${srcdir}/${_prefix}/" + sh configure \ + --prefix="${srcdir}/${_prefix}" \ + --with-update-version="${_jdk_update}" \ + --with-build-number="b${_jdk_build}" \ + --with-milestone="fcs" \ + --enable-unlimited-crypto \ + --with-zlib=system + + # TODO OpenJDK does not want last version of giflib (add 'giflib' as dependency once fixed) + #--with-giflib=system \ + + # Without 'DEBUG_BINARIES', i686 won't build + # http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-July/019203.html + make \ + DEBUG_BINARIES=true + # These help to debug builds: + #LOG=trace HOTSPOT_BUILD_JOBS=1 + + make docs + + # FIXME sadly 'DESTDIR' is not used here! + make install + + cd "${srcdir}/${_imgdir}" + + # A lot of build stuff were directly taken from + # http://pkgs.fedoraproject.org/cgit/java-1.8.0-openjdk.git/tree/java-1.8.0-openjdk.spec + + # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437 + find . -iname '*.jar' -exec chmod ugo+r {} \; + chmod ugo+r lib/ct.sym + + # remove redundant *diz and *debuginfo files + find . -iname '*.diz' -exec rm {} \; + find . -iname '*.debuginfo' -exec rm {} \; +} + +#check() { +# cd "${srcdir}/${pkgname}-${pkgver}" +# make -k check +#} + +package_jre8-openjdk-headless() { + pkgdesc='OpenJDK Java 8 headless runtime environment' + depends=('java-runtime-common' 'ca-certificates-utils' 'nss') + optdepends=('java-rhino: for some JavaScript support') + provides=('java-runtime-headless=8' 'java-runtime-headless-openjdk=8') + # Upstream config files that should go to etc and get backup + _backup_etc=(etc/java-8-openjdk/${_JARCH}/jvm.cfg + etc/java-8-openjdk/calendars.properties + etc/java-8-openjdk/content-types.properties + etc/java-8-openjdk/flavormap.properties + etc/java-8-openjdk/images/cursors/cursors.properties + etc/java-8-openjdk/logging.properties + etc/java-8-openjdk/management/jmxremote.access + etc/java-8-openjdk/management/jmxremote.password + etc/java-8-openjdk/management/management.properties + etc/java-8-openjdk/management/snmp.acl + etc/java-8-openjdk/net.properties + etc/java-8-openjdk/psfont.properties.ja + etc/java-8-openjdk/psfontj2d.properties + etc/java-8-openjdk/security/java.policy + etc/java-8-openjdk/security/java.security + etc/java-8-openjdk/sound.properties) + replaces=('jre8-openjdk-headless-wm') + backup=(${_backup_etc[@]}) + install=install_jre8-openjdk-headless.sh + + cd "${srcdir}/${_imgdir}/jre" + + install -d -m 755 "${pkgdir}${_jvmdir}/jre/" + cp -a bin lib "${pkgdir}${_jvmdir}/jre" + + # Set config files + mv "${pkgdir}${_jvmdir}"/jre/lib/management/jmxremote.password{.template,} + mv "${pkgdir}${_jvmdir}"/jre/lib/management/snmp.acl{.template,} + + # Remove 'non-headless' lib files + for f in ${_nonheadless[@]}; do + rm "${pkgdir}${_jvmdir}/jre/${f}" + done + + # Man pages + pushd "${pkgdir}${_jvmdir}/jre/bin" + install -d -m 755 "${pkgdir}"/usr/share/man/{,ja/}man1/ + for file in *; do + install -m 644 "${srcdir}/${_imgdir}/man/man1/${file}.1" \ + "${pkgdir}/usr/share/man/man1/${file}-${_jdkname}.1" + install -m 644 "${srcdir}/${_imgdir}/man/ja/man1/${file}.1" \ + "${pkgdir}/usr/share/man/ja/man1/${file}-${_jdkname}.1" + done + popd + + # Link JKS keystore from ca-certificates-utils + rm -f "${pkgdir}${_jvmdir}/jre/lib/security/cacerts" + ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}${_jvmdir}/jre/lib/security/cacerts" + + # Install license + install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgbase}/" + install -m 644 ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README \ + "${pkgdir}/usr/share/licenses/${pkgbase}" + ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" + + # Move config files that were set in _backup_etc from ./lib to /etc + for file in ${_backup_etc[@]}; do + _filepkgpath=${_jvmdir}/jre/lib/${file#etc/java-8-openjdk/} + install -D -m 644 "${pkgdir}${_filepkgpath}" "${pkgdir}/${file}" + ln -sf /${file} "${pkgdir}${_filepkgpath}" + done +} + +package_jre8-openjdk() { + pkgdesc='OpenJDK Java 8 full runtime environment' + depends=("jre8-openjdk-headless=${pkgver}-${pkgrel}" 'xdg-utils' 'hicolor-icon-theme') + optdepends=('icedtea-web: web browser plugin + Java Web Start' + 'alsa-lib: for basic sound support' + 'gtk2: for the Gtk+ look and feel - desktop usage' + 'java-openjfx: for JavaFX GUI components support') + # TODO when adding IcedTea: 'giflib: for gif format support' + # TODO when adding IcedTea: 'libpulse: for advanced sound support' + provides=('java-runtime=8' 'java-runtime-openjdk=8') + install=install_jre8-openjdk.sh + replaces=('jre8-openjdk-wm') + + cd "${srcdir}/${_imgdir}/jre" + + # TODO? Should /usr/lib/jvm/java-8-openjdk/jre/lib/sound.properties belong to jre? + for f in ${_nonheadless[@]}; do + install -D ${f} "${pkgdir}${_jvmdir}/jre/${f}" + done + + # Man pages + pushd "${pkgdir}${_jvmdir}/jre/bin" + install -d -m 755 "${pkgdir}"/usr/share/man/{,ja/}man1/ + for file in *; do + install -m 644 "${srcdir}/${_imgdir}/man/man1/${file}.1" \ + "${pkgdir}/usr/share/man/man1/${file}-${_jdkname}.1" + install -m 644 "${srcdir}/${_imgdir}/man/ja/man1/${file}.1" \ + "${pkgdir}/usr/share/man/ja/man1/${file}-${_jdkname}.1" + done + popd + + # Desktop files + # TODO add these when switching to IcedTea + #install -D -m 644 "${srcdir}/icedtea-${_icedtea_ver}/policytool.desktop" \ + # "${pkgdir}/usr/share/applications/policytool.desktop" + + # Install license + install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgbase}/" + ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" +} + +package_jdk8-openjdk() { + pkgdesc='OpenJDK Java 8 development kit' + depends=('java-environment-common' "jre8-openjdk=${pkgver}-${pkgrel}") + provides=('java-environment=8' 'java-environment-openjdk=8') + replaces=('jdk8-openjdk-wm') + install=install_jdk8-openjdk.sh + + cd "${srcdir}/${_imgdir}" + + # Main files + install -d -m 755 "${pkgdir}${_jvmdir}" + + cp -a include lib "${pkgdir}${_jvmdir}" + + # 'bin' files + pushd bin + + # 'java-rmi.cgi' will be handled separately as it should not be in the PATH and has no man page + for b in $(ls | grep -v java-rmi.cgi); do + if [ -e ../jre/bin/${b} ]; then + # Provide a link of the jre binary in the jdk/bin/ directory + ln -s ../jre/bin/${b} "${pkgdir}${_jvmdir}/bin/${b}" + else + # Copy binary to jdk/bin/ + install -D -m 755 ${b} "${pkgdir}${_jvmdir}/bin/${b}" + # Copy man page + install -D -m 644 ../man/man1/${b}.1 "${pkgdir}/usr/share/man/man1/${b}-${_jdkname}.1" + install -D -m 644 ../man/ja/man1/${b}.1 "${pkgdir}/usr/share/man/ja/man1/${b}-${_jdkname}.1" + fi + done + popd + + # Handling 'java-rmi.cgi' separately + install -D -m 755 bin/java-rmi.cgi "${pkgdir}${_jvmdir}/bin/java-rmi.cgi" + + # Desktop files. + # TODO add these when switching to IcedTea + #install -m 644 "${srcdir}/icedtea-${_icedtea_ver}/jconsole.desktop" \ + # "${pkgdir}/usr/share/applications" + + # link license + install -d -m 755 "${pkgdir}/usr/share/licenses/" + ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" +} + +package_openjdk8-src() { + pkgdesc='OpenJDK Java 8 sources' + + install -D "${srcdir}/${_imgdir}/src.zip" "${pkgdir}${_jvmdir}/src.zip" +} + +package_openjdk8-doc() { + pkgdesc='OpenJDK Java 8 documentation' + + install -d -m 755 "${pkgdir}/usr/share/doc/${pkgbase}/" + cp -r "${srcdir}"/jdk8u-${_repo_ver}/build/linux-${_DOC_ARCH}-normal-server-release/docs/* \ + "${pkgdir}/usr/share/doc/${pkgbase}/" +} Deleted: build_with_gcc6.patch =================================================================== --- build_with_gcc6.patch 2018-02-27 12:44:09 UTC (rev 317582) +++ build_with_gcc6.patch 2018-02-27 12:45:26 UTC (rev 317583) @@ -1,1098 +0,0 @@ -# HG changeset patch -# User andrew -# Date 1468209748 -3600 -# Mon Jul 11 05:02:28 2016 +0100 -# Node ID 7eb66a95dbd58d26ed271477076e0ab72e8c9ebf -# Parent 817d9fb584baecae7c989dfd7009a7f0ac7c6360 -8151841: Build needs additional flags to compile with GCC 6 [plus parts of 8149647 & 8032045] -Summary: C++ standard needs to be explicitly set and some optimisations turned off to build on GCC 6 -Reviewed-by: erikj, dholmes, kbarrett - -diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh ---- a/common/autoconf/generated-configure.sh -+++ b/common/autoconf/generated-configure.sh -@@ -679,6 +679,9 @@ - CFLAGS_JDKLIB - MACOSX_VERSION_MIN - PACKAGE_PATH -+NO_LIFETIME_DSE_CFLAG -+NO_DELETE_NULL_POINTER_CHECKS_CFLAG -+CXXSTD_CXXFLAG - LEGACY_EXTRA_LDFLAGS - LEGACY_EXTRA_CXXFLAGS - LEGACY_EXTRA_CFLAGS -@@ -743,6 +746,8 @@ - ac_ct_OBJC - OBJCFLAGS - OBJC -+CXX_VERSION -+CC_VERSION - ac_ct_CXX - CXXFLAGS - CXX -@@ -3672,7 +3677,7 @@ - - - # --# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. - # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - # - # This code is free software; you can redistribute it and/or modify it -@@ -3795,6 +3800,19 @@ - # questions. - # - -+# Prepare the system so that TOOLCHAIN_CHECK_COMPILER_VERSION can be called. -+# Must have CC_VERSION_NUMBER and CXX_VERSION_NUMBER. -+ -+ -+# Check if the configured compiler (C and C++) is of a specific version or -+# newer. TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS must have been called before. -+# -+# Arguments: -+# $1: The version string to check against the found version -+# $2: block to run if the compiler is at least this version (>=) -+# $3: block to run if the compiler is older than this version (<) -+ -+ - # $1 = compiler to test (CC or CXX) - # $2 = human readable name of compiler (C or C++) - -@@ -3818,10 +3836,22 @@ - - - -+# TOOLCHAIN_C_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE], -+# [RUN-IF-FALSE]) -+# ------------------------------------------------------------ -+# Check that the C compiler supports an argument -+ -+ -+# TOOLCHAIN_CXX_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE], -+# [RUN-IF-FALSE]) -+# ------------------------------------------------------------ -+# Check that the C++ compiler supports an argument -+ -+ - # TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE], --# [RUN-IF-FALSE]) -+# [RUN-IF-FALSE]) - # ------------------------------------------------------------ --# Check that the c and c++ compilers support an argument -+# Check that the C and C++ compilers support an argument - - - -@@ -3829,6 +3859,8 @@ - # Setup the JTREG paths - - -+ -+ - # - # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. - # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -3880,7 +3912,7 @@ - #CUSTOM_AUTOCONF_INCLUDE - - # Do not change or remove the following line, it is needed for consistency checks: --DATE_WHEN_GENERATED=1449096260 -+DATE_WHEN_GENERATED=1468207795 - - ############################################################################### - # -@@ -20368,7 +20400,8 @@ - - # First line typically looks something like: - # gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2 -- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* \([1-9][0-9.]*\)/\1/p"` -+ COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | \ -+ $SED -e 's/^.* \([1-9]\.[0-9.]*\)[^0-9.].*$/\1/'` - COMPILER_VENDOR=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^\(.*\) [1-9][0-9.]*/\1/p"` - fi - # This sets CC_VERSION or CXX_VERSION. (This comment is a grep marker) -@@ -21969,7 +22002,8 @@ - - # First line typically looks something like: - # gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2 -- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* \([1-9][0-9.]*\)/\1/p"` -+ COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | \ -+ $SED -e 's/^.* \([1-9]\.[0-9.]*\)[^0-9.].*$/\1/'` - COMPILER_VENDOR=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^\(.*\) [1-9][0-9.]*/\1/p"` - fi - # This sets CC_VERSION or CXX_VERSION. (This comment is a grep marker) -@@ -22240,6 +22274,32 @@ - ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -+ # This is the compiler version number on the form X.Y[.Z] -+ -+ -+ -+ -+ if test "x$CC_VERSION" != "x$CXX_VERSION"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C and C++ compiler has different version numbers, $CC_VERSION vs $CXX_VERSION." >&5 -+$as_echo "$as_me: WARNING: C and C++ compiler has different version numbers, $CC_VERSION vs $CXX_VERSION." >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This typically indicates a broken setup, and is not supported" >&5 -+$as_echo "$as_me: WARNING: This typically indicates a broken setup, and is not supported" >&2;} -+ fi -+ -+ # We only check CC_VERSION since we assume CXX_VERSION is equal. -+ if [[ "$CC_VERSION" =~ (.*\.){3} ]] ; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C compiler version number has more than three parts (X.Y.Z): $CC_VERSION. Comparisons might be wrong." >&5 -+$as_echo "$as_me: WARNING: C compiler version number has more than three parts (X.Y.Z): $CC_VERSION. Comparisons might be wrong." >&2;} -+ fi -+ -+ if [[ "$CC_VERSION" =~ [0-9]{6} ]] ; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C compiler version number has a part larger than 99999: $CC_VERSION. Comparisons might be wrong." >&5 -+$as_echo "$as_me: WARNING: C compiler version number has a part larger than 99999: $CC_VERSION. Comparisons might be wrong." >&2;} -+ fi -+ -+ COMPARABLE_ACTUAL_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", $1, $2, $3) }' <<< "$CC_VERSION"` -+ -+ - ### Locate other tools - - if test "x$OPENJDK_TARGET_OS" = xmacosx; then -@@ -24831,7 +24891,8 @@ - - - COMPILER_TYPE=CL -- CCXXFLAGS="$CCXXFLAGS -nologo" -+ # silence copyright notice and other headers. -+ COMMON_CCXXFLAGS="$COMMON_CCXXFLAGS -nologo" - - fi - -@@ -29664,12 +29725,57 @@ - # - # Now setup the CFLAGS and LDFLAGS for the JDK build. - # Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build. -+ # CFLAGS_JDK - C Compiler flags -+ # CXXFLAGS_JDK - C++ Compiler flags -+ # COMMON_CCXXFLAGS_JDK - common to C and C++ - # - case $COMPILER_NAME in - gcc ) -- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \ -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \ - -pipe \ - -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" -+ CXXSTD_CXXFLAG="-std=gnu++98" -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler supports \"$CXXSTD_CXXFLAG $CFLAGS_WARNINGS_ARE_ERRORS\"" >&5 -+$as_echo_n "checking if the C++ compiler supports \"$CXXSTD_CXXFLAG $CFLAGS_WARNINGS_ARE_ERRORS\"... " >&6; } -+ supports=yes -+ -+ saved_cxxflags="$CXXFLAGS" -+ CXXFLAGS="$CXXFLAG $CXXSTD_CXXFLAG $CFLAGS_WARNINGS_ARE_ERRORS" -+ ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+int i; -+_ACEOF -+if ac_fn_cxx_try_compile "$LINENO"; then : -+ -+else -+ supports=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ CXXFLAGS="$saved_cxxflags" -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ : -+ else -+ CXXSTD_CXXFLAG="" -+ fi -+ -+ CXXFLAGS_JDK="${CXXFLAGS_JDK} ${CXXSTD_CXXFLAG}" -+ - case $OPENJDK_TARGET_CPU_ARCH in - arm ) - # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing -@@ -29679,16 +29785,234 @@ - # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing - ;; - * ) -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -fno-omit-frame-pointer" - CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing" - ;; - esac -+ -+ REFERENCE_VERSION=6 -+ -+ if [[ "$REFERENCE_VERSION" =~ (.*\.){3} ]] ; then -+ as_fn_error $? "Internal error: Cannot compare to $REFERENCE_VERSION, only three parts (X.Y.Z) is supported" "$LINENO" 5 -+ fi -+ -+ if [[ "$REFERENCE_VERSION" =~ [0-9]{6} ]] ; then -+ as_fn_error $? "Internal error: Cannot compare to $REFERENCE_VERSION, only parts < 99999 is supported" "$LINENO" 5 -+ fi -+ -+ # Version comparison method inspired by http://stackoverflow.com/a/24067243 -+ COMPARABLE_REFERENCE_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", $1, $2, $3) }' <<< "$REFERENCE_VERSION"` -+ -+ if test $COMPARABLE_ACTUAL_VERSION -ge $COMPARABLE_REFERENCE_VERSION ; then -+ -+ # These flags are required for GCC 6 builds as undefined behaviour in OpenJDK code -+ # runs afoul of the more aggressive versions of these optimisations. -+ # Notably, value range propagation now assumes that the this pointer of C++ -+ # member functions is non-null. -+ NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks" -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler supports \"$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror\"" >&5 -+$as_echo_n "checking if the C compiler supports \"$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror\"... " >&6; } -+ supports=yes -+ -+ saved_cflags="$CFLAGS" -+ CFLAGS="$CFLAGS $NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror" -+ ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+int i; -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ -+else -+ supports=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ CFLAGS="$saved_cflags" -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ C_COMP_SUPPORTS="yes" -+ else -+ C_COMP_SUPPORTS="no" -+ fi -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler supports \"$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror\"" >&5 -+$as_echo_n "checking if the C++ compiler supports \"$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror\"... " >&6; } -+ supports=yes -+ -+ saved_cxxflags="$CXXFLAGS" -+ CXXFLAGS="$CXXFLAG $NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror" -+ ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+int i; -+_ACEOF -+if ac_fn_cxx_try_compile "$LINENO"; then : -+ -+else -+ supports=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ CXXFLAGS="$saved_cxxflags" -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ CXX_COMP_SUPPORTS="yes" -+ else -+ CXX_COMP_SUPPORTS="no" -+ fi -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if both compilers support \"$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror\"" >&5 -+$as_echo_n "checking if both compilers support \"$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror\"... " >&6; } -+ supports=no -+ if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ : -+ else -+ NO_DELETE_NULL_POINTER_CHECKS_CFLAG="" -+ fi -+ -+ -+ NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse" -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler supports \"$NO_LIFETIME_DSE_CFLAG -Werror\"" >&5 -+$as_echo_n "checking if the C compiler supports \"$NO_LIFETIME_DSE_CFLAG -Werror\"... " >&6; } -+ supports=yes -+ -+ saved_cflags="$CFLAGS" -+ CFLAGS="$CFLAGS $NO_LIFETIME_DSE_CFLAG -Werror" -+ ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+int i; -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ -+else -+ supports=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ CFLAGS="$saved_cflags" -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ C_COMP_SUPPORTS="yes" -+ else -+ C_COMP_SUPPORTS="no" -+ fi -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler supports \"$NO_LIFETIME_DSE_CFLAG -Werror\"" >&5 -+$as_echo_n "checking if the C++ compiler supports \"$NO_LIFETIME_DSE_CFLAG -Werror\"... " >&6; } -+ supports=yes -+ -+ saved_cxxflags="$CXXFLAGS" -+ CXXFLAGS="$CXXFLAG $NO_LIFETIME_DSE_CFLAG -Werror" -+ ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+int i; -+_ACEOF -+if ac_fn_cxx_try_compile "$LINENO"; then : -+ -+else -+ supports=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ CXXFLAGS="$saved_cxxflags" -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ CXX_COMP_SUPPORTS="yes" -+ else -+ CXX_COMP_SUPPORTS="no" -+ fi -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if both compilers support \"$NO_LIFETIME_DSE_CFLAG -Werror\"" >&5 -+$as_echo_n "checking if both compilers support \"$NO_LIFETIME_DSE_CFLAG -Werror\"... " >&6; } -+ supports=no -+ if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ : -+ else -+ NO_LIFETIME_DSE_CFLAG="" -+ fi -+ -+ CFLAGS_JDK="${CFLAGS_JDK} ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" -+ -+ -+ -+ else -+ : -+ fi -+ - ;; - ossc ) -- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS" - case $OPENJDK_TARGET_CPU_ARCH in - x86 ) -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB" - CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE" - ;; - esac -@@ -29707,16 +30031,16 @@ - LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK" - ;; - cl ) -- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \ -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \ - -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \ - -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \ - -DWIN32 -DIAL" - case $OPENJDK_TARGET_CPU in - x86 ) -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_X86_ -Dx86" - ;; - x86_64 ) -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_AMD64_ -Damd64" - ;; - esac - ;; -@@ -29746,7 +30070,7 @@ - ;; - esac - -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK $ADD_LP64" - - # The package path is used only on macosx? - PACKAGE_PATH=/opt/local -@@ -29759,27 +30083,27 @@ - # Note: -Dmacro is the same as #define macro 1 - # -Dmacro= is the same as #define macro - if test "x$OPENJDK_TARGET_OS" = xsolaris; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN=" -- else -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN" -- fi -- else -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_LITTLE_ENDIAN=" -+ else -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_LITTLE_ENDIAN" -+ fi -+ else -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_BIG_ENDIAN" - fi - if test "x$OPENJDK_TARGET_OS" = xlinux; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DLINUX" - fi - if test "x$OPENJDK_TARGET_OS" = xwindows; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DWINDOWS" - fi - if test "x$OPENJDK_TARGET_OS" = xsolaris; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DSOLARIS" - fi - if test "x$OPENJDK_TARGET_OS" = xaix; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DAIX -DPPC64" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DAIX -DPPC64" - fi - if test "x$OPENJDK_TARGET_OS" = xmacosx; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" - # Setting these parameters makes it an error to link to macosx APIs that are - # newer than the given OS version and makes the linked binaries compatible even - # if built on a newer version of the OS. -@@ -29789,25 +30113,25 @@ - # The macro takes the version with no dots, ex: 1070 - # Let the flags variables get resolved in make for easier override on make - # command line. -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" - LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" - fi - if test "x$OPENJDK_TARGET_OS" = xbsd; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE" - fi - if test "x$DEBUG_LEVEL" = xrelease; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DNDEBUG" - if test "x$OPENJDK_TARGET_OS" = xsolaris; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED" -- fi -- else -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG" -- fi -- -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY" -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'" -- -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK \ -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DTRIMMED" -+ fi -+ else -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DDEBUG" -+ fi -+ -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'" -+ -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \ - -I${JDK_OUTPUTDIR}/include \ - -I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \ - -I${JDK_TOPDIR}/src/share/javavm/export \ -@@ -29816,12 +30140,12 @@ - -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/native/common" - - # The shared libraries are compiled using the picflag. -- CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" -- CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA " -+ CFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" -+ CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA " - - # Executable flags -- CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK" -- CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK" -+ CFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK" -+ CXXFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK" - - # Now this is odd. The JDK native libraries have to link against libjvm.so - # On 32-bit machines there is normally two distinct libjvm.so:s, client and server. -@@ -29905,7 +30229,6 @@ - - - -- - # Some Zero and Shark settings. - # ZERO_ARCHFLAG tells the compiler which mode to build for - case "${OPENJDK_TARGET_CPU}" in -@@ -29916,8 +30239,9 @@ - ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" - esac - -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"$ZERO_ARCHFLAG\"" >&5 --$as_echo_n "checking if compiler supports \"$ZERO_ARCHFLAG\"... " >&6; } -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler supports \"$ZERO_ARCHFLAG\"" >&5 -+$as_echo_n "checking if the C compiler supports \"$ZERO_ARCHFLAG\"... " >&6; } - supports=yes - - saved_cflags="$CFLAGS" -@@ -29946,6 +30270,19 @@ - - CFLAGS="$saved_cflags" - -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ C_COMP_SUPPORTS="yes" -+ else -+ C_COMP_SUPPORTS="no" -+ fi -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler supports \"$ZERO_ARCHFLAG\"" >&5 -+$as_echo_n "checking if the C++ compiler supports \"$ZERO_ARCHFLAG\"... " >&6; } -+ supports=yes -+ - saved_cxxflags="$CXXFLAGS" - CXXFLAGS="$CXXFLAG $ZERO_ARCHFLAG" - ac_ext=cpp -@@ -29975,6 +30312,20 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 - $as_echo "$supports" >&6; } - if test "x$supports" = "xyes" ; then -+ CXX_COMP_SUPPORTS="yes" -+ else -+ CXX_COMP_SUPPORTS="no" -+ fi -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if both compilers support \"$ZERO_ARCHFLAG\"" >&5 -+$as_echo_n "checking if both compilers support \"$ZERO_ARCHFLAG\"... " >&6; } -+ supports=no -+ if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then - : - else - ZERO_ARCHFLAG="" -@@ -29985,8 +30336,9 @@ - # Check that the compiler supports -mX (or -qX on AIX) flags - # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does - -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"" >&5 --$as_echo_n "checking if compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"... " >&6; } -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"" >&5 -+$as_echo_n "checking if the C compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"... " >&6; } - supports=yes - - saved_cflags="$CFLAGS" -@@ -30015,6 +30367,19 @@ - - CFLAGS="$saved_cflags" - -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then -+ C_COMP_SUPPORTS="yes" -+ else -+ C_COMP_SUPPORTS="no" -+ fi -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"" >&5 -+$as_echo_n "checking if the C++ compiler supports \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"... " >&6; } -+ supports=yes -+ - saved_cxxflags="$CXXFLAGS" - CXXFLAGS="$CXXFLAG ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" - ac_ext=cpp -@@ -30044,6 +30409,20 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 - $as_echo "$supports" >&6; } - if test "x$supports" = "xyes" ; then -+ CXX_COMP_SUPPORTS="yes" -+ else -+ CXX_COMP_SUPPORTS="no" -+ fi -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if both compilers support \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"" >&5 -+$as_echo_n "checking if both compilers support \"${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}\"... " >&6; } -+ supports=no -+ if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 -+$as_echo "$supports" >&6; } -+ if test "x$supports" = "xyes" ; then - COMPILER_SUPPORTS_TARGET_BITS_FLAG=true - else - COMPILER_SUPPORTS_TARGET_BITS_FLAG=false -diff --git a/common/autoconf/hotspot-spec.gmk.in b/common/autoconf/hotspot-spec.gmk.in ---- a/common/autoconf/hotspot-spec.gmk.in -+++ b/common/autoconf/hotspot-spec.gmk.in -@@ -1,5 +1,5 @@ - # --# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. - # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - # - # This code is free software; you can redistribute it and/or modify it -@@ -109,7 +109,8 @@ - MT:=@HOTSPOT_MT@ - RC:=@HOTSPOT_RC@ - --EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@ -+EXTRA_CFLAGS=@LEGACY_EXTRA_CFLAGS@ $(NO_DELETE_NULL_POINTER_CHECKS_CFLAG) \ -+ $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG) - EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@ - EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@ - -diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in ---- a/common/autoconf/spec.gmk.in -+++ b/common/autoconf/spec.gmk.in -@@ -331,6 +331,10 @@ - CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@ - CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@ - -+NO_DELETE_NULL_POINTER_CHECKS_CFLAG=@NO_DELETE_NULL_POINTER_CHECKS_CFLAG@ -+NO_LIFETIME_DSE_CFLAG=@NO_LIFETIME_DSE_CFLAG@ -+CXXSTD_CXXFLAG=@CXXSTD_CXXFLAG@ -+ - CXX:=@FIXPATH@ @CCACHE@ @CXX@ - #CXXFLAGS:=@CXXFLAGS@ - -diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4 ---- a/common/autoconf/toolchain.m4 -+++ b/common/autoconf/toolchain.m4 -@@ -23,9 +23,59 @@ - # questions. - # - -+# Prepare the system so that TOOLCHAIN_CHECK_COMPILER_VERSION can be called. -+# Must have CC_VERSION_NUMBER and CXX_VERSION_NUMBER. -+AC_DEFUN([TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS], -+[ -+ if test "x$CC_VERSION" != "x$CXX_VERSION"; then -+ AC_MSG_WARN([C and C++ compiler has different version numbers, $CC_VERSION vs $CXX_VERSION.]) -+ AC_MSG_WARN([This typically indicates a broken setup, and is not supported]) -+ fi -+ -+ # We only check CC_VERSION since we assume CXX_VERSION is equal. -+ if [ [[ "$CC_VERSION" =~ (.*\.){3} ]] ]; then -+ AC_MSG_WARN([C compiler version number has more than three parts (X.Y.Z): $CC_VERSION. Comparisons might be wrong.]) -+ fi -+ -+ if [ [[ "$CC_VERSION" =~ [0-9]{6} ]] ]; then -+ AC_MSG_WARN([C compiler version number has a part larger than 99999: $CC_VERSION. Comparisons might be wrong.]) -+ fi -+ -+ COMPARABLE_ACTUAL_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", [$]1, [$]2, [$]3) }' <<< "$CC_VERSION"` -+]) -+ -+# Check if the configured compiler (C and C++) is of a specific version or -+# newer. TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS must have been called before. -+# -+# Arguments: -+# $1: The version string to check against the found version -+# $2: block to run if the compiler is at least this version (>=) -+# $3: block to run if the compiler is older than this version (<) -+AC_DEFUN([TOOLCHAIN_CHECK_COMPILER_VERSION], -+[ -+ REFERENCE_VERSION=$1 -+ -+ if [ [[ "$REFERENCE_VERSION" =~ (.*\.){3} ]] ]; then -+ AC_MSG_ERROR([Internal error: Cannot compare to $REFERENCE_VERSION, only three parts (X.Y.Z) is supported]) -+ fi -+ -+ if [ [[ "$REFERENCE_VERSION" =~ [0-9]{6} ]] ]; then -+ AC_MSG_ERROR([Internal error: Cannot compare to $REFERENCE_VERSION, only parts < 99999 is supported]) -+ fi -+ -+ # Version comparison method inspired by http://stackoverflow.com/a/24067243 -+ COMPARABLE_REFERENCE_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", [$]1, [$]2, [$]3) }' <<< "$REFERENCE_VERSION"` -+ -+ if test $COMPARABLE_ACTUAL_VERSION -ge $COMPARABLE_REFERENCE_VERSION ; then -+ m4_ifval([$2], [$2], [:]) -+ else -+ m4_ifval([$3], [$3], [:]) -+ fi -+]) -+ - # $1 = compiler to test (CC or CXX) - # $2 = human readable name of compiler (C or C++) --AC_DEFUN([TOOLCHAIN_CHECK_COMPILER_VERSION], -+AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION], - [ - COMPILER=[$]$1 - COMPILER_NAME=$2 -@@ -81,7 +131,8 @@ - - # First line typically looks something like: - # gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2 -- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* \(@<:@1-9@:>@@<:@0-9.@:>@*\)/\1/p"` -+ COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | \ -+ $SED -e 's/^.* \(@<:@1-9@:>@\.@<:@0-9.@:>@*\)@<:@^0-9.@:>@.*$/\1/'` - COMPILER_VENDOR=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^\(.*\) @<:@1-9@:>@@<:@0-9.@:>@*/\1/p"` - fi - # This sets CC_VERSION or CXX_VERSION. (This comment is a grep marker) -@@ -181,7 +232,7 @@ - AC_MSG_RESULT([no, keeping $1]) - $1="$TEST_COMPILER" - fi -- TOOLCHAIN_CHECK_COMPILER_VERSION([$1], [$COMPILER_NAME]) -+ TOOLCHAIN_EXTRACT_COMPILER_VERSION([$1], [$COMPILER_NAME]) - ]) - - -@@ -385,6 +436,12 @@ - # Now that we have resolved CXX ourself, let autoconf have its go at it - AC_PROG_CXX([$CXX]) - -+ # This is the compiler version number on the form X.Y[.Z] -+ AC_SUBST(CC_VERSION) -+ AC_SUBST(CXX_VERSION) -+ -+ TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS -+ - ### Locate other tools - - if test "x$OPENJDK_TARGET_OS" = xmacosx; then -@@ -507,7 +564,8 @@ - BASIC_FIXUP_EXECUTABLE(DUMPBIN) - - COMPILER_TYPE=CL -- CCXXFLAGS="$CCXXFLAGS -nologo" -+ # silence copyright notice and other headers. -+ COMMON_CCXXFLAGS="$COMMON_CCXXFLAGS -nologo" - ]) - AC_SUBST(RC_FLAGS) - AC_SUBST(COMPILER_TYPE) -@@ -954,12 +1012,20 @@ - # - # Now setup the CFLAGS and LDFLAGS for the JDK build. - # Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build. -+ # CFLAGS_JDK - C Compiler flags -+ # CXXFLAGS_JDK - C++ Compiler flags -+ # COMMON_CCXXFLAGS_JDK - common to C and C++ - # - case $COMPILER_NAME in - gcc ) -- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \ -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \ - -pipe \ - -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" -+ CXXSTD_CXXFLAG="-std=gnu++98" -+ TOOLCHAIN_CXX_COMPILER_CHECK_ARGUMENTS([$CXXSTD_CXXFLAG $CFLAGS_WARNINGS_ARE_ERRORS], -+ [], [CXXSTD_CXXFLAG=""]) -+ CXXFLAGS_JDK="${CXXFLAGS_JDK} ${CXXSTD_CXXFLAG}" -+ AC_SUBST([CXXSTD_CXXFLAG]) - case $OPENJDK_TARGET_CPU_ARCH in - arm ) - # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing -@@ -969,16 +1035,17 @@ - # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing - ;; - * ) -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -fno-omit-frame-pointer" - CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing" - ;; - esac -+ TOOLCHAIN_CHECK_COMPILER_VERSION(6, TOOLCHAIN_SETUP_GCC6_COMPILER_FLAGS) - ;; - ossc ) -- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS" - case $OPENJDK_TARGET_CPU_ARCH in - x86 ) -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB" - CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE" - ;; - esac -@@ -997,16 +1064,16 @@ - LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK" - ;; - cl ) -- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \ -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \ - -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \ - -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \ - -DWIN32 -DIAL" - case $OPENJDK_TARGET_CPU in - x86 ) -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_X86_ -Dx86" - ;; - x86_64 ) -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_AMD64_ -Damd64" - ;; - esac - ;; -@@ -1036,7 +1103,7 @@ - ;; - esac - -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK $ADD_LP64" - - # The package path is used only on macosx? - PACKAGE_PATH=/opt/local -@@ -1049,27 +1116,27 @@ - # Note: -Dmacro is the same as #define macro 1 - # -Dmacro= is the same as #define macro - if test "x$OPENJDK_TARGET_OS" = xsolaris; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN=" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_LITTLE_ENDIAN=" - else -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_LITTLE_ENDIAN" - fi - else -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_BIG_ENDIAN" - fi - if test "x$OPENJDK_TARGET_OS" = xlinux; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DLINUX" - fi - if test "x$OPENJDK_TARGET_OS" = xwindows; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DWINDOWS" - fi - if test "x$OPENJDK_TARGET_OS" = xsolaris; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DSOLARIS" - fi - if test "x$OPENJDK_TARGET_OS" = xaix; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DAIX -DPPC64" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DAIX -DPPC64" - fi - if test "x$OPENJDK_TARGET_OS" = xmacosx; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" - # Setting these parameters makes it an error to link to macosx APIs that are - # newer than the given OS version and makes the linked binaries compatible even - # if built on a newer version of the OS. -@@ -1079,25 +1146,25 @@ - # The macro takes the version with no dots, ex: 1070 - # Let the flags variables get resolved in make for easier override on make - # command line. -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" - LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" - fi - if test "x$OPENJDK_TARGET_OS" = xbsd; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE" - fi - if test "x$DEBUG_LEVEL" = xrelease; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DNDEBUG" - if test "x$OPENJDK_TARGET_OS" = xsolaris; then -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DTRIMMED" - fi - else -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DDEBUG" - fi - -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY" -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY" -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'" - -- CCXXFLAGS_JDK="$CCXXFLAGS_JDK \ -+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \ - -I${JDK_OUTPUTDIR}/include \ - -I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \ - -I${JDK_TOPDIR}/src/share/javavm/export \ -@@ -1106,12 +1173,12 @@ - -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/native/common" - - # The shared libraries are compiled using the picflag. -- CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" -- CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA " -+ CFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" -+ CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA " - - # Executable flags -- CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK" -- CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK" -+ CFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK" -+ CXXFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK" - - # Now this is odd. The JDK native libraries have to link against libjvm.so - # On 32-bit machines there is normally two distinct libjvm.so:s, client and server. -@@ -1196,13 +1263,13 @@ - ]) - - --# TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE], --# [RUN-IF-FALSE]) -+# TOOLCHAIN_C_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE], -+# [RUN-IF-FALSE]) - # ------------------------------------------------------------ --# Check that the c and c++ compilers support an argument --AC_DEFUN([TOOLCHAIN_COMPILER_CHECK_ARGUMENTS], -+# Check that the C compiler supports an argument -+AC_DEFUN([TOOLCHAIN_C_COMPILER_CHECK_ARGUMENTS], - [ -- AC_MSG_CHECKING([if compiler supports "$1"]) -+ AC_MSG_CHECKING([if the C compiler supports "$1"]) - supports=yes - - saved_cflags="$CFLAGS" -@@ -1213,6 +1280,23 @@ - AC_LANG_POP([C]) - CFLAGS="$saved_cflags" - -+ AC_MSG_RESULT([$supports]) -+ if test "x$supports" = "xyes" ; then -+ m4_ifval([$2], [$2], [:]) -+ else -+ m4_ifval([$3], [$3], [:]) -+ fi -+]) -+ -+# TOOLCHAIN_CXX_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE], -+# [RUN-IF-FALSE]) -+# ------------------------------------------------------------ -+# Check that the C++ compiler supports an argument -+AC_DEFUN([TOOLCHAIN_CXX_COMPILER_CHECK_ARGUMENTS], -+[ -+ AC_MSG_CHECKING([if the C++ compiler supports "$1"]) -+ supports=yes -+ - saved_cxxflags="$CXXFLAGS" - CXXFLAGS="$CXXFLAG $1" - AC_LANG_PUSH([C++]) -@@ -1220,7 +1304,32 @@ - [supports=no]) - AC_LANG_POP([C++]) - CXXFLAGS="$saved_cxxflags" -+ -+ AC_MSG_RESULT([$supports]) -+ if test "x$supports" = "xyes" ; then -+ m4_ifval([$2], [$2], [:]) -+ else -+ m4_ifval([$3], [$3], [:]) -+ fi -+]) - -+# TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE], -+# [RUN-IF-FALSE]) -+# ------------------------------------------------------------ -+# Check that the C and C++ compilers support an argument -+AC_DEFUN([TOOLCHAIN_COMPILER_CHECK_ARGUMENTS], -+[ -+ TOOLCHAIN_C_COMPILER_CHECK_ARGUMENTS([$1], -+ [C_COMP_SUPPORTS="yes"], -+ [C_COMP_SUPPORTS="no"]) -+ TOOLCHAIN_CXX_COMPILER_CHECK_ARGUMENTS([$1], -+ [CXX_COMP_SUPPORTS="yes"], -+ [CXX_COMP_SUPPORTS="no"]) -+ -+ AC_MSG_CHECKING([if both compilers support "$1"]) -+ supports=no -+ if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi -+ - AC_MSG_RESULT([$supports]) - if test "x$supports" = "xyes" ; then - m4_ifval([$2], [$2], [:]) -@@ -1311,3 +1420,20 @@ - AC_SUBST(JT_HOME) - AC_SUBST(JTREGEXE) - ]) -+ -+AC_DEFUN_ONCE([TOOLCHAIN_SETUP_GCC6_COMPILER_FLAGS], -+[ -+ # These flags are required for GCC 6 builds as undefined behaviour in OpenJDK code -+ # runs afoul of the more aggressive versions of these optimisations. -+ # Notably, value range propagation now assumes that the this pointer of C++ -+ # member functions is non-null. -+ NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks" -+ TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror], -+ [], [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""]) -+ AC_SUBST([NO_DELETE_NULL_POINTER_CHECKS_CFLAG]) -+ NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse" -+ TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$NO_LIFETIME_DSE_CFLAG -Werror], -+ [], [NO_LIFETIME_DSE_CFLAG=""]) -+ CFLAGS_JDK="${CFLAGS_JDK} ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}" -+ AC_SUBST([NO_LIFETIME_DSE_CFLAG]) -+]) Deleted: install_jdk8-openjdk.sh =================================================================== --- install_jdk8-openjdk.sh 2018-02-27 12:44:09 UTC (rev 317582) +++ install_jdk8-openjdk.sh 2018-02-27 12:45:26 UTC (rev 317583) @@ -1,50 +0,0 @@ -THIS_JDK='java-8-openjdk' - -fix_default() { - if [ ! -x /usr/bin/java ]; then - /usr/bin/archlinux-java unset - echo "" - else - /usr/bin/archlinux-java get - fi -} - -post_install() { - default=$(fix_default) - case ${default} in - "" | ${THIS_JDK}/jre) - /usr/bin/archlinux-java set ${THIS_JDK} - ;; - ${THIS_JDK}) - # Nothing - ;; - *) - echo "Default Java environment is already set to '${default}'" - echo "See 'archlinux-java help' to change it" - ;; - esac - - if [ ! -f /etc/ssl/certs/java/cacerts ]; then - /usr/bin/update-ca-trust - fi -} - -post_upgrade() { - default=$(fix_default) - if [ -z "${default}" -o "x${default}" = "x${THIS_JDK}/jre" ]; then - /usr/bin/archlinux-java set ${THIS_JDK} - fi - - if [ ! -f /etc/ssl/certs/java/cacerts ]; then - /usr/bin/update-ca-trust - fi -} - -pre_remove() { - if [ "x$(fix_default)" = "x${THIS_JDK}" ]; then - /usr/bin/archlinux-java unset - if [ -x /usr/lib/jvm/${THIS_JDK}/jre/bin/java ]; then - /usr/bin/archlinux-java set ${THIS_JDK}/jre - fi - fi -} Copied: java8-openjdk/repos/extra-x86_64/install_jdk8-openjdk.sh (from rev 317582, java8-openjdk/trunk/install_jdk8-openjdk.sh) =================================================================== --- install_jdk8-openjdk.sh (rev 0) +++ install_jdk8-openjdk.sh 2018-02-27 12:45:26 UTC (rev 317583) @@ -0,0 +1,50 @@ +THIS_JDK='java-8-openjdk' + +fix_default() { + if [ ! -x /usr/bin/java ]; then + /usr/bin/archlinux-java unset + echo "" + else + /usr/bin/archlinux-java get + fi +} + +post_install() { + default=$(fix_default) + case ${default} in + "" | ${THIS_JDK}/jre) + /usr/bin/archlinux-java set ${THIS_JDK} + ;; + ${THIS_JDK}) + # Nothing + ;; + *) + echo "Default Java environment is already set to '${default}'" + echo "See 'archlinux-java help' to change it" + ;; + esac + + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/bin/update-ca-trust + fi +} + +post_upgrade() { + default=$(fix_default) + if [ -z "${default}" -o "x${default}" = "x${THIS_JDK}/jre" ]; then + /usr/bin/archlinux-java set ${THIS_JDK} + fi + + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/bin/update-ca-trust + fi +} + +pre_remove() { + if [ "x$(fix_default)" = "x${THIS_JDK}" ]; then + /usr/bin/archlinux-java unset + if [ -x /usr/lib/jvm/${THIS_JDK}/jre/bin/java ]; then + /usr/bin/archlinux-java set ${THIS_JDK}/jre + fi + fi +} Deleted: install_jre8-openjdk-headless.sh =================================================================== --- install_jre8-openjdk-headless.sh 2018-02-27 12:44:09 UTC (rev 317582) +++ install_jre8-openjdk-headless.sh 2018-02-27 12:45:26 UTC (rev 317583) @@ -1,48 +0,0 @@ -THIS_JRE='java-8-openjdk/jre' - -fix_default() { - if [ ! -x /usr/bin/java ]; then - /usr/bin/archlinux-java unset - echo "" - else - /usr/bin/archlinux-java get - fi -} - -post_install() { - default=$(fix_default) - case ${default} in - "") - /usr/bin/archlinux-java set ${THIS_JRE} - ;; - ${THIS_JRE} | ${THIS_JRE/\/jre}) - # Nothing - ;; - *) - echo "Default Java environment is already set to '${default}'" - echo "See 'archlinux-java help' to change it" - ;; - esac - - if [ ! -f /etc/ssl/certs/java/cacerts ]; then - /usr/bin/update-ca-trust - fi -} - -post_upgrade() { - if [ -z $(fix_default) ]; then - /usr/bin/archlinux-java set ${THIS_JRE} - fi - - if [ ! -f /etc/ssl/certs/java/cacerts ]; then - /usr/bin/update-ca-trust - fi -} - -pre_remove() { - default=$(fix_default) - if [ "x${default/\/jre}" = "x${THIS_JRE/\/jre}" ]; then - /usr/bin/archlinux-java unset - echo "No Java environment is set as default anymore" - fi -} Copied: java8-openjdk/repos/extra-x86_64/install_jre8-openjdk-headless.sh (from rev 317582, java8-openjdk/trunk/install_jre8-openjdk-headless.sh) =================================================================== --- install_jre8-openjdk-headless.sh (rev 0) +++ install_jre8-openjdk-headless.sh 2018-02-27 12:45:26 UTC (rev 317583) @@ -0,0 +1,48 @@ +THIS_JRE='java-8-openjdk/jre' + +fix_default() { + if [ ! -x /usr/bin/java ]; then + /usr/bin/archlinux-java unset + echo "" + else + /usr/bin/archlinux-java get + fi +} + +post_install() { + default=$(fix_default) + case ${default} in + "") + /usr/bin/archlinux-java set ${THIS_JRE} + ;; + ${THIS_JRE} | ${THIS_JRE/\/jre}) + # Nothing + ;; + *) + echo "Default Java environment is already set to '${default}'" + echo "See 'archlinux-java help' to change it" + ;; + esac + + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/bin/update-ca-trust + fi +} + +post_upgrade() { + if [ -z $(fix_default) ]; then + /usr/bin/archlinux-java set ${THIS_JRE} + fi + + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/bin/update-ca-trust + fi +} + +pre_remove() { + default=$(fix_default) + if [ "x${default/\/jre}" = "x${THIS_JRE/\/jre}" ]; then + /usr/bin/archlinux-java unset + echo "No Java environment is set as default anymore" + fi +} Deleted: install_jre8-openjdk.sh =================================================================== --- install_jre8-openjdk.sh 2018-02-27 12:44:09 UTC (rev 317582) +++ install_jre8-openjdk.sh 2018-02-27 12:45:26 UTC (rev 317583) @@ -1,55 +0,0 @@ -THIS_JRE='java-8-openjdk/jre' - -fix_default() { - if [ ! -x /usr/bin/java ]; then - /usr/bin/archlinux-java unset - echo "" - else - /usr/bin/archlinux-java get - fi -} - -post_install() { - default=$(fix_default) - case ${default} in - "") - /usr/bin/archlinux-java set ${THIS_JRE} - ;; - ${THIS_JRE} | ${THIS_JRE/\/jre}) - # Nothing - ;; - *) - echo "Default Java environment is already set to '${default}'" - echo "See 'archlinux-java help' to change it" - ;; - esac - - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null - echo "when you use a non-reparenting window manager," - echo "set _JAVA_AWT_WM_NONREPARENTING=1 in /etc/profile.d/jre.sh" - -# update-desktop-database -q -} - -post_upgrade() { - if [ -z $(fix_default) ]; then - /usr/bin/archlinux-java set ${THIS_JRE} - fi - - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null - -# update-desktop-database -q -} - -pre_remove() { - if [ "x$(fix_default)" = "x${THIS_JRE/\/jre}" ]; then - /usr/bin/archlinux-java unset - echo "No Java environment is set as default anymore" - fi -} - -post_remove() { - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null - -# update-desktop-database -q -} Copied: java8-openjdk/repos/extra-x86_64/install_jre8-openjdk.sh (from rev 317582, java8-openjdk/trunk/install_jre8-openjdk.sh) =================================================================== --- install_jre8-openjdk.sh (rev 0) +++ install_jre8-openjdk.sh 2018-02-27 12:45:26 UTC (rev 317583) @@ -0,0 +1,55 @@ +THIS_JRE='java-8-openjdk/jre' + +fix_default() { + if [ ! -x /usr/bin/java ]; then + /usr/bin/archlinux-java unset + echo "" + else + /usr/bin/archlinux-java get + fi +} + +post_install() { + default=$(fix_default) + case ${default} in + "") + /usr/bin/archlinux-java set ${THIS_JRE} + ;; + ${THIS_JRE} | ${THIS_JRE/\/jre}) + # Nothing + ;; + *) + echo "Default Java environment is already set to '${default}'" + echo "See 'archlinux-java help' to change it" + ;; + esac + + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + echo "when you use a non-reparenting window manager," + echo "set _JAVA_AWT_WM_NONREPARENTING=1 in /etc/profile.d/jre.sh" + +# update-desktop-database -q +} + +post_upgrade() { + if [ -z $(fix_default) ]; then + /usr/bin/archlinux-java set ${THIS_JRE} + fi + + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + +# update-desktop-database -q +} + +pre_remove() { + if [ "x$(fix_default)" = "x${THIS_JRE/\/jre}" ]; then + /usr/bin/archlinux-java unset + echo "No Java environment is set as default anymore" + fi +} + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + +# update-desktop-database -q +}