[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.1' - 8 commits - config_host.mk.in configure.ac icu/icu4c-build.patch vcl/Library_vcl.mk

Tor Lillqvist tml at collabora.com
Mon Feb 10 01:50:16 PST 2014


 config_host.mk.in     |    1 
 configure.ac          |  102 ++++++++++++++++++++++++++++++++++++++------------
 icu/icu4c-build.patch |   19 +++++++++
 vcl/Library_vcl.mk    |    3 -
 4 files changed, 101 insertions(+), 24 deletions(-)

New commits:
commit fa205eab3712d41e97b80c80baac3f8094f7e0a5
Author: Tor Lillqvist <tml at collabora.com>
Date:   Mon Feb 10 11:40:33 2014 +0200

    Use IOKit *framework*, not library directly. And ApplicationServices
    
    Change-Id: I6e67bb5a4c540d0be605c54c833ebb0b4187c771

diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index b8a1f97..cff99f6 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -79,7 +79,8 @@ $(eval $(call gb_Library_use_libraries,vcl,\
 
 ifeq ($(OS),MACOSX)
 $(eval $(call gb_Library_add_libs,vcl,\
-    -lIOKit \
+    -framework IOKit \
+    -framework ApplicationServices \
     -lobjc \
 ))
 endif
commit 00ff1b319bfe05be78afa51dd01a06951ae02ac9
Author: Tor Lillqvist <tml at iki.fi>
Date:   Tue Jun 18 17:04:55 2013 +0300

    Stop defining "inline" as empty on OS X and iOS in icu
    
    It causes problems on newer SDKs.
    
    Change-Id: I6bdb1e50cb239d99b190460fdb11d5c684e92275

diff --git a/icu/icu4c-build.patch b/icu/icu4c-build.patch
index 30ba3ad..4e5d6d9 100644
--- a/icu/icu4c-build.patch
+++ b/icu/icu4c-build.patch
@@ -1,3 +1,22 @@
+--- misc/icu/source/common/umutex.h
++++ misc/icu/source/common/umutex.h
+@@ -48,16 +48,8 @@
+ #endif  /* win32 */
+ 
+ #if U_PLATFORM_IS_DARWIN_BASED
+-#if defined(__STRICT_ANSI__)
+-#define UPRV_REMAP_INLINE
+-#define inline
+-#endif
+ #include <libkern/OSAtomic.h>
+ #define USE_MAC_OS_ATOMIC_INCREMENT 1
+-#if defined(UPRV_REMAP_INLINE)
+-#undef inline
+-#undef UPRV_REMAP_INLINE
+-#endif
+ #endif
+ 
+ /*
 --- misc/icu/source/tools/toolutil/pkg_genc.h
 +++ misc/build/icu/source/tools/toolutil/pkg_genc.h
 @@ -58,7 +58,7 @@
commit d242e4d89d50beea87f3e7cea94bb34dcf4e3d1e
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 24 01:01:22 2013 +0300

    Enforce avoiding looking for non-existent system dicts on OS X and Windows
    
    It is totally pointless to look for "system" /usr/share/myspell,
    hyphen and mythes dictionaries on systems where they don't exist. Use
    only bundled dictionaries.
    
    (For OS X, we have code to use a system-specific spell checking API.)
    
    Change-Id: I13aed7225d003e608f61de95671feb2e50b26c25

diff --git a/configure.ac b/configure.ac
index f7c8087..cf87aab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4460,6 +4460,14 @@ else
 fi
 AC_SUBST(WITH_MYSPELL_DICTS)
 
+# There are no "system" myspell, hyphen or mythes dictionaries on OS X, Windows, Android or iOS.
+if test $_os = Darwin -o $_os = WINNT -o $_os = iOS -o $_os = Android; then
+    if test "$with_system_dicts" = yes; then
+        AC_MSG_ERROR([There are no system dicts on this OS in the formats the 3rd-party libs we use expect]);
+    fi
+    with_system_dicts=no
+fi
+
 AC_MSG_CHECKING([whether to use dicts from external paths])
 if test -z "$with_system_dicts" -o "$with_system_dicts" != "no"; then
     AC_MSG_RESULT([yes])
commit 664c371b556b4717bd7ce2b16d5a0a55fd4d0681
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Aug 29 08:51:01 2013 +0200

    Do not silently ignore --enable-libc++

diff --git a/configure.ac b/configure.ac
index f675204..f7c8087 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2563,6 +2563,9 @@ if test "$_os" = "Darwin"; then
         AC_MSG_CHECKING([what compiler to use])
         case $with_macosx_sdk in
         10.6)
+            if test "$enable_libc__" = yes; then
+                AC_MSG_ERROR([--enable-libc++ requires --with-macosx-version-min-required >= 10.7])
+            fi
             # did someone copy her 10.6 sdk into xcode 4 (needed on Mountain Lion)?
             if test "$(echo $MACOSX_SDK_PATH | cut -c1-23)" = "/Applications/Xcode.app"; then
                 CC="`xcrun -find gcc` $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
@@ -2574,7 +2577,10 @@ if test "$_os" = "Darwin"; then
             fi
             ;;
         10.7|10.8|10.9)
-            if test "$enable_libc__" = yes -a "$with_macosx_version_min_required" != 10.6; then
+            if test "$enable_libc__" = yes; then
+                if test "$with_macosx_version_min_required" = 10.6; then
+                    AC_MSG_ERROR([--enable-libc++ requires --with-macosx-version-min-required >= 10.7])
+                fi
                 # Use libc++ instead of libstdc++ when possible
                 # and also compile as C++11
                 stdlib="-std=c++11 -stdlib=libc++"
commit e04715d09f8dc006c79d45c4947f4bde9c3343c4
Author: Tor Lillqvist <tml at iki.fi>
Date:   Wed Jun 19 13:36:27 2013 +0300

    Don't use -d32 when building 64-bit code
    
    Change-Id: I83a960cebb8347170a08d2fda7ed11050b8c4229

diff --git a/configure.ac b/configure.ac
index af48c3f..f675204 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6192,7 +6192,7 @@ if test "$SOLAR_JAVA" != ""; then
         fi
         JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"`
         JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"`
-    elif test "$_os" = "Darwin"; then
+    elif test $_os = Darwin -a "$BITNESS_OVERRIDE" = ""; then
         dnl HACK:  There currently is only a 32 bit version of LibreOffice for Mac OS X,
         dnl and Tiger Java complains about -d32 while Snow Leopard Java needs it
         dnl to run in 32 bit mode and be able to load LibreOffice jnilibs:
commit 4c03ceedcd9ff0c70bc323e6398d01f785a52929
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jun 13 11:11:41 2013 +0300

    Simplify EPM tests for OS X
    
    We always should use the internal epm anyway on OS X, so no need to
    look for PackageMaker.app in /Developer which doesn't even exist any
    more.
    
    Change-Id: I943f34e14e9ce0c3bec5bd7b86612a62e5b9e83d

diff --git a/configure.ac b/configure.ac
index f9077f1..af48c3f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6842,7 +6842,9 @@ AC_MSG_CHECKING([whether to enable EPM for packing])
 if test "$enable_epm" = "yes"; then
     AC_MSG_RESULT([yes])
     if test "$_os" != "WINNT"; then
-        if test -n "$with_epm"; then
+        if test $_os = Darwin; then
+            EPM=internal
+        elif test -n "$with_epm"; then
             EPM=$with_epm
         else
             AC_PATH_PROG(EPM, epm, no)
@@ -6863,17 +6865,6 @@ if test "$enable_epm" = "yes"; then
             if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \
                test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then
                 AC_MSG_RESULT([OK, >= 3.7])
-                if test "$_os" = "Darwin"; then
-                    AC_MSG_CHECKING([which PackageMaker EPM thinks to use])
-                    _pm=`strings $EPM | grep PackageMaker | cut -d" " -f1`
-                    if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then
-                        AC_MSG_ERROR([$_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)])
-                    elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then
-                        AC_MSG_RESULT([$_pm, ok])
-                    else # we never should get here, but go safe
-                        AC_MSG_ERROR([$_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)])
-                    fi
-                fi
             else
                 AC_MSG_RESULT([too old. epm >= 3.7 is required.])
                 echo "EPM will be built."
commit 65fc90303effb4f270b8a9fae97310192a036f90
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Jun 20 17:40:47 2013 +0300

    Look for the 10.9 SDK, too
    
    Change-Id: Iee70f531422fe6a312830dc9aa2d57e4f802953d

diff --git a/configure.ac b/configure.ac
index f8941d8..f9077f1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2406,8 +2406,8 @@ if test "$_os" = "Darwin"; then
         BITNESS_OVERRIDE=64
     fi
 
-    # If no --with-macosx-sdk option is given, look for 10.6, 10.7
-    # and 10.8 SDKs, in that order. If not found in some (old)
+    # If no --with-macosx-sdk option is given, look for 10.6, 10.7,
+    # 10.8 and 10.9 SDKs, in that order. If not found in some (old)
     # default locations, try the xcode-select tool.
 
     # The intent is that for "most" Mac-based developers, a suitable
@@ -2418,8 +2418,8 @@ if test "$_os" = "Darwin"; then
     # addition to Xcode 4 in /Applications/Xcode.app, the 10.6 SDK
     # should be found.
 
-    # For developers with a current Xcode 4 installed from the Mac App
-    # Store, the 10.6, 10.7 or 10.8 SDK should be found.
+    # For developers with a current Xcode, the lowest-numbered SDK
+    # should be found.
 
     AC_MSG_CHECKING([what Mac OS X SDK to use])
 
@@ -2440,6 +2440,8 @@ if test "$_os" = "Darwin"; then
                 with_macosx_sdk=10.7
             elif test -d "$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk"; then
                 with_macosx_sdk=10.8
+            elif test -d "$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk"; then
+                with_macosx_sdk=10.9
             fi
         fi
         if test -z "$with_macosx_sdk"; then
@@ -2457,6 +2459,9 @@ if test "$_os" = "Darwin"; then
     10.8)
         MACOSX_SDK_VERSION=1080
         ;;
+    10.9)
+        MACOSX_SDK_VERSION=1090
+        ;;
     *)
         AC_MSG_ERROR([with-macosx-sdk $with_macosx_sdk is not a supported value, supported value are 10.6--8])
         ;;
@@ -2464,7 +2469,7 @@ if test "$_os" = "Darwin"; then
 
     # Next find it (again, if we deduced its version above by finding
     # it... but we need to look for it once more in case
-    # --with-macosx-sdk was given so that the aboce search did not
+    # --with-macosx-sdk was given so that the above search did not
     # happen).
     if test -z "$MACOSX_SDK_PATH"; then
         case $with_macosx_sdk in
@@ -2482,7 +2487,7 @@ if test "$_os" = "Darwin"; then
                 fi
             fi
             ;;
-        10.7|10.8)
+        10.7)
             if test -d /Developer/SDKs/MacOSX$with_macosx_sdk.sdk; then
                 MACOSX_SDK_PATH=/Developer/SDKs/MacOSX$with_macosx_sdk.sdk
             elif test -x /usr/bin/xcode-select; then
@@ -2492,6 +2497,12 @@ if test "$_os" = "Darwin"; then
                 fi
             fi
             ;;
+        10.8|10.9)
+            xcodepath="`xcode-select -print-path`"
+            if test -d "$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$with_macosx_sdk.sdk"; then
+                MACOSX_SDK_PATH="$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$with_macosx_sdk.sdk"
+            fi
+            ;;
         esac
         if test -z "$MACOSX_SDK_PATH"; then
             AC_MSG_ERROR([Could not figure out the location of Mac OS X $with_macosx_sdk SDK])
@@ -2520,8 +2531,11 @@ if test "$_os" = "Darwin"; then
     10.8)
         MAC_OS_X_VERSION_MIN_REQUIRED="1080"
         ;;
+    10.9)
+        MAC_OS_X_VERSION_MIN_REQUIRED="1090"
+        ;;
     *)
-        AC_MSG_ERROR([with-macosx-version-min-required $with_macosx_version_min_required is not a supported value, supported value are 10.6--8])
+        AC_MSG_ERROR([with-macosx-version-min-required $with_macosx_version_min_required is not a supported value, supported value are 10.6--9])
         ;;
     esac
 
@@ -2559,7 +2573,7 @@ if test "$_os" = "Darwin"; then
                 CXX="g++-4.2 $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
             fi
             ;;
-        10.7|10.8)
+        10.7|10.8|10.9)
             if test "$enable_libc__" = yes -a "$with_macosx_version_min_required" != 10.6; then
                 # Use libc++ instead of libstdc++ when possible
                 # and also compile as C++11
@@ -2592,6 +2606,9 @@ if test "$_os" = "Darwin"; then
     10.8)
         MAC_OS_X_VERSION_MAX_ALLOWED="1080"
         ;;
+    10.9)
+        MAC_OS_X_VERSION_MAX_ALLOWED="1090"
+        ;;
     *)
         AC_MSG_ERROR([with-macosx-version-max-allowed $with_macosx_version_max_allowed is not a supported value, supported value are 10.6--8])
         ;;
commit bbceb4294fc8876e0e853d461720b35bcea85622
Author: Tor Lillqvist <tml at iki.fi>
Date:   Wed Apr 17 23:30:48 2013 +0300

    Enable optionally using libc++ on OS X (when targeting 10.7 or later)
    
    Experimental work in progress.
    
    Change-Id: I92663e07c7322037182141603f72c6d442da6ee9

diff --git a/config_host.mk.in b/config_host.mk.in
index 9268c7b..d96eec9 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -63,6 +63,7 @@ export COMMONS_LOGGING_JAR=@COMMONS_LOGGING_JAR@
 export COMPATH=@COMPATH@
 export COMPILER_PLUGINS=@COMPILER_PLUGINS@
 export COM_GCC_IS_CLANG=@COM_GCC_IS_CLANG@
+export CPP_LIBRARY=@CPP_LIBRARY@
 export CPPUNIT_CFLAGS=$(gb_SPACE)@CPPUNIT_CFLAGS@
 export CPPUNIT_LIBS=$(gb_SPACE)@CPPUNIT_LIBS@
 export CPU=@CPU@
diff --git a/configure.ac b/configure.ac
index 9e9f41d..f8941d8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -367,6 +367,10 @@ DLLPOST=".so"
 
 LINKFLAGSNOUNDEFS="-Wl,-z,defs"
 
+# Most platforms use GNU libstdc++
+CPP_LIBRARY="GLIBCXX"
+AC_SUBST(CPP_LIBRARY)
+
 case "$host_os" in
 
 solaris*)
@@ -1139,6 +1143,13 @@ AC_ARG_WITH(macosx-bundle-identifier,
          org.libreoffice.script ("script", huh?).]),
 ,with_macosx_bundle_identifier=org.libreoffice.script)
 
+AC_ARG_ENABLE(libc++,
+    AS_HELP_STRING([--enable-libc++],
+        [Use the libc++ C++ library instead of GNU libstdc++ on OS X. Only effective
+         if --with-macosx-version-min-required is 10.7 or later. Experimental work in
+         progress, very likely breaks something, don't use unless you plan to fix that.]),
+,)
+
 AC_ARG_ENABLE(ios-simulator,
     AS_HELP_STRING([--enable-ios-simulator],
         [Build for the iOS Simulator, not iOS device.]),
@@ -2549,12 +2560,26 @@ if test "$_os" = "Darwin"; then
             fi
             ;;
         10.7|10.8)
+            if test "$enable_libc__" = yes -a "$with_macosx_version_min_required" != 10.6; then
+                # Use libc++ instead of libstdc++ when possible
+                # and also compile as C++11
+                stdlib="-std=c++11 -stdlib=libc++"
+                CPP_LIBRARY="LIBCPP"
+            fi
             CC="`xcrun -find clang` $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
-            CXX="`xcrun -find clang++` $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
+            CXX="`xcrun -find clang++` $bitness $stdlib -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
             XCRUN=xcrun
             ;;
         esac
         AC_MSG_RESULT([$CC and $CXX])
+    else
+        # In case somebody insists on passing in CXX, and perhaps CFLAGS or CXXFLAGS to choose
+        # compiler. Not really something we encourage or support.
+        case "$CXX $CFLAGS $CXXFLAGS" in
+        *-stdlib=libc++*)
+            CPP_LIBRARY="LIBCPP"
+            ;;
+        esac
     fi
 
     case "$with_macosx_version_max_allowed" in
@@ -3461,6 +3486,7 @@ cygwin*)
     OS=WNT
     RTL_OS=Windows
     P_SEP=";"
+    CPP_LIBRARY="MSVCRT"
 
     case "$host_cpu" in
     i*86|x86_64)
@@ -5611,7 +5637,15 @@ b thingb[]={{0,0}, {1,1}};
 size_t i = sizeof(sal_n_array_size(thinga));
 size_t j = sizeof(sal_n_array_size(thingb));
 return !(i != 0 && j != 0);
-]])],[HAVE_CXX0X=TRUE CXXFLAGS_CXX11=-std=gnu++0x],[])
+]])
+        ],[
+            HAVE_CXX0X=TRUE
+            if test "$CPP_LIBRARY" = LIBCPP -a $_os = Darwin; then
+                : Already set CXX to contain -std=c++11
+            else
+                CXXFLAGS_CXX11=-std=gnu++0x
+            fi
+        ],[])
 
         AC_LANG_POP([C++])
         CXXFLAGS=$save_CXXFLAGS


More information about the Libreoffice-commits mailing list