android/Bootstrap/Makefile.shared | 12 +++--------- android/experimental/DocumentLoader/Makefile | 17 ++++++----------- android/experimental/LibreOffice4Android/Makefile | 8 ++++---- android/qa/desktop/Makefile | 8 ++++---- android/qa/sc/Makefile | 12 ++++++------ android/qa/simple/Makefile | 10 +++++----- config_host.mk.in | 1 + configure.in | 11 ++++++++--- 8 files changed, 37 insertions(+), 42 deletions(-)
New commits: commit c02e838ec21408cd5ba70e0e7b53309411d49db2 Author: Tor Lillqvist <[email protected]> Date: Thu Aug 23 12:26:52 2012 +0300 Factor out the Android APP_ABI sanely instead of copy-paste galore Change-Id: I66e97d73c410ac6f2e481ba9b2b22183f57438bd diff --git a/android/Bootstrap/Makefile.shared b/android/Bootstrap/Makefile.shared index f18c187..2dd2023 100644 --- a/android/Bootstrap/Makefile.shared +++ b/android/Bootstrap/Makefile.shared @@ -11,14 +11,8 @@ # code are very much self-contained pre-packaged thingies. APP_DATA_PATH=/data/data/$(APP_PACKAGE) -# Adapt to both Intel and ARM architectures -ifeq ($(CPU),I) -ABI_PATH=x86 -else -ABI_PATH=armeabi-v7a -endif -SODEST=libs/$(ABI_PATH) -OBJLOCAL=obj/local/$(ABI_PATH) +SODEST=libs/$(ANDROID_APP_ABI) +OBJLOCAL=obj/local/$(ANDROID_APP_ABI) define COPYSO cp $(1) $(SODEST)$(if $(2),/$(2)) && $(STRIP) --strip-debug $(SODEST)$(if $(2),/$(2),/$(notdir $(1))) && \ @@ -36,7 +30,7 @@ endef properties: echo sdk.dir=$(ANDROID_SDK_HOME) >local.properties echo sdk.dir=$(ANDROID_SDK_HOME) >../../Bootstrap/local.properties - echo "APP_ABI := $(ABI_PATH)" > jni/Application.mk + echo "APP_ABI := $(ANDROID_APP_ABI)" > jni/Application.mk echo "APP_PLATFORM := android-14" >> jni/Application.mk install: build-ant diff --git a/android/experimental/DocumentLoader/Makefile b/android/experimental/DocumentLoader/Makefile index 917004a..804d915 100644 --- a/android/experimental/DocumentLoader/Makefile +++ b/android/experimental/DocumentLoader/Makefile @@ -16,13 +16,8 @@ APP_PACKAGE=org.libreoffice.android.examples # code are very much self-contained pre-packaged thingies. APP_DATA_PATH=/data/data/$(APP_PACKAGE) -ifeq ($(CPU),I) -ABI_PATH=x86 -else -ABI_PATH=armeabi-v7a -endif -SODEST=libs/$(ABI_PATH) -OBJLOCAL=obj/local/$(ABI_PATH) +SODEST=libs/$(ANDROID_APP_ABI) +OBJLOCAL=obj/local/$(ANDROID_APP_ABI) define COPYSO cp $(1) $(SODEST)$(if $(2),/$(2)) && $(STRIP) --strip-debug $(SODEST)$(if $(2),/$(2),/$(notdir $(1))) && \ @@ -47,9 +42,9 @@ copy-stuff: mkdir -p $(SODEST) $(OBJLOCAL) # # Copy shared libraries (including UNO components) we need to -# libs/armeabi-v7a so that ant will include them in the .apk. +# libs/$(ANDROID_APP_ABI) so that ant will include them in the .apk. # -# Copy them to obj/local/armeabi-v7a, too, where gdb will look for +# Copy them to obj/local/$(ANDROID_APP_ABI), too, where gdb will look for # them. # for F in $(strip \ @@ -135,7 +130,7 @@ copy-stuff: done # # Then the shared GNU C++ library - $(call COPYSO,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/$(ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR)libs/$(ABI_PATH)/libgnustl_shared.so) + $(call COPYSO,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/$(ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR)libs/$(ANDROID_APP_ABI)/libgnustl_shared.so) # # Then other "assets". Let the directory structure under assets mimic # that under solver for now. @@ -235,7 +230,7 @@ copy-stuff: # Then gdbserver and gdb.setup so that we can debug with ndk-gdb. # cp $(ANDROID_NDK_GDBSERVER) $(SODEST) - echo set solib-search-path ./obj/local/$(ABI_PATH) >$(SODEST)/gdb.setup + echo set solib-search-path ./obj/local/$(ANDROID_APP_ABI) >$(SODEST)/gdb.setup build-ant: copy-stuff properties # diff --git a/android/experimental/LibreOffice4Android/Makefile b/android/experimental/LibreOffice4Android/Makefile index bb2c02e..837f930 100644 --- a/android/experimental/LibreOffice4Android/Makefile +++ b/android/experimental/LibreOffice4Android/Makefile @@ -14,9 +14,9 @@ copy-stuff: mkdir -p $(SODEST) $(OBJLOCAL) # # Copy shared libraries (including UNO components) we need to -# libs/armeabi-v7a so that ant will include them in the .apk. +# libs/$(ANDROID_APP_ABI) so that ant will include them in the .apk. # -# Copy them to obj/local/armeabi-v7a, too, where gdb will look for +# Copy them to obj/local/$(ANDROID_APP_ABI), too, where gdb will look for # them. # for F in $(strip \ @@ -114,7 +114,7 @@ copy-stuff: done # # Then the shared GNU C++ library - $(call COPYSO,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/$(ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR)libs/$(ABI_PATH)/libgnustl_shared.so) + $(call COPYSO,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/$(ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR)libs/$(ANDROID_APP_ABI)/libgnustl_shared.so) # # Then other "assets". Let the directory structure under assets mimic # that under solver for now. @@ -214,7 +214,7 @@ copy-stuff: # Then gdbserver and gdb.setup so that we can debug with ndk-gdb. # cp $(ANDROID_NDK_GDBSERVER) $(SODEST) - echo set solib-search-path ./obj/local/$(ABI_PATH) >$(SODEST)/gdb.setup + echo set solib-search-path ./obj/local/$(ANDROID_APP_ABI) >$(SODEST)/gdb.setup build-ant: copy-stuff properties echo sdk.dir=$(ANDROID_SDK_HOME) >../../abs-lib/local.properties diff --git a/android/qa/desktop/Makefile b/android/qa/desktop/Makefile index 3c9efd7..2fbd815 100644 --- a/android/qa/desktop/Makefile +++ b/android/qa/desktop/Makefile @@ -77,10 +77,10 @@ buildrcs: copy-stuff: buildrcs # -# Copy shared libraries we need to libs/armeabi-v7a so that ant will +# Copy shared libraries we need to libs/$(ANDROID_APP_ABI) so that ant will # include them in the .apk. # -# Copy them to obj/local/armeabi-v7a, too, where gdb will look for +# Copy them to obj/local/$(ANDROID_APP_ABI), too, where gdb will look for # them. # mkdir -p $(SODEST) $(OBJLOCAL) @@ -165,7 +165,7 @@ copy-stuff: buildrcs # # Then the shared GNU C++ library - $(call COPYSO,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/$(ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR)libs/$(ABI_PATH)/libgnustl_shared.so) + $(call COPYSO,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/$(ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR)libs/$(ANDROID_APP_ABI)/libgnustl_shared.so) # # Then other "assets" that can be left in the .apk. Let the directory # structure under assets mimic the install set - except for the fact @@ -206,7 +206,7 @@ copy-stuff: buildrcs # Then gdbserver and gdb.setup so that we can debug with ndk-gdb. # cp $(ANDROID_NDK_GDBSERVER) $(SODEST) - echo set solib-search-path ./obj/local/$(ABI_PATH) >$(SODEST)/gdb.setup + echo set solib-search-path ./obj/local/$(ANDROID_APP_ABI) >$(SODEST)/gdb.setup build-ant: copy-stuff properties diff --git a/android/qa/sc/Makefile b/android/qa/sc/Makefile index 1c70fd8..91f4c48 100644 --- a/android/qa/sc/Makefile +++ b/android/qa/sc/Makefile @@ -11,8 +11,8 @@ BOOTSTRAP=org.libreoffice.android.Bootstrap APP_DATA_PATH=/data/data/$(APP_PACKAGE) -SODEST=libs/armeabi-v7a -OBJLOCAL=obj/local/armeabi-v7a +SODEST=libs/$(ANDROID_APP_ABI) +OBJLOCAL=obj/local/$(ANDROID_APP_ABI) define COPY cp $(1) $(SODEST)$(if $(2),/$(2)) && $(STRIP) --strip-debug $(SODEST)$(if $(2),/$(2),/$(notdir $(1))) && \ @@ -29,10 +29,10 @@ properties: copy-stuff: # -# Copy shared libraries we need to libs/armeabi-v7a so that ant will +# Copy shared libraries we need to libs/$(ANDROID_APP_ABI) so that ant will # include them in the .apk. # -# Copy them to obj/local/armeabi-v7a, too, where gdb will look for +# Copy them to obj/local/$(ANDROID_APP_ABI), too, where gdb will look for # them. # mkdir -p $(SODEST) $(OBJLOCAL) @@ -114,7 +114,7 @@ copy-stuff: done # # Then the shared GNU C++ library - $(call COPY,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/libgnustl_shared.so) + $(call COPY,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/libs/$(ANDROID_APP_ABI)/libgnustl_shared.so) # # Then other "assets" that can be left in the .apk. Let the directory # structure under assets mimic that under solver or workdir for now. @@ -151,7 +151,7 @@ copy-stuff: # # Then gdbserver and gdb.setup so that we can debug with ndk-gdb. cp $(ANDROID_NDK_HOME)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/gdbserver $(SODEST) - echo set solib-search-path ./obj/local/armeabi-v7a >$(SODEST)/gdb.setup + echo set solib-search-path ./obj/local/$(ANDROID_APP_ABI) >$(SODEST)/gdb.setup build-ant: copy-stuff properties diff --git a/android/qa/simple/Makefile b/android/qa/simple/Makefile index fad7730..fa97425 100644 --- a/android/qa/simple/Makefile +++ b/android/qa/simple/Makefile @@ -14,8 +14,8 @@ BOOTSTRAP=org.libreoffice.android.Bootstrap APP_DATA_PATH=/data/data/$(APP_PACKAGE) -SODEST=libs/armeabi-v7a -OBJLOCAL=obj/local/armeabi-v7a +SODEST=libs/$(ANDROID_APP_ABI) +OBJLOCAL=obj/local/$(ANDROID_APP_ABI) define COPY cp $(1) $(SODEST)$(if $(2),/$(2)) && $(STRIP) --strip-debug $(SODEST)$(if $(2),/$(2),/$(notdir $(1))) && \ @@ -28,10 +28,10 @@ all: build-ant copy-stuff: # -# Copy shared libraries we need to libs/armeabi-v7a so that ant will +# Copy shared libraries we need to libs/$(ANDROID_APP_ABI) so that ant will # include them in the .apk. # -# Copy them to obj/local/armeabi-v7a, too, where gdb will look for +# Copy them to obj/local/$(ANDROID_APP_ABI), too, where gdb will look for # them. # mkdir -p $(SODEST) $(OBJLOCAL) @@ -87,7 +87,7 @@ copy-stuff: done # # Then the shared GNU C++ library - $(call COPY,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/libgnustl_shared.so) + $(call COPY,$(ANDROID_NDK_HOME)/sources/cxx-stl/gnu-libstdc++/libs/$(ANDROID_APP_ABI)/libgnustl_shared.so) # # bridgetest components, not in solver for F in bridgetest constructors cppobj; do \ diff --git a/config_host.mk.in b/config_host.mk.in index a3723ab..b28cb7b 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -15,6 +15,7 @@ export ANT=@ANT@ export ANT_HOME=@ANT_HOME@ export ANT_LIB=@ANT_LIB@ export ANCIENT_BISON=@ANCIENT_BISON@ +export ANDROID_APP_ABI=@ANDROID_APP_ABI@ export ANDROID_NDK_HOME=@ANDROID_NDK_HOME@ export ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR=@ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR@ export ANDROID_NDK_GDBSERVER=@ANDROID_NDK_GDBSERVER@ diff --git a/configure.in b/configure.in index 39aaecc..94c8243 100644 --- a/configure.in +++ b/configure.in @@ -178,12 +178,16 @@ if test -n "$with_android_ndk"; then test -z "$STRIP" && STRIP=$ANDROID_ABI_PREBUILT_BIN/$android_gcc_prefix-strip if test $host_cpu = arm; then - ANDROIDCFLAGS="-Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=neon -Wl,--fix-cortex-a8 --sysroot $ANDROID_NDK_HOME/platforms/android-9/arch-arm -L$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}libs/armeabi-v7a" + ANDROID_APP_ABI=armeabi-v7a + ANDROIDCFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -Wl,--fix-cortex-a8" elif test $host_cpu = mips; then - ANDROIDCFLAGS="-Wno-psabi --sysroot $ANDROID_NDK_HOME/platforms/android-9/arch-mips -L$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}libs/mips" + ANDROID_APP_ABI=mips + ANDROIDCFLAGS="" else # x86 - ANDROIDCFLAGS="-Wno-psabi -march=atom --sysroot $ANDROID_NDK_HOME/platforms/android-9/arch-x86 -L$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}libs/x86" + ANDROID_APP_ABI=x86 + ANDROIDCFLAGS="-march=atom" fi + ANDROIDCFLAGS="$ANDROIDCFLAGS -Wno-psabi --sysroot $ANDROID_NDK_HOME/platforms/android-9/arch-$android_cpu -L$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}libs/$ANDROID_APP_ABI" # When using the 4.6 or newer toolchain, use the gold linker case "$with_android_ndk_toolchain_version" in @@ -218,6 +222,7 @@ fi AC_SUBST(ANDROID_NDK_HOME) AC_SUBST(ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR) AC_SUBST(ANDROID_NDK_GDBSERVER) +AC_SUBST(ANDROID_APP_ABI) dnl =================================================================== dnl Also --with-android-sdk is mandatory _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
