termux_error_exit "Unsupported arch: $TERMUX_ARCH"
fi
- local TERMUX_GO_VERSION=go1.8rc1
+ local TERMUX_GO_VERSION=go1.8rc2
local TERMUX_GO_PLATFORM=linux-amd64
- test "$(uname)" = "Darwin" && TERMUX_GO_PLATFORM=darwin-amd64
local TERMUX_BUILDGO_FOLDER=$TERMUX_COMMON_CACHEDIR/${TERMUX_GO_VERSION}.${TERMUX_GO_PLATFORM}
export GOROOT=$TERMUX_BUILDGO_FOLDER
local TERMUX_BUILDGO_TAR=$TERMUX_COMMON_CACHEDIR/${TERMUX_GO_VERSION}.${TERMUX_GO_PLATFORM}.tar.gz
rm -Rf "$TERMUX_COMMON_CACHEDIR/go" "$TERMUX_BUILDGO_FOLDER"
termux_download https://storage.googleapis.com/golang/${TERMUX_GO_VERSION}.${TERMUX_GO_PLATFORM}.tar.gz \
- "$TERMUX_BUILDGO_TAR"
+ "$TERMUX_BUILDGO_TAR" \
+ d62c2d44d0c6b434e3cda12505f3c9fb880757e3396af1e9ba861f7b547cc864
( cd "$TERMUX_COMMON_CACHEDIR"; tar xf "$TERMUX_BUILDGO_TAR"; mv go "$TERMUX_BUILDGO_FOLDER"; rm "$TERMUX_BUILDGO_TAR" )
}
$TERMUX_CMAKE_FOLDER
fi
export PATH=$TERMUX_CMAKE_FOLDER/bin:$PATH
+ export CMAKE_INSTALL_ALWAYS=1
}
# First step is to handle command-line arguments. Not to be overridden by packages.
TERMUX_STANDALONE_TOOLCHAIN="$TERMUX_TOPDIR/_lib/toolchain-${TERMUX_ARCH}-ndk${TERMUX_NDK_VERSION}-api${TERMUX_API_LEVEL}"
# Bump the below version if a change is made in toolchain setup to ensure
# that everyone gets an updated toolchain:
- TERMUX_STANDALONE_TOOLCHAIN+="-v8"
+ TERMUX_STANDALONE_TOOLCHAIN+="-v10"
export TERMUX_TAR="tar"
export TERMUX_TOUCH="touch"
- test "$(uname)" = "Darwin" && TERMUX_TAR=gtar
- test "$(uname)" = "Darwin" && TERMUX_TOUCH=gtouch
export prefix=${TERMUX_PREFIX}
export PREFIX=${TERMUX_PREFIX}
export PKG_CONFIG_LIBDIR=$TERMUX_PREFIX/lib/pkgconfig
# and no longer remove DT_RUNPATH in termux-elf-cleaner.
if [ "$TERMUX_ARCH" = "arm" ]; then
- CFLAGS+=" -march=armv7-a -mfpu=neon -mfloat-abi=softfp"
- # "first flag instructs the linker to pick libgcc.a, libgcov.a, and
- # crt*.o, which are tailored for armv7-a"
- # - https://developer.android.com/ndk/guides/standalone_toolchain.html
+ # https://developer.android.com/ndk/guides/standalone_toolchain.html#abi_compatibility:
+ # "We recommend using the -mthumb compiler flag to force the generation of 16-bit Thumb-2 instructions".
+ # With r13 of the ndk ruby 2.4.0 segfaults when built on arm with clang without -mthumb.
+ CFLAGS+=" -march=armv7-a -mfpu=neon -mfloat-abi=softfp -mthumb"
LDFLAGS+=" -march=armv7-a -Wl,--fix-cortex-a8"
elif [ "$TERMUX_ARCH" = "i686" ]; then
# From $NDK/docs/CPU-ARCH-ABIS.html:
# Use gold by default to work around https://github.com/android-ndk/ndk/issues/148
cp $_TERMUX_TOOLCHAIN_TMPDIR/bin/aarch64-linux-android-ld.gold \
$_TERMUX_TOOLCHAIN_TMPDIR/bin/aarch64-linux-android-ld
+ cp $_TERMUX_TOOLCHAIN_TMPDIR/aarch64-linux-android/bin/ld.gold \
+ $_TERMUX_TOOLCHAIN_TMPDIR/aarch64-linux-android/bin/ld
fi
cd $_TERMUX_TOOLCHAIN_TMPDIR/sysroot
if [ -d include ] && [ -z "${TERMUX_PKG_NO_DEVELSPLIT}" ]; then
# Add virtual -dev sub package if there are include files:
local _DEVEL_SUBPACKAGE_FILE=$TERMUX_PKG_TMPDIR/${TERMUX_PKG_NAME}-dev.subpackage.sh
- echo TERMUX_SUBPKG_INCLUDE=\"include share/man/man3 lib/pkgconfig share/aclocal $TERMUX_PKG_INCLUDE_IN_DEVPACKAGE\" > "$_DEVEL_SUBPACKAGE_FILE"
+ echo TERMUX_SUBPKG_INCLUDE=\"include share/man/man3 lib/pkgconfig share/aclocal lib/cmake $TERMUX_PKG_INCLUDE_IN_DEVPACKAGE\" > "$_DEVEL_SUBPACKAGE_FILE"
echo "TERMUX_SUBPKG_DESCRIPTION=\"Development files for ${TERMUX_PKG_NAME}\"" >> "$_DEVEL_SUBPACKAGE_FILE"
if [ -n "$TERMUX_PKG_DEVPACKAGE_DEPENDS" ]; then
echo "TERMUX_SUBPKG_DEPENDS=\"$TERMUX_PKG_NAME,$TERMUX_PKG_DEVPACKAGE_DEPENDS\"" >> $_DEVEL_SUBPACKAGE_FILE