elfutils: Fix aarch64 build
authorFredrik Fornwall <fredrik@fornwall.net>
Wed, 18 Jan 2017 09:33:46 +0000 (10:33 +0100)
committerFredrik Fornwall <fredrik@fornwall.net>
Wed, 18 Jan 2017 09:33:46 +0000 (10:33 +0100)
packages/elfutils/build.sh

index 1aced22..5c5faa8 100644 (file)
@@ -7,7 +7,8 @@ TERMUX_PKG_DEPENDS="libandroid-support, liblzma, libbz2"
 TERMUX_PKG_CLANG=no
 # Use "eu-" as program prefix to avoid conflict with binutils programs.
 # This is what several linux distributions do.
-TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--program-prefix='eu-'"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--program-prefix='eu-'
+--disable-symbol-versioning"
 # The ar.c file is patched away for now:
 TERMUX_PKG_RM_AFTER_INSTALL="bin/eu-ar"
 
@@ -15,29 +16,36 @@ termux_step_pre_configure() {
        LDFLAGS+=" -lintl"
        CFLAGS+=" -DTERMUX_EXPOSE_MEMPCPY=1 -Wno-error=unused-value -Wno-error=format-nonliteral -Wno-error"
 
+       if [ $TERMUX_ARCH = aarch64 ]; then
+               # Currently needed hack.
+               LDFLAGS+=" -Wl,-rpath-link,$TERMUX_PREFIX/lib"
+               LDFLAGS+=" -Wl,-rpath-link,$TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib"
+       fi
+
        # Exposes ACCESSPERMS in <sys/stat.h> which elfutils uses:
        CFLAGS+=" -D__USE_BSD"
 
-        # Install argp lib.
-        ARGP_FILE=$TERMUX_PKG_CACHEDIR/argp-standalone.1.3.tar.gz
-        if [ ! -f $ARGP_FILE ]; then
-                curl -o $ARGP_FILE http://www.lysator.liu.se/~nisse/archive/argp-standalone-1.3.tar.gz
-        fi
+       # Install argp lib.
+       ARGP_FILE=$TERMUX_PKG_CACHEDIR/argp-standalone.1.3.tar.gz
+       if [ ! -f $ARGP_FILE ]; then
+               termux_download http://www.lysator.liu.se/~nisse/archive/argp-standalone-1.3.tar.gz \
+                               $ARGP_FILE
+       fi
 
-        cd $TERMUX_PKG_TMPDIR
-        tar xf $ARGP_FILE
-        cd argp-standalone-1.3
+       cd $TERMUX_PKG_TMPDIR
+       tar xf $ARGP_FILE
+       cd argp-standalone-1.3
        ORIG_CFLAGS="$CFLAGS"
        CFLAGS+=" -std=gnu89"
-        ./configure --host=$TERMUX_HOST_PLATFORM
-        make
+       ./configure --host=$TERMUX_HOST_PLATFORM
+       make
        CFLAGS="$ORIG_CFLAGS"
 
-        cp $TERMUX_PKG_BUILDER_DIR/error.h .
-        cp $TERMUX_PKG_BUILDER_DIR/stdio_ext.h .
-        cp $TERMUX_PKG_BUILDER_DIR/obstack.h .
-        cp $TERMUX_PKG_BUILDER_DIR/qsort_r.h .
+       cp $TERMUX_PKG_BUILDER_DIR/error.h .
+       cp $TERMUX_PKG_BUILDER_DIR/stdio_ext.h .
+       cp $TERMUX_PKG_BUILDER_DIR/obstack.h .
+       cp $TERMUX_PKG_BUILDER_DIR/qsort_r.h .
 
-        LDFLAGS+=" -L$TERMUX_PKG_TMPDIR/argp-standalone-1.3"
-        CPPFLAGS+=" -isystem $TERMUX_PKG_TMPDIR/argp-standalone-1.3"
+       LDFLAGS+=" -L$TERMUX_PKG_TMPDIR/argp-standalone-1.3"
+       CPPFLAGS+=" -isystem $TERMUX_PKG_TMPDIR/argp-standalone-1.3"
 }