[Libreoffice-commits] core.git: 4 commits - configure.ac external/icu

Tor Lillqvist tml at collabora.com
Wed Apr 16 03:07:13 PDT 2014


 configure.ac                        |   38 ++++++++++++++++++++----------------
 external/icu/ExternalProject_icu.mk |    3 +-
 2 files changed, 24 insertions(+), 17 deletions(-)

New commits:
commit 253ffdf2b0c22247e6208e0881838b1896c63116
Author: Tor Lillqvist <tml at collabora.com>
Date:   Wed Apr 16 13:00:25 2014 +0300

    Pass -flto as part of CC and CXX when building external libs for Android
    
    Using -flto and Clang still doesn't work, though, build stops already in
    fontconfig. The linker claims the expat library doesn't have an archive symbol
    table. Go figure, oh well, won't bother trying any more for now.
    
    Change-Id: Icbd65269e958665704104322e66a5b3a78fac75e

diff --git a/configure.ac b/configure.ac
index 44d432e..eaa46b5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -391,6 +391,12 @@ if test -n "$with_android_ndk"; then
         ;;
     esac
 
+    if test "$ENABLE_LTO" = TRUE; then
+        # -flto comes from com_GCC_degs.mk, too, but we need to make sure it gets passed as part of
+        # $CC and $CXX when building external libraries
+        ANDROIDCFLAGS="$ANDROIDCFLAGS -flto"
+    fi
+
     # gdbserver can be in different locations
     if test -f $ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.4.3/prebuilt/gdbserver; then
         ANDROID_NDK_GDBSERVER=$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.4.3/prebuilt/gdbserver
commit 3ac1663a60926ab2f3fbbd1219455e37d5a83b45
Author: Tor Lillqvist <tml at collabora.com>
Date:   Wed Apr 16 12:02:10 2014 +0300

    No use to build tools or extras when cross-compiling
    
    Also, for some reason building the endian check thing fails when trying to use
    Clang for Android, so just hardcode it.
    
    Change-Id: I04fb7ba4f88a1dc6a4e743b39e7c0cd19d7e3598

diff --git a/external/icu/ExternalProject_icu.mk b/external/icu/ExternalProject_icu.mk
index 4450260..8f1104e 100644
--- a/external/icu/ExternalProject_icu.mk
+++ b/external/icu/ExternalProject_icu.mk
@@ -77,8 +77,9 @@ $(call gb_ExternalProject_get_state_target,icu,build) :
 		CXXFLAGS=$(icu_CXXFLAGS) LDFLAGS=$(icu_LDFLAGS) \
 		./configure \
 			--disable-layout --disable-samples \
+			$(if $(CROSS_COMPILING),--disable-tools --disable-extras) \
 			$(if $(filter IOS ANDROID,$(OS)),--disable-dyload) \
-			$(if $(filter ANDROID,$(OS)),--disable-strict) \
+			$(if $(filter ANDROID,$(OS)),--disable-strict ac_cv_c_bigendian=no) \
 			$(if $(filter SOLARIS AIX,$(OS)),--disable-64bit-libs) \
 			$(if $(filter TRUE,$(DISABLE_DYNLOADING)),\
 				--enable-static --disable-shared,\
commit 9eb25b0fb9606b7740ba92697fbd5acf34dd9154
Author: Tor Lillqvist <tml at collabora.com>
Date:   Wed Apr 16 12:01:51 2014 +0300

    Probably not a good idea to use gold with LTO
    
    Change-Id: I72559ebabecad288f4c56bb9ff1eddbb498a2d35

diff --git a/configure.ac b/configure.ac
index bc4206a..44d432e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -208,6 +208,19 @@ if test -z "$SED"; then
     AC_MSG_ERROR([install sed to run this script])
 fi
 
+# Set the ENABLE_LTO variable
+# ===================================================================
+AC_MSG_CHECKING([whether to use link-time optimization])
+if test -n "$enable_lto" -a "$enable_lto" != "no"; then
+    ENABLE_LTO="TRUE"
+    AC_MSG_RESULT([yes])
+    AC_DEFINE(STATIC_LINKING)
+else
+    ENABLE_LTO=""
+    AC_MSG_RESULT([no])
+fi
+AC_SUBST(ENABLE_LTO)
+
 dnl ===================================================================
 dnl When building for Android, --with-android-ndk,
 dnl --with-android-ndk-toolchain-version and --with-android-sdk are
@@ -372,7 +385,7 @@ if test -n "$with_android_ndk"; then
     case "$with_android_ndk_toolchain_version" in
     4.[[6789]]*|[[56789]].*|clang*)
         # The NDK doesn't have ld.gold for MIPS for some reason
-        if test "$host_cpu" != mips; then
+        if test "$host_cpu" != mips -a "$ENABLE_LTO" != TRUE; then
             ANDROIDCFLAGS="$ANDROIDCFLAGS -fuse-ld=gold"
         fi
         ;;
@@ -2536,19 +2549,6 @@ if test "$COMPATH" = "."; then
 fi
 COMPATH=`echo $COMPATH | $SED "s@/[[Bb]][[Ii]][[Nn]]\\\$@@"`
 
-# Set the ENABLE_LTO variable
-# ===================================================================
-AC_MSG_CHECKING([whether to use link-time optimization])
-if test -n "$enable_lto" -a "$enable_lto" != "no"; then
-    ENABLE_LTO="TRUE"
-    AC_MSG_RESULT([yes])
-    AC_DEFINE(STATIC_LINKING)
-else
-    ENABLE_LTO=""
-    AC_MSG_RESULT([no])
-fi
-AC_SUBST(ENABLE_LTO)
-
 dnl ===================================================================
 dnl Java support
 dnl ===================================================================
commit c32f6050bd41e4b404002593d1e95558f8db4a35
Author: Tor Lillqvist <tml at collabora.com>
Date:   Wed Apr 16 11:48:34 2014 +0300

    Use the 4.8 gcc toolchain in conjunction with Clang for Android
    
    That's what the $NDK/toolchains/arm-linux-androideabi-clang3.4/setup.mk does,
    too.
    
    Change-Id: I90555bc5f026761ebcf7a2dce650382b6c0d94da

diff --git a/configure.ac b/configure.ac
index 05a2931..bc4206a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -272,7 +272,7 @@ if test -n "$with_android_ndk"; then
         ;;
     clang3.3|clang3.4)
         AC_MSG_WARN([Building with the Clang tool-chain is known to break in the bridges module, fix that please])
-        ANDROID_BINUTILS_DIR=$ANDROID_NDK_HOME/toolchains/$android_platform_prefix-4.6
+        ANDROID_BINUTILS_DIR=$ANDROID_NDK_HOME/toolchains/$android_platform_prefix-4.8
         ANDROID_COMPILER_DIR=$ANDROID_NDK_HOME/toolchains/llvm-${with_android_ndk_toolchain_version#clang}
         ANDROID_USING_CLANG=true
         ;;
@@ -314,7 +314,7 @@ if test -n "$with_android_ndk"; then
     */bin\ */bin*)
         # Trailing slash intentional and necessary, compare to how this is used
         if test -n "$ANDROID_USING_CLANG"; then
-            ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR=4.6/
+            ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR=4.8/
         else
             ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR="${with_android_ndk_toolchain_version}/"
         fi


More information about the Libreoffice-commits mailing list