make: Avoid linking against libelf
[termux-packages] / build-package.sh
index ed6266d..1cc958a 100755 (executable)
@@ -29,7 +29,7 @@ test -f $HOME/.termuxrc && . $HOME/.termuxrc
 if [ ! -d "$NDK" ]; then echo 'ERROR: $NDK not defined as pointing at a directory - define it pointing at a android NDK installation!'; exit 1; fi
 : ${TERMUX_MAKE_PROCESSES:='4'}
 : ${TERMUX_TOPDIR:="$HOME/termux"}
-: ${TERMUX_ARCH:="arm"} # (arm|aarch64|i686|x86_64) - the 64 bit variants do not work yet
+: ${TERMUX_ARCH:="arm"} # (arm|aarch64|i686|x86_64) - the x86_64 arch is not yet used or tested.
 TERMUX_ARCH_BITS="32"
 if [ "x86_64" = $TERMUX_ARCH -o "aarch64" = $TERMUX_ARCH ]; then
        TERMUX_ARCH_BITS="64"
@@ -164,10 +164,9 @@ if [ ! -d $TERMUX_STANDALONE_TOOLCHAIN ]; then
                        patch -p1;
                echo "PATCHING FILE $f done!"
        done
-       # sha1.h was removed from android ndk for platforms above 19, but needed by the aapt package
-       # JNIHelp.h is also used by aapt
-       # sysexits.h is header-only and used by some unix code
-        cp $TERMUX_SCRIPTDIR/ndk_patches/{sha1.h,sysexits.h,JNIHelp.h} $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include
+        # elf.h is taken from glibc since the elf.h in the NDK is lacking.
+       # sysexits.h is header-only and used by a few programs.
+        cp $TERMUX_SCRIPTDIR/ndk_patches/{elf.h,sysexits.h} $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include
 fi
 
 export TERMUX_COMMON_CACHEDIR="$TERMUX_TOPDIR/_cache"
@@ -273,7 +272,7 @@ HERE
 fi
 
 TERMUX_ELF_CLEANER=$TERMUX_COMMON_CACHEDIR/termux-elf-cleaner
-TERMUX_ELF_CLEANER_SRC=$TERMUX_SCRIPTDIR/packages/termux-tools/termux-elf-cleaner.cpp
+TERMUX_ELF_CLEANER_SRC=$TERMUX_SCRIPTDIR/packages/termux-elf-cleaner/termux-elf-cleaner.cpp
 if [ $TERMUX_ELF_CLEANER_SRC -nt $TERMUX_ELF_CLEANER ]; then
        g++ -std=c++11 -Wall -Wextra -pedantic -Os $TERMUX_ELF_CLEANER_SRC -o $TERMUX_ELF_CLEANER
 fi
@@ -326,7 +325,9 @@ termux_step_patch_package () {
        cd $TERMUX_PKG_SRCDIR
        # Suffix patch with ".patch32" or ".patch64" to only apply for these bitnesses:
        for patch in $TERMUX_PKG_BUILDER_DIR/*.patch{$TERMUX_ARCH_BITS,}; do
-               test -f $patch && sed "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $patch | patch -p1
+               test -f $patch && sed "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $patch | \
+                       sed "s%\@TERMUX_HOME\@%${TERMUX_ANDROID_HOME}%g" | \
+                       patch -p1
        done
 
        find . -name config.sub -exec chmod u+w '{}' \; -exec cp $TERMUX_COMMON_CACHEDIR/config.sub '{}' \;
@@ -602,7 +603,7 @@ termux_setup_golang () {
                exit 1
        fi
 
-       local TERMUX_GO_VERSION=go1.6.1
+       local TERMUX_GO_VERSION=go1.6.2
        local TERMUX_GO_PLATFORM=linux-amd64
        test `uname` = "Darwin" && TERMUX_GO_PLATFORM=darwin-amd64