Fixes and improvements

This commit is contained in:
Gerhard Stein
2016-12-03 14:18:33 +01:00
parent 1194788eb9
commit 616a69a5c5
7 changed files with 41 additions and 56 deletions

View File

@@ -1,23 +1,20 @@
LOCAL_PATH:=$(call my-dir)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := $(notdir $(LOCAL_PATH))
LOCAL_MODULE_FILENAME := lib$(notdir $(LOCAL_PATH)).so.sdl.1 # It clashes with system libcrypto and libssl in Android 4.3 and older
ifeq ($(TARGET_ARCH),arm)
ifneq (python3,$(LOCAL_MODULE))
ifneq ($(filter arm mips x86 arm64, $(TARGET_ARCH)),)
LOCAL_MODULE := python3
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_SRC_FILES := lib-$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.1.so
LOCAL_BUILT_MODULE := # This fixes a bug in NDK r10d
# NDK is buggy meh
obj/local/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.0.so: $(LOCAL_PATH)/$(LOCAL_SRC_FILES)
cp -f $< $@
LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES :=
LOCAL_LDLIBS :=
LOCAL_SRC_FILES := libpython3.so
include $(PREBUILT_SHARED_LIBRARY)
endif
endif
endif # $(TARGET_ARCH),arm

View File

@@ -11,14 +11,12 @@ mk/env.mk: env
define formula
$1: $1-$2
#$1-$2: ndk $3
$1-$2: $3
$1-$2: ndk $3
$$(info Checking $1 $2 sources...)
@wget -N -P "src/" -i "mk/$1/$2/sources.txt"
ifeq ("$$(wildcard build/.built-$(BUILD_IDENTIFIER)/$1-$2)","")
$$(info Building $1 $2...)
@bash --noprofile --norc mk/build_single.sh $1 $2
@mkdir -p build/.built-$(BUILD_IDENTIFIER)
@touch build/.built-$(BUILD_IDENTIFIER)/$1-$2
endif
endef
@@ -64,14 +62,14 @@ python_gdbm: gdbm
# Android NDK.
#ndk:
# $(info Checking NDK sources...)
# @wget -N -P "sdk/" $(shell bash mk/ndk_source.sh)
#ifeq ("$(wildcard build/.built-ndk-$(BUILD_IDENTIFIER))","")
# $(info Preparing NDK toolchain...)
# @bash --noprofile --norc mk/build_ndk.sh
# @touch build/.built-ndk-$(BUILD_IDENTIFIER)
#endif
ndk:
$(info Checking NDK sources...)
@wget -N -P "sdk/" $(shell bash mk/ndk_source.sh)
ifeq ("$(wildcard build/.built-ndk-$(BUILD_IDENTIFIER))","")
$(info Preparing NDK toolchain...)
@bash --noprofile --norc mk/build_ndk.sh
@touch build/.built-ndk-$(BUILD_IDENTIFIER)
endif
## Cleaning.

View File

@@ -19,6 +19,17 @@ build() {
CONFIGURE_ARCH=android-$ARCH;;
esac
# case $ARCH in
# armeabi-v7a)
# ANDROID_PLATFORM=arm;;
# armeabi)
# ANDROID_PLATFORM=arm;;
# arm64-v8a)
# ANDROID_PLATFORM=arm;;
# *)
# ANDROID_PLATFORM=arm;;
# esac
# rm -rf build/$ARCH
# mkdir -p build/$ARCH
# cd build/$ARCH
@@ -42,7 +53,9 @@ build() {
# rm -rf lib-$ARCH
# mkdir -p lib-$ARCH
# cp build/$ARCH/libcrypto.so.sdl.1.so lib-${ARCH}/libcrypto.so.sdl.1.so || exit 1
./setCrossEnvironment-$ARCH.sh make
# ./setCrossEnvironment-$ARCH.sh make
export ANDROID_PLATFORM=arm
make
}
PIDS=""

View File

@@ -1,11 +1,9 @@
export BASE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Directories.
export NDK_PATH=~/apps/android-dev/android-ndk-r13b
export ANDROID_PREFIX="${NDK_PATH}/build"
export ANDROID_TOOL_PREFIX="${NDK_PATH}/build-tools"
export ANDROID_TEST_PREFIX="${NDK_PATH}/build-vm"
export ANDROID_PREFIX="${BASE}/build"
export ANDROID_TOOL_PREFIX="${BASE}/build-tools"
export ANDROID_TEST_PREFIX="${BASE}/build-vm"
# SDKs and target platforms.
export NDK_REL=android-ndk-r13b
@@ -13,7 +11,7 @@ export SDK_REL=android-sdk-r24.0.2
export NDK_REV=13b
export SDK_REV=24.0.2
export ANDROID_API_LEVEL=21
export ANDROID_PLATFORM=arm
#export ANDROID_PLATFORM=arm
export ANDROID_COMPILER=4.9
export ANDROID_HOST=x86_64-pc-linux-gnu
export ANDROID_AGREE_LICENSE_TERMS=n

View File

@@ -36,6 +36,9 @@ case "${NDK_REV}" in
# Zip archive.
pushd "${BASE}/sdk"
unzip "${NDK_ARCHIVE}" || exit 1
#ln -s "/home/gerstrong/apps/android-dev/android-ndk-r${NDK_REV}-$(uname -s | tr '[A-Z]' '[a-z]')-${NDK_ARCH}" android-ndk-r${NDK_REV}-$(uname -s | tr '[A-Z]' '[a-z]')-${NDK_ARCH}
popd
fi
;;

View File

@@ -15,14 +15,12 @@ export NDK_PLATFORM="android-${NDK_REV}"
export SDK_PLATFORM="android-${SDK_REV}"
export cross="${ANDROID_TARGET}-"
export PLATFORMVER="android-24"
export PREFIX="$NDK_PATH/platforms/$PLATFORMVER/arch-arm/usr"
export CFLAGS="--sysroot ${TOOL_PREFIX}/sysroot -I${PREFIX}/include -I${TOOL_PREFIX}/include -DANDROID -mandroid ${CFLAGS_EXTRA}"
export CPPFLAGS="${CFLAGS} ${CPPFLAGS_EXTRA}"
export CXXFLAGS="${CFLAGS} ${CXXFLAGS_EXTRA}"
export LDFLAGS="--sysroot ${TOOL_PREFIX}/sysroot -L${PREFIX}/lib -L${TOOL_PREFIX}/lib ${LDFLAGS_EXTRA}"
export CC="${ANDROID_TARGET}-gcc"
export CXX="${ANDROID_TARGET}-g++"
export CPP="${ANDROID_TARGET}-cpp"

View File

@@ -1,22 +0,0 @@
ANDROID_AGREE_LICENSE_TERMS=n
ANDROID_API_LEVEL=21
ANDROID_COMPILER=4.9
ANDROID_DEV=/home/gerstrong/apps/android-dev/android-ndk-r13b/platforms/android-14/arch-arm/usr
ANDROID_EMULATOR_OPTIONS=
ANDROID_EMULATOR_TESTDIR=/data/py3
ANDROID_HOST=x86_64-pc-linux-gnu
ANDROID_PLATFORM=arm
ANDROID_PREFIX=/home/gerstrong/apps/android-dev/android-ndk-r13b/build
ANDROID_TARGET=arm-linux-androideabi
ANDROID_TEST_PREFIX=/home/gerstrong/apps/android-dev/android-ndk-r13b/build-vm
ANDROID_TOOLCHAIN=arm-linux-androideabi-4.9
ANDROID_TOOL_PREFIX=/home/gerstrong/apps/android-dev/android-ndk-r13b/build-tools
ANDROID_VM_NAME=PythonTesting
BUILD_IDENTIFIER=13b-21-arm-linux-androideabi-4.9
NDK_PATH=/home/gerstrong/apps/android-dev/android-ndk-r13b
NDK_REL=android-ndk-r13b
NDK_REV=13b
PYTHON_OPTIONAL_MODULES='bz2 lzma ssl'
SDK_REL=android-sdk-r24.0.2
SDK_REV=24.0.2
TEST_IDENTIFIER=24.0.2-21-arm