#!/bin/sh set -eu # From: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/multiprocessing.eclass makeopts_jobs() { # This assumes the first .* will be more greedy than the second .* # since POSIX doesn't specify a non-greedy match (i.e. ".*?"). local jobs=$(echo " $MAKEFLAGS " | sed -r -n \ -e 's:.*[[:space:]](-j|--jobs[=[:space:]])[[:space:]]*([0-9]+).*:\2:p' \ -e 's:.*[[:space:]](-j|--jobs)[[:space:]].*:999:p') echo ${jobs:-1} } version_icedtea7=2.6.17 dir_download="$PWD/download" mkdir -p build; cd build dir_install="$PWD/install-icedtea7" # Prepare source tar xf "$dir_download/icedtea-$version_icedtea7.tar.xz" cd "icedtea-$version_icedtea7" cp ../../icedtea7-fixes.patch . for part in corba.tar.bz2 hotspot.tar.bz2 jaxp.tar.bz2 jaxws.tar.bz2 jdk.tar.bz2 langtools.tar.bz2 openjdk.tar.bz2; do cp "$dir_download/icedtea-$version_icedtea7-$part" "$part" done unset JAVA_HOME BOOTDIR ALT_BOOTDIR # openjdk-boot/hotspot/make/linux/makefiles/sa.make export PATH="$PWD/../install-ant/bin:$PWD/../install-gcc/lib/jvm/bin:$PWD/../install-gcc/bin:$PATH" # Configure source ./configure \ --prefix="$dir_install" \ --with-jdk-home="$PWD/../install-gcc/lib/jvm" \ --with-parallel-jobs="$(makeopts_jobs)" \ --disable-docs \ --disable-downloading \ --without-rhino \ --disable-system-gtk \ --disable-system-kerberos \ --disable-system-pcsc \ --disable-system-sctp # Build and install make DISTRIBUTION_PATCHES=icedtea7-fixes.patch make install