Title: [186987] trunk
Revision
186987
Author
[email protected]
Date
2015-07-17 23:32:42 -0700 (Fri, 17 Jul 2015)

Log Message

Bring back the GNU ar check to create thin archives on non-Linux systems
https://bugs.webkit.org/show_bug.cgi?id=146681

Patch by Ting-Wei Lan <[email protected]> on 2015-07-17
Reviewed by Martin Robinson.

We already use GNU ar thin archive feature to save time and disk space
on creating static archives, but it is only enabled on Linux. Without
this feature, the debug build of WebCore can be larger than 4 GiB,
which can cause error because GNU ar format uses 32-bit integer to
store offsets in the symbol table. This patch is similar to
https://bugs.webkit.org/show_bug.cgi?id=128596.

* Source/cmake/OptionsCommon.cmake:

Modified Paths

Diff

Modified: trunk/ChangeLog (186986 => 186987)


--- trunk/ChangeLog	2015-07-18 05:51:06 UTC (rev 186986)
+++ trunk/ChangeLog	2015-07-18 06:32:42 UTC (rev 186987)
@@ -1,3 +1,19 @@
+2015-07-17  Ting-Wei Lan  <[email protected]>
+
+        Bring back the GNU ar check to create thin archives on non-Linux systems
+        https://bugs.webkit.org/show_bug.cgi?id=146681
+
+        Reviewed by Martin Robinson.
+
+        We already use GNU ar thin archive feature to save time and disk space
+        on creating static archives, but it is only enabled on Linux. Without
+        this feature, the debug build of WebCore can be larger than 4 GiB,
+        which can cause error because GNU ar format uses 32-bit integer to
+        store offsets in the symbol table. This patch is similar to
+        https://bugs.webkit.org/show_bug.cgi?id=128596.
+
+        * Source/cmake/OptionsCommon.cmake:
+
 2015-07-14  Carlos Alberto Lopez Perez  <[email protected]>
 
         [GTK] [Wayland] Build by default the X11 and Wayland targets.

Modified: trunk/Source/cmake/OptionsCommon.cmake (186986 => 186987)


--- trunk/Source/cmake/OptionsCommon.cmake	2015-07-18 05:51:06 UTC (rev 186986)
+++ trunk/Source/cmake/OptionsCommon.cmake	2015-07-18 06:32:42 UTC (rev 186987)
@@ -15,7 +15,8 @@
     set(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CMAKE_CXX_COMPILER} -E -x c++")
 endif ()
 
-if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+execute_process(COMMAND ${CMAKE_AR} -V OUTPUT_VARIABLE AR_VERSION)
+if ("${AR_VERSION}" MATCHES "^GNU ar")
     set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
     set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
     set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to