Title: [160482] trunk
Revision
160482
Author
[email protected]
Date
2013-12-12 02:10:36 -0800 (Thu, 12 Dec 2013)

Log Message

Use of ar T option not supported by older binutils
https://bugs.webkit.org/show_bug.cgi?id=118732

Reviewed by Gustavo Noronha Silva.

.: 

* Source/autotools/SetupLibtool.m4: Make the AR_FLAGS value usable inside makefiles as an Automake variable.

Source/WebKit2: 

* GNUmakefile.am: To support non-thin archives when generating the WebCoreLayerGtk2 archive,
switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
new archive. Non-thin archives also pose the problem as their members are only noted by the basename
of the member's object file, and not the full path to it. To work around that, all the object files
under the build directory are listed by their relative paths. The members of various archives then have
the basenames of their paths grepped against that list, with the found path correlating to the member
finally added as the new member of the WebCoreLayerGtk2 archive.

Tools: 

* TestWebKitAPI/GNUmakefile.am: To support non-thin archives when generating the WebCoreLayer archive,
switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
new archive. Non-thin archives also pose the problem as their members are only noted by the basename
of the member's object file, and not the full path to it. To work around that, all the object files
under the build directory are listed by their relative paths. The members of various archives then have
the basenames of their paths grepped against that list, with the found path correlating to the member
finally added as the new member of the WebCoreLayer archive.

Modified Paths

Diff

Modified: trunk/ChangeLog (160481 => 160482)


--- trunk/ChangeLog	2013-12-12 09:17:23 UTC (rev 160481)
+++ trunk/ChangeLog	2013-12-12 10:10:36 UTC (rev 160482)
@@ -1,3 +1,12 @@
+2013-12-12  Zan Dobersek  <[email protected]>
+
+        Use of ar T option not supported by older binutils
+        https://bugs.webkit.org/show_bug.cgi?id=118732
+
+        Reviewed by Gustavo Noronha Silva.
+
+        * Source/autotools/SetupLibtool.m4: Make the AR_FLAGS value usable inside makefiles as an Automake variable.
+
 2013-12-11  Javier Fernandez  <[email protected]>
 
         Arithmetic overflow when computing max-height CSS property with subpixel layout

Modified: trunk/Source/WebKit2/ChangeLog (160481 => 160482)


--- trunk/Source/WebKit2/ChangeLog	2013-12-12 09:17:23 UTC (rev 160481)
+++ trunk/Source/WebKit2/ChangeLog	2013-12-12 10:10:36 UTC (rev 160482)
@@ -1,3 +1,18 @@
+2013-12-12  Zan Dobersek  <[email protected]>
+
+        Use of ar T option not supported by older binutils
+        https://bugs.webkit.org/show_bug.cgi?id=118732
+
+        Reviewed by Gustavo Noronha Silva.
+
+        * GNUmakefile.am: To support non-thin archives when generating the WebCoreLayerGtk2 archive,
+        switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
+        new archive. Non-thin archives also pose the problem as their members are only noted by the basename
+        of the member's object file, and not the full path to it. To work around that, all the object files
+        under the build directory are listed by their relative paths. The members of various archives then have
+        the basenames of their paths grepped against that list, with the found path correlating to the member
+        finally added as the new member of the WebCoreLayerGtk2 archive.
+
 2013-12-12  Carlos Garcia Campos  <[email protected]>
 
         [GTK] WebProcess tests are failing with newer glib

Modified: trunk/Source/WebKit2/GNUmakefile.am (160481 => 160482)


--- trunk/Source/WebKit2/GNUmakefile.am	2013-12-12 09:17:23 UTC (rev 160481)
+++ trunk/Source/WebKit2/GNUmakefile.am	2013-12-12 10:10:36 UTC (rev 160482)
@@ -667,7 +667,9 @@
 WebCoreLayerGtk2.a: $(webcore_layer_gtk2_deps)
 	$(AM_V_GEN)
 	$(AM_V_at)$(shell rm -f $@)
-	$(AM_V_at)$(foreach archive, $(webcore_layer_gtk2_archives), $(shell ar t $(archive) | xargs -n50 ar cruT $@))
+	$(AM_V_at)$(shell find . -name "*.o" > objects_list)
+	$(AM_V_at)$(foreach archive, $(webcore_layer_gtk2_archives), $(shell $(AR) t $(archive) | xargs -n1 basename | xargs -I obj_file grep -F obj_file objects_list | xargs -n50 $(AR) $(AR_FLAGS) $@))
+	$(AM_V_at)$(shell rm -f objects_list)
 
 DISTCLEANFILES += \
 	$(top_builddir)/WebCoreLayerGtk2.a

Modified: trunk/Source/autotools/SetupLibtool.m4 (160481 => 160482)


--- trunk/Source/autotools/SetupLibtool.m4	2013-12-12 09:17:23 UTC (rev 160481)
+++ trunk/Source/autotools/SetupLibtool.m4	2013-12-12 10:10:36 UTC (rev 160482)
@@ -8,6 +8,7 @@
 if test -z "$AR_FLAGS"; then
     AR_FLAGS="cruT"
 fi
+AC_SUBST([AR_FLAGS])
 
 DOLT
 AC_DISABLE_STATIC

Modified: trunk/Tools/ChangeLog (160481 => 160482)


--- trunk/Tools/ChangeLog	2013-12-12 09:17:23 UTC (rev 160481)
+++ trunk/Tools/ChangeLog	2013-12-12 10:10:36 UTC (rev 160482)
@@ -1,3 +1,18 @@
+2013-12-12  Zan Dobersek  <[email protected]>
+
+        Use of ar T option not supported by older binutils
+        https://bugs.webkit.org/show_bug.cgi?id=118732
+
+        Reviewed by Gustavo Noronha Silva.
+
+        * TestWebKitAPI/GNUmakefile.am: To support non-thin archives when generating the WebCoreLayer archive,
+        switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
+        new archive. Non-thin archives also pose the problem as their members are only noted by the basename
+        of the member's object file, and not the full path to it. To work around that, all the object files
+        under the build directory are listed by their relative paths. The members of various archives then have
+        the basenames of their paths grepped against that list, with the found path correlating to the member
+        finally added as the new member of the WebCoreLayer archive.
+
 2013-12-11  Myles C. Maxfield  <[email protected]>
 
         check-webkit-style shouldn't check spacing in #if preprocessor lines

Modified: trunk/Tools/TestWebKitAPI/GNUmakefile.am (160481 => 160482)


--- trunk/Tools/TestWebKitAPI/GNUmakefile.am	2013-12-12 09:17:23 UTC (rev 160481)
+++ trunk/Tools/TestWebKitAPI/GNUmakefile.am	2013-12-12 10:10:36 UTC (rev 160482)
@@ -124,7 +124,9 @@
 WebCoreLayer.a: $(webcore_layer_deps)
 	$(AM_V_GEN)
 	$(AM_V_at)$(shell rm -f $@)
-	$(AM_V_at)$(foreach archive, $(webcore_layer_archives), $(shell ar t $(archive) | xargs -n50 ar cruT $@))
+	$(AM_V_at)$(shell find . -name "*.o" > objects_list)
+	$(AM_V_at)$(foreach archive, $(webcore_layer_archives), $(shell $(AR) t $(archive) | xargs -n1 basename | xargs -I obj_file grep -F obj_file objects_list | xargs -n50 $(AR) $(AR_FLAGS) $@))
+	$(AM_V_at)$(shell rm -f objects_list)
 
 DISTCLEANFILES += \
 	$(top_builddir)/WebCoreLayer.a
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to