r19b update
This commit is contained in:
parent
e520dfbe12
commit
50decd816b
@ -694,7 +694,7 @@ termux_step_start_build() {
|
|||||||
Requires:
|
Requires:
|
||||||
Libs: -lz
|
Libs: -lz
|
||||||
HERE
|
HERE
|
||||||
|
ln -sf $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_API_LEVEL/libz.so $TERMUX_PREFIX/lib/libz.so
|
||||||
# Keep track of when build started so we can see what files have been created.
|
# Keep track of when build started so we can see what files have been created.
|
||||||
# We start by sleeping so that any generated files above (such as zlib.pc) get
|
# We start by sleeping so that any generated files above (such as zlib.pc) get
|
||||||
# an older timestamp than the TERMUX_BUILD_TS_FILE.
|
# an older timestamp than the TERMUX_BUILD_TS_FILE.
|
||||||
@ -787,6 +787,10 @@ termux_step_setup_toolchain() {
|
|||||||
export CC=$TERMUX_HOST_PLATFORM-clang
|
export CC=$TERMUX_HOST_PLATFORM-clang
|
||||||
export CXX=$TERMUX_HOST_PLATFORM-clang++
|
export CXX=$TERMUX_HOST_PLATFORM-clang++
|
||||||
|
|
||||||
|
export CCTERMUX_HOST_PLATFORM=$TERMUX_HOST_PLATFORM$TERMUX_PKG_API_LEVEL
|
||||||
|
if [ $TERMUX_ARCH = arm ]; then
|
||||||
|
CCTERMUX_HOST_PLATFORM=armv7a-linux-androideabi$TERMUX_PKG_API_LEVEL
|
||||||
|
fi
|
||||||
export AR=$TERMUX_HOST_PLATFORM-ar
|
export AR=$TERMUX_HOST_PLATFORM-ar
|
||||||
export CPP=${TERMUX_HOST_PLATFORM}-cpp
|
export CPP=${TERMUX_HOST_PLATFORM}-cpp
|
||||||
export CC_FOR_BUILD=gcc
|
export CC_FOR_BUILD=gcc
|
||||||
@ -1125,6 +1129,9 @@ termux_step_configure_cmake() {
|
|||||||
else
|
else
|
||||||
MAKE_PROGRAM_PATH=$(which make)
|
MAKE_PROGRAM_PATH=$(which make)
|
||||||
fi
|
fi
|
||||||
|
CFLAGS+=" --target=$CCTERMUX_HOST_PLATFORM"
|
||||||
|
CXXFLAGS+=" --target=$CCTERMUX_HOST_PLATFORM"
|
||||||
|
LDFLAGS+=" --target=$CCTERMUX_HOST_PLATFORM"
|
||||||
|
|
||||||
# XXX: CMAKE_{AR,RANLIB} needed for at least jsoncpp build to not
|
# XXX: CMAKE_{AR,RANLIB} needed for at least jsoncpp build to not
|
||||||
# pick up cross compiled binutils tool in $PREFIX/bin:
|
# pick up cross compiled binutils tool in $PREFIX/bin:
|
||||||
|
@ -20,7 +20,7 @@ bin/macho-dump
|
|||||||
lib/libgomp.a
|
lib/libgomp.a
|
||||||
lib/libiomp5.a
|
lib/libiomp5.a
|
||||||
"
|
"
|
||||||
TERMUX_PKG_DEPENDS="binutils, ncurses, ndk-sysroot, ndk-stl, libffi"
|
TERMUX_PKG_DEPENDS="binutils, ncurses, ndk-sysroot, libffi"
|
||||||
# Replace gcc since gcc is deprecated by google on android and is not maintained upstream.
|
# Replace gcc since gcc is deprecated by google on android and is not maintained upstream.
|
||||||
# Conflict with clang versions earlier than 3.9.1-3 since they bundled llvm.
|
# Conflict with clang versions earlier than 3.9.1-3 since they bundled llvm.
|
||||||
TERMUX_PKG_CONFLICTS="gcc, clang (<< 3.9.1-3)"
|
TERMUX_PKG_CONFLICTS="gcc, clang (<< 3.9.1-3)"
|
||||||
|
@ -1,6 +1,35 @@
|
|||||||
--- ../cache/cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp 2017-12-11 18:14:51.000000000 +0000
|
--- ./tools/clang/lib/Driver/ToolChains/Linux.cpp.orig 2019-02-16 23:00:22.943658132 +0000
|
||||||
+++ ./tools/clang/lib/Driver/ToolChains/Linux.cpp 2018-03-13 03:32:36.142985756 +0000
|
+++ ./tools/clang/lib/Driver/ToolChains/Linux.cpp 2019-02-16 23:15:04.826482282 +0000
|
||||||
@@ -816,7 +816,7 @@
|
@@ -652,8 +652,27 @@
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
|
||||||
|
+ if (getTriple().isAndroid()) {
|
||||||
|
+ switch (getTriple().getArch()) {
|
||||||
|
+ case llvm::Triple::x86_64:
|
||||||
|
+ addSystemInclude(DriverArgs, CC1Args, SysRoot + "@TERMUX_PREFIX@/include/x86_64-linux-android");
|
||||||
|
+ break;
|
||||||
|
+ case llvm::Triple::x86:
|
||||||
|
+ addSystemInclude(DriverArgs, CC1Args, SysRoot + "@TERMUX_PREFIX@/include/i686-linux-android");
|
||||||
|
+ break;
|
||||||
|
+ case llvm::Triple::aarch64:
|
||||||
|
+ addSystemInclude(DriverArgs, CC1Args, SysRoot + "@TERMUX_PREFIX@/include/aarch64-linux-android");
|
||||||
|
+ break;
|
||||||
|
+ case llvm::Triple::arm:
|
||||||
|
+ case llvm::Triple::thumb:
|
||||||
|
+ addSystemInclude(DriverArgs, CC1Args, SysRoot + "@TERMUX_PREFIX@/include/arm-linux-androideabi");
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include");
|
||||||
|
-
|
||||||
|
+ }
|
||||||
|
if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
|
||||||
|
SmallString<128> P(D.ResourceDir);
|
||||||
|
llvm::sys::path::append(P, "include");
|
||||||
|
@@ -968,7 +987,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Linux::isPIEDefault() const {
|
bool Linux::isPIEDefault() const {
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
TERMUX_PKG_HOMEPAGE=https://developer.android.com/tools/sdk/ndk/index.html
|
|
||||||
TERMUX_PKG_DESCRIPTION="Header files from the Android NDK needed for compiling C++ programs using STL"
|
|
||||||
TERMUX_PKG_LICENSE="NCSA"
|
|
||||||
TERMUX_PKG_VERSION=$TERMUX_NDK_VERSION
|
|
||||||
TERMUX_PKG_REVISION=4
|
|
||||||
TERMUX_PKG_NO_DEVELSPLIT=yes
|
|
||||||
|
|
||||||
termux_step_extract_into_massagedir() {
|
|
||||||
mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/c++/v1/
|
|
||||||
cp -Rf $TERMUX_STANDALONE_TOOLCHAIN/include/c++/4.9.x/* $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/c++/v1/
|
|
||||||
|
|
||||||
( cd $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/c++/v1/ && patch -p1 < $TERMUX_PKG_BUILDER_DIR/math-header.diff )
|
|
||||||
|
|
||||||
# Revert the patch for <cstddef> that's only used for using g++
|
|
||||||
# from the ndk (https://github.com/android-ndk/ndk/issues/215):
|
|
||||||
cd $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include/c++/v1/
|
|
||||||
sed "s%\@TERMUX_HOST_PLATFORM\@%${TERMUX_HOST_PLATFORM}%g" $TERMUX_SCRIPTDIR/ndk-patches/cstddef.cpppatch | patch -p1 -R
|
|
||||||
}
|
|
||||||
|
|
||||||
termux_step_massage() {
|
|
||||||
echo "overriding termux_step_massage to avoid removing header files"
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
diff -u -r ../../../../../../../../../massage-pristine/data/data/com.termux/files/usr/include/c++/v1/cmath ./cmath
|
|
||||||
--- ../../../../../../../../../massage-pristine/data/data/com.termux/files/usr/include/c++/v1/cmath 2018-01-03 00:47:31.973545021 +0100
|
|
||||||
+++ ./cmath 2018-01-03 00:48:02.453189261 +0100
|
|
||||||
@@ -302,7 +302,7 @@
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <__config>
|
|
||||||
-#include <math.h>
|
|
||||||
+#include <c++/v1/math.h>
|
|
||||||
|
|
||||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
|
||||||
#pragma GCC system_header
|
|
||||||
diff -u -r ../../../../../../../../../massage-pristine/data/data/com.termux/files/usr/include/c++/v1/math.h ./math.h
|
|
||||||
--- ../../../../../../../../../massage-pristine/data/data/com.termux/files/usr/include/c++/v1/math.h 2018-01-03 00:47:31.985544880 +0100
|
|
||||||
+++ ./math.h 2018-01-03 00:48:24.732929153 +0100
|
|
||||||
@@ -298,7 +298,7 @@
|
|
||||||
#pragma GCC system_header
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#include_next <math.h>
|
|
||||||
+#include <../../math.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
|
|
@ -2,13 +2,13 @@ TERMUX_PKG_HOMEPAGE=https://developer.android.com/tools/sdk/ndk/index.html
|
|||||||
TERMUX_PKG_DESCRIPTION="System header and library files from the Android NDK needed for compiling C programs"
|
TERMUX_PKG_DESCRIPTION="System header and library files from the Android NDK needed for compiling C programs"
|
||||||
TERMUX_PKG_LICENSE="NCSA"
|
TERMUX_PKG_LICENSE="NCSA"
|
||||||
TERMUX_PKG_VERSION=$TERMUX_NDK_VERSION
|
TERMUX_PKG_VERSION=$TERMUX_NDK_VERSION
|
||||||
TERMUX_PKG_REVISION=10
|
#TERMUX_PKG_REVISION=10
|
||||||
TERMUX_PKG_NO_DEVELSPLIT=yes
|
TERMUX_PKG_NO_DEVELSPLIT=yes
|
||||||
TERMUX_PKG_KEEP_STATIC_LIBRARIES="true"
|
TERMUX_PKG_KEEP_STATIC_LIBRARIES="true"
|
||||||
# This package has taken over <pty.h> from the previous libutil-dev
|
# This package has taken over <pty.h> from the previous libutil-dev
|
||||||
# and iconv.h from libandroid-support-dev:
|
# and iconv.h from libandroid-support-dev:
|
||||||
TERMUX_PKG_CONFLICTS="libutil-dev, libgcc, libandroid-support-dev"
|
TERMUX_PKG_CONFLICTS="libutil-dev, libgcc, libandroid-support-dev"
|
||||||
TERMUX_PKG_REPLACES="libutil-dev, libgcc, libandroid-support-dev"
|
TERMUX_PKG_REPLACES="libutil-dev, libgcc, libandroid-support-dev, ndk-stl"
|
||||||
|
|
||||||
termux_step_extract_into_massagedir() {
|
termux_step_extract_into_massagedir() {
|
||||||
mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/pkgconfig \
|
mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/pkgconfig \
|
||||||
@ -17,11 +17,7 @@ termux_step_extract_into_massagedir() {
|
|||||||
cp -Rf $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include/* \
|
cp -Rf $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/include/* \
|
||||||
$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include
|
$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/include
|
||||||
|
|
||||||
local _LIBDIR=lib
|
cp $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_API_LEVEL/*.o \
|
||||||
if [ "$TERMUX_ARCH" = "x86_64" ]; then
|
|
||||||
_LIBDIR=lib64
|
|
||||||
fi
|
|
||||||
cp $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/${_LIBDIR}/*.o \
|
|
||||||
$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib
|
$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib
|
||||||
|
|
||||||
cp "$PKG_CONFIG_LIBDIR/zlib.pc" \
|
cp "$PKG_CONFIG_LIBDIR/zlib.pc" \
|
||||||
@ -35,8 +31,10 @@ termux_step_extract_into_massagedir() {
|
|||||||
|
|
||||||
local LIBGCC_PATH=$TERMUX_STANDALONE_TOOLCHAIN/lib/gcc/$TERMUX_HOST_PLATFORM/4.9.x
|
local LIBGCC_PATH=$TERMUX_STANDALONE_TOOLCHAIN/lib/gcc/$TERMUX_HOST_PLATFORM/4.9.x
|
||||||
if [ $TERMUX_ARCH = "arm" ]; then LIBGCC_PATH+="/armv7-a"; fi
|
if [ $TERMUX_ARCH = "arm" ]; then LIBGCC_PATH+="/armv7-a"; fi
|
||||||
LIBGCC_PATH+="/libgcc.a"
|
#LIBGCC_PATH+="/libgcc.a"
|
||||||
cp $LIBGCC_PATH $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/
|
cp $LIBGCC_PATH/* $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/
|
||||||
|
|
||||||
|
cp $TERMUX_STANDALONE_TOOLCHAIN/sysroot/usr/lib/$TERMUX_HOST_PLATFORM/$TERMUX_PKG_API_LEVEL/libcompiler_rt-extras.a $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib/
|
||||||
|
|
||||||
# librt and libpthread are built into libc on android, so setup them as symlinks
|
# librt and libpthread are built into libc on android, so setup them as symlinks
|
||||||
# to libc for compatibility with programs that users try to build:
|
# to libc for compatibility with programs that users try to build:
|
||||||
|
Loading…
Reference in New Issue
Block a user