diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-12-02 08:27:24 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-12-02 12:09:11 +0000 |
commit | be89decc6738c6ff1dc0a5d51f8e6311a1ad641f (patch) | |
tree | 486a03b193ff608846916dffb986a6dde85df1e8 /community | |
parent | b6cc79b684e58f0c2a197193b980e42a33bec828 (diff) | |
download | aports-be89decc6738c6ff1dc0a5d51f8e6311a1ad641f.tar.bz2 aports-be89decc6738c6ff1dc0a5d51f8e6311a1ad641f.tar.xz |
community/openjdk7: move from main and update icedtea to 2.6.3
Diffstat (limited to 'community')
-rw-r--r-- | community/openjdk7/APKBUILD | 286 | ||||
-rw-r--r-- | community/openjdk7/icedtea-hotspot-musl.patch | 55 | ||||
-rw-r--r-- | community/openjdk7/icedtea-hotspot-noagent-musl.patch | 54 | ||||
-rw-r--r-- | community/openjdk7/icedtea-hotspot-uclibc-fixes.patch | 93 | ||||
-rw-r--r-- | community/openjdk7/icedtea-jdk-execinfo.patch | 40 | ||||
-rw-r--r-- | community/openjdk7/icedtea-jdk-fix-build.patch | 56 | ||||
-rw-r--r-- | community/openjdk7/icedtea-jdk-fix-ipv6-init.patch | 42 | ||||
-rw-r--r-- | community/openjdk7/icedtea-jdk-musl.patch | 116 | ||||
-rw-r--r-- | community/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch | 84 | ||||
-rw-r--r-- | community/openjdk7/icedtea-jdk-no-soname.patch | 12 |
10 files changed, 838 insertions, 0 deletions
diff --git a/community/openjdk7/APKBUILD b/community/openjdk7/APKBUILD new file mode 100644 index 0000000000..5cbfe45823 --- /dev/null +++ b/community/openjdk7/APKBUILD @@ -0,0 +1,286 @@ +# Contributor: Timo Teras <timo.teras@iki.fi> +# Maintainer: Timo Teras <timo.teras@iki.fi> +pkgname=openjdk7 +_icedteaver=2.6.3 +# pkgver is <JDK version>.<JDK update> +# check icedtea JDK when updating +pkgver=7.91.$_icedteaver +pkgrel=0 +pkgdesc="Sun OpenJDK 7 via IcedTea" +url="http://icedtea.classpath.org/" +arch="all" +license="GPL2 with Classpath" +depends="$pkgname-jre" +options="sover-namecheck" +makedepends="bash findutils tar zip file paxmark gawk util-linux libxslt + autoconf automake linux-headers + ca-certificates + nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev + lcms2-dev libxp-dev libxtst-dev libxinerama-dev zlib-dev + libxrender-dev alsa-lib-dev freetype-dev fontconfig-dev + gtk+2.0-dev krb5-dev attr-dev pcsc-lite-dev lksctp-tools-dev" +install="" + +# upstream binary versions +RHINO_VER=1.7.7 +ANT_VER=1.9.6 + +case $CARCH in +x86) _jarch=i386;; +x86_64) _jarch=amd64;; +arm*) _jarch=arm + # openjdk has quite a bit of arm assembly producing textrels + # and it's non trivial to fix. allow it for now. + options="$options textrels";; +esac + +INSTALL_BASE=/usr/lib/jvm/java-1.7-openjdk +_jrelib="$INSTALL_BASE/jre/lib/$_jarch" + +# exclude xawt from ldpath to avoid duplicate provides for libmawt.so +# (also in headless). in future this should be a virtual provides. +ldpath="$_jrelib:$_jrelib/native_threads:$_jrelib/headless:$_jrelib/server:$_jrelib/jli" +sonameprefix="$pkgname:" + +subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase + $pkgname-doc:doc" + +if [ "$BOOTSTRAP" != "no" ]; then + makedepends="$makedepends java-gcj-compat" + BOOTSTRAP_JAVA_HOME=/usr/lib/jvm/java-1.5-gcj/ +else + makedepends="$makedepends $pkgname" + BOOTSTRAP_JAVA_HOME="$INSTALL_BASE" +fi + +_dropsver=$_icedteaver +_dropsurl=http://icedtea.classpath.org/download/drops/icedtea7/$_dropsver + +source="http://icedtea.classpath.org/download/source/icedtea-$_icedteaver.tar.gz + saveas-$_dropsurl/openjdk.tar.bz2/openjdk-$_dropsver.tar.bz2 + saveas-$_dropsurl/corba.tar.bz2/corba-$_dropsver.tar.bz2 + saveas-$_dropsurl/jaxp.tar.bz2/jaxp-$_dropsver.tar.bz2 + saveas-$_dropsurl/jaxws.tar.bz2/jaxws-$_dropsver.tar.bz2 + saveas-$_dropsurl/jdk.tar.bz2/jdk-$_dropsver.tar.bz2 + saveas-$_dropsurl/langtools.tar.bz2/langtools-$_dropsver.tar.bz2 + saveas-$_dropsurl/hotspot.tar.bz2/hotspot-$_dropsver.tar.bz2 + http://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VER-bin.tar.gz + https://github.com/mozilla/rhino/releases/download/Rhino$(echo ${RHINO_VER} | sed s'/\./_/g')_RELEASE/rhino$RHINO_VER.zip + + icedtea-hotspot-musl.patch + icedtea-hotspot-noagent-musl.patch + icedtea-hotspot-uclibc-fixes.patch + icedtea-jdk-fix-build.patch + icedtea-jdk-execinfo.patch + icedtea-jdk-fix-ipv6-init.patch + icedtea-jdk-musl.patch + icedtea-jdk-no-soname.patch + " + +# icedtea6-1.9.7-generate_cacerts-1.patch + +_builddir="$srcdir/icedtea-$_icedteaver" + +unpack() { + if [ -z "$force" ]; then + verify || return 1 + initdcheck || return 1 + fi + mkdir -p "$srcdir" + msg "Unpacking sources..." + tar -C "$srcdir" -zxf icedtea-$_icedteaver.tar.gz || return 1 + tar -C "$srcdir" -zxf apache-ant-$ANT_VER-bin.tar.gz || return 1 + unzip -o -q "rhino$RHINO_VER.zip" -d "$srcdir" || return 1 +} + +prepare() { + cd "$_builddir" + + # Busybox sha256 does not support longopts + sed -e "s/--check/-c/g" -i Makefile.am + + for patch in $source; do + case $patch in + icedtea-*.patch) + cp ../$patch patches + ;; + *.patch) + msg "Applying patch $patch" + patch -p1 -i "$srcdir"/$patch || return 1 + ;; + esac + done + + ./autogen.sh +} + +build() { + [ -z "$JOBS" ] && export JOBS=`echo $MAKEFLAGS | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p'` + export ALT_PARALLEL_COMPILE_JOBS="${JOBS:-2}" + export HOTSPOT_BUILD_JOBS="${JOBS:-2}" + + export JAVA_HOME=$BOOTSTRAP_JAVA_HOME + export PATH=$JAVA_HOME/bin:$srcdir/apache-ant-$ANT_VER/bin:$PATH + export DISTRIBUTION_PATCHES="" + + local patch + for patch in $source; do + case $patch in + icedtea-*.patch) + export DISTRIBUTION_PATCHES="$DISTRIBUTION_PATCHES patches/$patch" + ;; + esac + done + echo "icedtea patches: $DISTRIBUTION_PATCHES" + + cd "$_builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=$INSTALL_BASE \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --with-parallel-jobs=${JOBS:-2} \ + --disable-dependency-tracking \ + --disable-downloading \ + --with-rhino=$srcdir/rhino$RHINO_VER/js.jar \ + --with-openjdk-src-zip=$srcdir/openjdk-$_dropsver.tar.bz2 \ + --with-hotspot-src-zip=$srcdir/hotspot-$_dropsver.tar.bz2 \ + --with-corba-src-zip=$srcdir/corba-$_dropsver.tar.bz2 \ + --with-jaxp-src-zip=$srcdir/jaxp-$_dropsver.tar.bz2 \ + --with-jaxws-src-zip=$srcdir/jaxws-$_dropsver.tar.bz2 \ + --with-jdk-src-zip=$srcdir/jdk-$_dropsver.tar.bz2 \ + --with-langtools-src-zip=$srcdir/langtools-$_dropsver.tar.bz2 \ + --with-pax=paxmark \ + --with-jdk-home=$BOOTSTRAP_JAVA_HOME \ + --with-pkgversion="Alpine ${pkgver}-r${pkgrel}" \ + || return 1 + + make || return 1 +} + +package() { + mkdir -p "$pkgdir"/$INSTALL_BASE + cp -a "$_builddir"/openjdk.build/j2sdk-image/* "$pkgdir"/$INSTALL_BASE + rm "$pkgdir"/$INSTALL_BASE/src.zip + + # pax mark again (due to fakeroot xattr handling bug) + $_builddir/pax-mark-vm "$pkgdir"/$INSTALL_BASE +} + +jrelib() { + pkgdesc="OpenJDK 7 Java Runtime (class libraries)" + arch="noarch" + depends="" + + for A in jre/lib/zi jre/lib/images jre/lib/*.jar jre/lib/security \ + jre/lib/ext/*.jar jre/lib/cmm jre/ASSEMBLY_EXCEPTION \ + jre/THIRD_PARTY_README jre/LICENSE ; do + dirname=${A%/*} + mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname + mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname + done +} + +jrebase() { + pkgdesc="OpenJDK 7 Java Runtime (no GUI support)" + depends="$pkgname-jre-lib java-common" + # manually provide this to avoid clash with libgcj's libjvm.so + provides="so:openjdk7:libjvm.so=0" + + mkdir -p "$subpkgdir"/$INSTALL_BASE/bin + + for A in java orbd rmid servertool unpack200 keytool \ + pack200 rmiregistry tnameserv ; do + mv "$pkgdir"/$INSTALL_BASE/bin/$A "$subpkgdir"/$INSTALL_BASE/bin + done + + # rest of the jre subdir (which were not taken by -jre subpkg) + mv "$pkgdir"/$INSTALL_BASE/jre "$subpkgdir"/$INSTALL_BASE + + # pax mark again (due to fakeroot xattr handling bug) + $_builddir/pax-mark-vm "$subpkgdir"/$INSTALL_BASE +} + +jre() { + pkgdesc="OpenJDK 7 Java Runtime" + # manually depend to avoid clash with libgcj's libjvm.so + depends="so:openjdk7:libjvm.so=0" + + mkdir -p "$subpkgdir" + for A in jre/bin/policytool \ + bin/appletviewer \ + bin/policytool \ + jre/lib/$_jarch/xawt \ + jre/lib/$_jarch/libsplashscreen.so ; do + dirname=${A%/*} + mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname + mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname + done + + # pax mark again (due to fakeroot xattr handling bug) + $_builddir/pax-mark-vm "$subpkgdir"/$INSTALL_BASE +} + +doc() { + default_doc + + mkdir -p "$subpkgdir"/$INSTALL_BASE/ + mv "$pkgdir"/$INSTALL_BASE/man "$subpkgdir"/$INSTALL_BASE/ +} +md5sums="7bbc8dc603bf5abc87fe8c7ffcafeabe icedtea-2.6.3.tar.gz +be68af0132b4d6ff4faa089dbd92d840 openjdk-2.6.3.tar.bz2 +a637ba113153688c3f1d04abd2062f3b corba-2.6.3.tar.bz2 +0ecc6d3156432e7a682f66d55c749d37 jaxp-2.6.3.tar.bz2 +78b8a041cdc667598a2917ff951447a0 jaxws-2.6.3.tar.bz2 +a4502a9220ae2f392fda6b95e138aec1 jdk-2.6.3.tar.bz2 +ea84e3944cda222a213362ff06af6e58 langtools-2.6.3.tar.bz2 +5303095889c786b679c13d2331461f86 hotspot-2.6.3.tar.bz2 +f1d2e99df927a141c355210d55fe4d32 apache-ant-1.9.6-bin.tar.gz +3f68c59471170f7bd574828e01b33a09 rhino1.7.7.zip +f87dd2c4c3c97fc3ac33080a65ca9e14 icedtea-hotspot-musl.patch +bf8b50e157d80a8b884c1aa4f8124812 icedtea-hotspot-noagent-musl.patch +43023861c5f6efc3139a834aa3ec0476 icedtea-hotspot-uclibc-fixes.patch +07c7ab583808e8c8ceb46aff9c265aa4 icedtea-jdk-fix-build.patch +bd623081d5d2e63694c3649975b12412 icedtea-jdk-execinfo.patch +250b0807b59762670954b132e8f8dfba icedtea-jdk-fix-ipv6-init.patch +66f6e66eb135f0d88847910f6581d323 icedtea-jdk-musl.patch +d014431e70cdabb82a75e4b9ae4c28a9 icedtea-jdk-no-soname.patch" +sha256sums="89183993d3dd794b4e2a428a8a0a35f1ce77c4ae64563e53f3a08c058ea134cc icedtea-2.6.3.tar.gz +9e5d26bb1888a8a1378e078953aa04314d4fb4f263ebbaf7f459110c21f8d46d openjdk-2.6.3.tar.bz2 +1052ae3c70908aa3374818ada320685cb7abdc7bd7bbd3cfb4f26fbbe7435ec6 corba-2.6.3.tar.bz2 +a0e978bc07371901560a746cae492edf0bcb22ddbb9e47b77319ffda1351806b jaxp-2.6.3.tar.bz2 +55897d92e368ac7df3e04d4f235e9dba12ea8264e20d4bd6b68e8c13e5addc1e jaxws-2.6.3.tar.bz2 +583898549b52e958521474db34f2ce535b6a0926c7df1fa99a3f0321b3a109f5 jdk-2.6.3.tar.bz2 +f14716df84e047b19884ac5b0830e87b6cdf1925d0951195255c9124e89df27e langtools-2.6.3.tar.bz2 +dd8f3771439b4d51fa84e3f9b384b80e6656cf1a19ee3492b4f2fe09b37eef0e hotspot-2.6.3.tar.bz2 +90d28c0202871bd9875a5da6d982f362bb3114d346b9d8ae58860b8d3312c21c apache-ant-1.9.6-bin.tar.gz +6ce56b4809d1e7723fd2918dcb093b594f30941194361d4aa2b699f68e897d47 rhino1.7.7.zip +a7922430cb767c8a4baae232c8b2e5f377aeb7cfde0c9901cd7774f078e7f92e icedtea-hotspot-musl.patch +1d937de95323094294c33dd490fc460f78502259eee3bf4b352ac7c7c6cf626f icedtea-hotspot-noagent-musl.patch +0ef7592b8f2c954eda0a6cf4dc4a4010942f35ea426f44e34412be6c9a949745 icedtea-hotspot-uclibc-fixes.patch +33b18e827a13cc46be11a4491deefac171c8c2c4fbdd3e0cb4a5fdafa560f958 icedtea-jdk-fix-build.patch +6cebef19d8eec5a4623a96c37ae71b79d124a10478c1db33ad5fc71bc04b30e9 icedtea-jdk-execinfo.patch +632683ec88a6fb250ef043aae9cace605d0c669b7058f8c47b62b09b03ecc6c5 icedtea-jdk-fix-ipv6-init.patch +b3f82269f69483d3fe137e369f9325003ce7872d886cdf67705b434ce949b5bc icedtea-jdk-musl.patch +6c0bbe710395c4ced1359ab279be6a7c36da5bfb9fd60dc47d920f06a0456d82 icedtea-jdk-no-soname.patch" +sha512sums="a48c7209752ef9705637485bc1752e6311547a1a7235f40a8fad02f51badb23acf493e181a2a500dc41ff055621aae5ab951151d0140d0bd26c218918b4ad715 icedtea-2.6.3.tar.gz +ff6246a8615a2113197eb41839912fa1fdc22d95252846b08ff1539db13715131aac65dc06f9086ffb83daa4558caf1b707091ed5ef058bebb5fffc9b665e472 openjdk-2.6.3.tar.bz2 +8d46557d564917514a14296b06cc35c1d84b1d7be7a3c6cd14770fe76481fcd02af9ff1cc528acde684cc1c5e2a065ce2e5254fae47fdaa3598c6e5ab8779697 corba-2.6.3.tar.bz2 +4a0de68af85699b611e37af0749cccdb0483ac75af1fbd0f63cdc2f0c173605bca77c60bbb41aff916c768b5a29a933fbd8e34d8bd2dd67c22cbd629078061ab jaxp-2.6.3.tar.bz2 +a4cd98bc6c4b1b54dcee68f4a373322e550246ed88412e33d3700631bbd662d390df89047f9cc40f80c10f1ffce81142c301db06ef46bbc16e1245880242151d jaxws-2.6.3.tar.bz2 +9cfe22d2a112d35c8008069c61118f5e289e78a91d325da301949843d5c7b747cdf99fa7c97c09ea4c15a263f47d09b65ee26ca01282aa4d9abed6087a09f656 jdk-2.6.3.tar.bz2 +2aa47e622194e0afd773c3f56df67afa35e69edc7af0c6385edc4d26383a3b1a29d87470c6fb2bc3d3e51b58c0283023ddb53bca4c4bf5504ed22fe457c39bb1 langtools-2.6.3.tar.bz2 +3aadde373e01575cdd1fa3621ab132eb2273d70f08f8a3ad784cd238d8902626f9121c0f8abdddae7a810fb79cf70c0ea3fe7f2c2035fadd2803a2177a305ea9 hotspot-2.6.3.tar.bz2 +8f6ef5e0710814844da53a67de6bbdcd72eca632888f8a5128609dc1af3341c3a74f4251ee191117c362adace73032c0a2900a028f95728a19603590c6255964 apache-ant-1.9.6-bin.tar.gz +fed7cad242eac105d0cc7dc668b4403c424080e17c8684ba02f11810afaa340c25e12526a00e3de5eaf9d93256824e3bb0bbf2051934d8d18d1ee88f44f30ee7 rhino1.7.7.zip +994e8a79a0a23f26d633bf2ce9dad62198c699892f6e7729cc6e509481330399bb2ba736514b516fd2b3dd125fd6c74a127ae7f16d643c3f6a69776737cdb933 icedtea-hotspot-musl.patch +e7a2c1771bb582d427041f8d22e48c0daf8f20d7c0926cbce3549d49c4e949359ee25a35682b486e82f3e390535c950c5beee3bd8d06fb5a717b50f2d9b2a6bc icedtea-hotspot-noagent-musl.patch +822eee0dc4d3ba677a289dfeb3668b536d2d626708390a9d9702fb4144a481fd443a215a0d2041c6026113837aafa4ba0b5e9ead8589d2da6717a238bbc95a5a icedtea-hotspot-uclibc-fixes.patch +213a537de5f011cb39d608515c3413513ac75fb93593f9a9ef4205f71d72bdd8b097c80db185f7b26021d5bb85045b866f34f3478482dc4189972d8614a13458 icedtea-jdk-fix-build.patch +0391970e6a32946aa3cccf38fdef9c0fe2af26cd0df824b98aa2fcfa1bf661d4a68e339bffcfd16f386c565fc68bb28a29208a67d4bad8a0e847ad02bd8becbb icedtea-jdk-execinfo.patch +48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774 icedtea-jdk-fix-ipv6-init.patch +44a35941c80f408d0607e32763b3b6ccee21e1d39886309327d3d74d2900117e4346ef59e77c663fd022fec10ee8f365eeb46c1260014d5765d226ce175ce3c5 icedtea-jdk-musl.patch +bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1 icedtea-jdk-no-soname.patch" diff --git a/community/openjdk7/icedtea-hotspot-musl.patch b/community/openjdk7/icedtea-hotspot-musl.patch new file mode 100644 index 0000000000..41072defe2 --- /dev/null +++ b/community/openjdk7/icedtea-hotspot-musl.patch @@ -0,0 +1,55 @@ +--- openjdk.orig/hotspot/src/os/linux/vm/jvm_linux.cpp ++++ openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp +@@ -154,7 +154,9 @@ + #ifdef SIGSTKFLT + "STKFLT", SIGSTKFLT, /* Stack fault. */ + #endif ++#ifdef SIGCLD + "CLD", SIGCLD, /* Same as SIGCHLD (System V). */ ++#endif + "CHLD", SIGCHLD, /* Child status has changed (POSIX). */ + "CONT", SIGCONT, /* Continue (POSIX). */ + "STOP", SIGSTOP, /* Stop, unblockable (POSIX). */ +--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.inline.hpp ++++ openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp +@@ -52,7 +52,7 @@ + + #include <unistd.h> + #include <sys/socket.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <netdb.h> + + inline void* os::thread_local_storage_at(int index) { +--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp +@@ -73,7 +73,6 @@ + # include <pwd.h> + # include <poll.h> + # include <ucontext.h> +-# include <fpu_control.h> + + #ifdef AMD64 + #define REG_SP REG_RSP +@@ -532,6 +531,9 @@ + + ShouldNotReachHere(); + } ++ ++#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw)) ++#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw)) + + void os::Linux::init_thread_fpu_state(void) { + #ifndef AMD64 +--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp +@@ -32,7 +32,9 @@ + // map stack pointer to thread pointer - see notes in threadLS_linux_x86.cpp + #define SP_BITLENGTH 32 + #define PAGE_SHIFT 12 ++ #ifndef PAGE_SIZE + #define PAGE_SIZE (1UL << PAGE_SHIFT) ++ #endif + static Thread* _sp_map[1UL << (SP_BITLENGTH - PAGE_SHIFT)]; + + public: diff --git a/community/openjdk7/icedtea-hotspot-noagent-musl.patch b/community/openjdk7/icedtea-hotspot-noagent-musl.patch new file mode 100644 index 0000000000..37604acca0 --- /dev/null +++ b/community/openjdk7/icedtea-hotspot-noagent-musl.patch @@ -0,0 +1,54 @@ +--- openjdk.orig/hotspot/make/linux/makefiles/defs.make ++++ openjdk/hotspot/make/linux/makefiles/defs.make +@@ -327,6 +327,9 @@ + + # Serviceability Binaries + # No SA Support for PPC, IA64, ARM or zero ++# or if thread_db.h missing (musl) ++ ++ifneq ($(wildcard /usr/include/thread_db.h),) + ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ + $(EXPORT_LIB_DIR)/sa-jdi.jar + ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ +@@ -343,6 +346,10 @@ + endif + endif + endif ++endif ++else ++ADD_SA_BINARIES/x86 = ++ADD_SA_BINARIES/sparc = + endif + ADD_SA_BINARIES/ppc = + ADD_SA_BINARIES/ppc64 = +--- openjdk.orig/hotspot/make/linux/makefiles/sa.make ++++ openjdk/hotspot/make/linux/makefiles/sa.make +@@ -59,9 +59,11 @@ + + # if $(AGENT_DIR) does not exist, we don't build SA + # also, we don't build SA on Itanium or zero. ++# check for thread_db.h too (musl does not have it). + + all: +- if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \ ++ if [ -d $(AGENT_DIR) -a -f /usr/include/thread_db.h \ ++ -a "$(SRCARCH)" != "ia64" \ + -a "$(SRCARCH)" != "zero" \ + -a "$(SRCARCH)" != "aarch64" ] ; then \ + $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ +--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make ++++ openjdk/hotspot/make/linux/makefiles/saproc.make +@@ -65,10 +65,13 @@ + + # if $(AGENT_DIR) does not exist, we don't build SA + # also, we don't build SA on Itanium or zero. ++# check for thread_db.h too (musl does not have it). + ++ifneq ($(wildcard /usr/include/thread_db.h),) + ifneq ($(wildcard $(AGENT_DIR)),) + ifneq ($(filter-out ia64 zero aarch64,$(SRCARCH)),) + BUILDLIBSAPROC = $(LIBSAPROC) ++endif + endif + endif + diff --git a/community/openjdk7/icedtea-hotspot-uclibc-fixes.patch b/community/openjdk7/icedtea-hotspot-uclibc-fixes.patch new file mode 100644 index 0000000000..1c1d822760 --- /dev/null +++ b/community/openjdk7/icedtea-hotspot-uclibc-fixes.patch @@ -0,0 +1,93 @@ +--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp +@@ -112,7 +112,6 @@ + # include <string.h> + # include <syscall.h> + # include <sys/sysinfo.h> +-# include <gnu/libc-version.h> + # include <sys/ipc.h> + # include <sys/shm.h> + # include <link.h> +@@ -632,6 +631,13 @@ + // detecting pthread library + + void os::Linux::libpthread_init() { ++#if 1 ++ // Hard code Alpine Linux supported uclibc/musl compatible settings ++ os::Linux::set_glibc_version("glibc 2.9"); ++ os::Linux::set_libpthread_version("NPTL"); ++ os::Linux::set_is_NPTL(); ++ os::Linux::set_is_floating_stack(); ++#else + // Save glibc and pthread version strings. Note that _CS_GNU_LIBC_VERSION + // and _CS_GNU_LIBPTHREAD_VERSION are supported in glibc >= 2.3.2. Use a + // generic name for earlier versions. +@@ -690,6 +696,7 @@ + if (os::Linux::is_NPTL() || os::Linux::supports_variable_stack_size()) { + os::Linux::set_is_floating_stack(); + } ++#endif + } + + ///////////////////////////////////////////////////////////////////////////// +@@ -2951,11 +2958,7 @@ + // If we are running with earlier version, which did not have symbol versions, + // we should use the base version. + void* os::Linux::libnuma_dlsym(void* handle, const char *name) { +- void *f = dlvsym(handle, name, "libnuma_1.1"); +- if (f == NULL) { +- f = dlsym(handle, name); +- } +- return f; ++ return dlsym(handle, name); + } + + bool os::Linux::libnuma_init() { +@@ -5312,7 +5315,25 @@ + // Linux doesn't yet have a (official) notion of processor sets, + // so just return the system wide load average. + int os::loadavg(double loadavg[], int nelem) { ++#ifdef __UCLIBC__ ++ FILE *LOADAVG; ++ double avg[3] = { 0.0, 0.0, 0.0 }; ++ int i, res = -1;; ++ ++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) { ++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]); ++ res = 0; ++ fclose(LOADAVG); ++ } ++ ++ for (i = 0; (i < nelem) && (i < 3); i++) { ++ loadavg[i] = avg[i]; ++ } ++ ++ return res; ++#else + return ::getloadavg(loadavg, nelem); ++#endif + } + + void os::pause() { +--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp ++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp +@@ -253,7 +253,7 @@ + #elif defined(__APPLE__) + inline int g_isnan(double f) { return isnan(f); } + #elif defined(LINUX) || defined(_ALLBSD_SOURCE) +-inline int g_isnan(float f) { return isnanf(f); } ++inline int g_isnan(float f) { return isnan(f); } + inline int g_isnan(double f) { return isnan(f); } + #else + #error "missing platform-specific definition here" +@@ -267,8 +267,8 @@ + + // Checking for finiteness + +-inline int g_isfinite(jfloat f) { return finite(f); } +-inline int g_isfinite(jdouble f) { return finite(f); } ++inline int g_isfinite(jfloat f) { return isfinite(f); } ++inline int g_isfinite(jdouble f) { return isfinite(f); } + + + // Wide characters diff --git a/community/openjdk7/icedtea-jdk-execinfo.patch b/community/openjdk7/icedtea-jdk-execinfo.patch new file mode 100644 index 0000000000..a6499dcb03 --- /dev/null +++ b/community/openjdk7/icedtea-jdk-execinfo.patch @@ -0,0 +1,40 @@ +--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed_server.c ++++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c +@@ -35,7 +35,7 @@ + #include <X11/Xlib.h> + #include <X11/Xatom.h> + #include <Xm/MwmUtil.h> +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + #include <execinfo.h> + #endif + #include <stdio.h> +@@ -835,7 +835,7 @@ + AWT_UNLOCK(); + } + +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + void + print_stack (void) + { +--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c ++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c +@@ -27,7 +27,7 @@ + #include <X11/Xutil.h> + #include <X11/Xos.h> + #include <X11/Xatom.h> +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + #include <execinfo.h> + #endif + +@@ -689,7 +689,7 @@ + return ret; + } + +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + void print_stack(void) + { + void *array[10]; diff --git a/community/openjdk7/icedtea-jdk-fix-build.patch b/community/openjdk7/icedtea-jdk-fix-build.patch new file mode 100644 index 0000000000..9fae895b66 --- /dev/null +++ b/community/openjdk7/icedtea-jdk-fix-build.patch @@ -0,0 +1,56 @@ +Fixes three issues: + - so's should not be linked to -ljvm as dlopen(/abs/name) is + used by the launcher to load libjvm.so; it is thus not available + (musl/uclibc) ld.so to satisfy NEEDED dependency inserted by + -ljvm. Fix to not link against -ljvm, and disable -z defs so + undefined symbols are allowed in sos + - the previous makes ldd generate errors on unresolved symbols (musl) + remove it altogether as it's used for informative purposes only + (display things - not check anything useful) + - Don't delete the generated directory $(GENCSEXT), this can + confuse make in highly parallel builds with: + make[6]: *** INTERNAL: readdir: No such file or directory. Stop. + make[6]: Leaving directory '.../openjdk-boot/jdk/make/sun/nio/cs' + +--- openjdk.orig/jdk/make/common/Defs-linux.gmk ++++ openjdk/jdk/make/common/Defs-linux.gmk +@@ -350,7 +350,7 @@ + + EXTRA_LIBS += -lc + +-LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs ++LDFLAGS_DEFS_OPTION = + LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION) + + # +@@ -407,7 +407,7 @@ + # the library itself should not. + # + VM_NAME = server +-JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm ++JVMLIB = + JAVALIB = -ljava $(JVMLIB) + + # +--- openjdk.orig/jdk/make/sun/nio/cs/Makefile ++++ openjdk/jdk/make/sun/nio/cs/Makefile +@@ -107,7 +107,7 @@ + $(GENCSDATASRC)/DoubleByte-X.java.template \ + $(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs + @$(prep-target) +- $(RM) -r $(GENCSEXT) ++ $(RM) -f "$(GENCSEXT)"/* + $(MKDIR) -p $(GENCSEXT) + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) extsbcs + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \ +--- openjdk.orig/jdk/make/common/shared/Defs-linux.gmk ++++ openjdk/jdk/make/common/shared/Defs-linux.gmk +@@ -207,8 +207,6 @@ + if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \ + $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \ + fi && \ +- $(ECHO) "Library loads for: $1" && \ +- $(LDD) $1 && \ + $(ECHO) "RUNPATH for: $1" && \ + ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \ + ) diff --git a/community/openjdk7/icedtea-jdk-fix-ipv6-init.patch b/community/openjdk7/icedtea-jdk-fix-ipv6-init.patch new file mode 100644 index 0000000000..11f3bf6dd6 --- /dev/null +++ b/community/openjdk7/icedtea-jdk-fix-ipv6-init.patch @@ -0,0 +1,42 @@ +--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig ++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c +@@ -561,7 +561,7 @@ + + static struct localinterface *localifs = 0; + static int localifsSize = 0; /* size of array */ +-static int nifs = 0; /* number of entries used in array */ ++static int nifs = -1; /* number of entries used in array */ + + /* not thread safe: make sure called once from one thread */ + +@@ -573,6 +573,10 @@ + int index, x1, x2, x3; + unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf; + ++ if (nifs >= 0) ++ return ; ++ nifs = 0; ++ + if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) { + return ; + } +@@ -601,7 +605,7 @@ + localifs = (struct localinterface *) realloc ( + localifs, sizeof (struct localinterface)* (localifsSize+5)); + if (localifs == 0) { +- nifs = 0; ++ nifs = -1; + fclose (f); + return; + } +@@ -624,9 +628,7 @@ + static int getLocalScopeID (char *addr) { + struct localinterface *lif; + int i; +- if (localifs == 0) { +- initLocalIfs(); +- } ++ initLocalIfs(); + for (i=0, lif=localifs; i<nifs; i++, lif++) { + if (memcmp (addr, lif->localaddr, 16) == 0) { + return lif->index; diff --git a/community/openjdk7/icedtea-jdk-musl.patch b/community/openjdk7/icedtea-jdk-musl.patch new file mode 100644 index 0000000000..49c16d73a2 --- /dev/null +++ b/community/openjdk7/icedtea-jdk-musl.patch @@ -0,0 +1,116 @@ +diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2014-07-15 07:19:52.186682096 +0000 +@@ -46,6 +46,8 @@ + + #include "zip.h" + ++#define uchar unsigned char ++ + #ifdef NO_ZLIB + + inline bool jar::deflate_bytes(bytes& head, bytes& tail) { +diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2014-07-15 07:19:52.186682096 +0000 +@@ -23,9 +23,7 @@ + * questions. + */ + +-#define ushort unsigned short +-#define uint unsigned int +-#define uchar unsigned char ++#include <sys/types.h> + + struct unpacker; + +diff -ru openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h +--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2014-07-15 07:19:52.186682096 +0000 +@@ -27,6 +27,7 @@ + #ifndef MLIB_TYPES_H + #define MLIB_TYPES_H + ++#include <stddef.h> /* for NULL */ + #include <limits.h> + #if defined(_MSC_VER) + #include <float.h> /* for FLT_MAX and DBL_MAX */ +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c +--- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2014-07-15 07:19:52.186682096 +0000 +@@ -47,7 +47,7 @@ + + #include "java_net_Inet4AddressImpl.h" + +-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) ++#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) + #define HAS_GLIBC_GETHOSTBY_R 1 + #endif + +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c +--- openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c 2014-07-15 07:19:52.186682096 +0000 +@@ -47,7 +47,6 @@ + + #ifdef __linux__ + #include <sys/ioctl.h> +-#include <bits/ioctls.h> + #include <sys/utsname.h> + #include <stdio.h> + #endif +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +--- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2014-07-15 07:19:52.190015524 +0000 +@@ -35,7 +35,6 @@ + #endif + #ifdef __linux__ + #include <unistd.h> +-#include <sys/sysctl.h> + #include <sys/utsname.h> + #include <netinet/ip.h> + +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c +--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2014-07-15 07:19:52.190015524 +0000 +@@ -43,7 +43,6 @@ + #endif + #ifdef __linux__ + #include <unistd.h> +-#include <sys/sysctl.h> + #endif + + #include "jvm.h" +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c openjdk/jdk/src/solaris/native/java/net/linux_close.c +--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/linux_close.c 2014-07-15 07:22:17.609355950 +0000 +@@ -75,7 +75,7 @@ + #ifdef _AIX + static int sigWakeup = (SIGRTMAX - 1); + #else +-static int sigWakeup = (__SIGRTMAX - 2); ++static int sigWakeup; + #endif + + /* +@@ -148,6 +148,9 @@ + /* + * Setup the signal handler + */ ++#ifndef __AIX ++ sigWakeup = SIGRTMAX - 2; ++#endif + sa.sa_handler = sig_wakeup; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); +diff -ru openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c +--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2014-06-12 20:14:44.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2014-07-15 07:19:52.190015524 +0000 +@@ -38,7 +38,7 @@ + #include <sys/signal.h> + + /* Also defined in src/solaris/native/java/net/linux_close.c */ +-#define INTERRUPT_SIGNAL (__SIGRTMAX - 2) ++#define INTERRUPT_SIGNAL (SIGRTMAX - 2) + + static void + nullHandler(int sig) diff --git a/community/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch b/community/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch new file mode 100644 index 0000000000..26f89bb546 --- /dev/null +++ b/community/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch @@ -0,0 +1,84 @@ +--- openjdk.orig/hotspot/agent/src/os/solaris/dbx/Makefile ++++ openjdk/hotspot/agent/src/os/solaris/dbx/Makefile +@@ -50,7 +50,7 @@ + CFLAGS_32bit := -xarch=v8 + CFLAGS_64bit := -xarch=v9 + CFLAGS := -PIC -xO3 $(INCLUDES) +-LIBS := -lsocket -lnsl -lrtld_db ++LIBS := -lsocket -lrtld_db + LDFLAGS := -G + + ifneq "$(ARCH)" "i486" +--- openjdk.orig/jdk/make/java/hpi/hpi_common.gmk ++++ openjdk/jdk/make/java/hpi/hpi_common.gmk +@@ -86,5 +86,5 @@ + # Things that must be linked in. + # + ifneq ($(PLATFORM), windows) +-OTHER_LDLIBS += $(LIBSOCKET) -lnsl $(LIBM) -ldl ++OTHER_LDLIBS += $(LIBSOCKET) $(LIBM) -ldl + endif +--- openjdk.orig/jdk/make/java/java/Makefile ++++ openjdk/jdk/make/java/java/Makefile +@@ -205,7 +205,7 @@ + OTHER_LDLIBS += $(JVMLIB) -libpath:$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) fdlibm.lib \ + -libpath:$(OBJDIR)/../../../verify/$(OBJDIRNAME) verify.lib + else +-OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -lnsl -ldl \ ++OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -ldl \ + -L$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) -lfdlibm.$(ARCH) + endif + +--- openjdk.orig/jdk/make/java/java_hprof_demo/Makefile ++++ openjdk/jdk/make/java/java_hprof_demo/Makefile +@@ -83,7 +83,7 @@ + ifeq ($(PLATFORM), windows) + OTHER_LDLIBS += wsock32.lib winmm.lib + else +- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl ++ OTHER_LDLIBS += $(LIBSOCKET) -ldl + endif + + # +--- openjdk.orig/jdk/make/java/net/Makefile ++++ openjdk/jdk/make/java/net/Makefile +@@ -97,7 +97,7 @@ + # Will not compile at warning level 3 if warnings are fatal + COMPILER_WARNINGS_FATAL=false + else +- OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB) ++ OTHER_LDLIBS = $(LIBSOCKET) -ldl $(JVMLIB) + endif + ifeq ($(PLATFORM), linux) + OTHER_LDLIBS += -lpthread +--- openjdk.orig/jdk/make/jpda/transport/socket/Makefile ++++ openjdk/jdk/make/jpda/transport/socket/Makefile +@@ -42,11 +42,11 @@ + endif + + ifeq ($(PLATFORM), linux) +- OTHER_LDLIBS += -lnsl $(LIBSOCKET) -lpthread ++ OTHER_LDLIBS += $(LIBSOCKET) -lpthread + endif + + ifeq ($(PLATFORM), solaris) +- OTHER_LDLIBS += -lnsl $(LIBSOCKET) ++ OTHER_LDLIBS += $(LIBSOCKET) + endif + + ifeq ($(PLATFORM), windows) +--- openjdk.orig/jdk/make/mkdemo/jvmti/hprof/Makefile ++++ openjdk/jdk/make/mkdemo/jvmti/hprof/Makefile +@@ -39,10 +39,10 @@ + EXTRA_LIBS += wsock32.lib winmm.lib + endif + ifeq ($(PLATFORM), solaris) +- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl ++ OTHER_LDLIBS += $(LIBSOCKET) -ldl + endif + ifeq ($(PLATFORM), linux) +- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl -lpthread ++ OTHER_LDLIBS += $(LIBSOCKET) -ldl -lpthread + endif + + # diff --git a/community/openjdk7/icedtea-jdk-no-soname.patch b/community/openjdk7/icedtea-jdk-no-soname.patch new file mode 100644 index 0000000000..fe6bbb7329 --- /dev/null +++ b/community/openjdk7/icedtea-jdk-no-soname.patch @@ -0,0 +1,12 @@ +--- ./openjdk/jdk/make/common/Defs-linux.gmk.orig ++++ ./openjdk/jdk/make/common/Defs-linux.gmk +@@ -248,7 +248,9 @@ + # + LDFLAGS_OPT = -Xlinker -O1 + LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH) ++ifdef LIBRARY + LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX) ++endif + + # + # -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always |