[Webkit-unassigned] [Bug 128596] New: 'ar T' is not portable and breaks the build on FreeBSD

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 11 05:32:01 PST 2014


           Summary: 'ar T' is not portable and breaks the build on FreeBSD
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: desrt at desrt.ca

Source/autotools/SetupLibtool.m4 has:

if test -z "$AR_FLAGS"; then

GNU ar documents the 'T' flag like so:

       T   Make the specified archive a thin archive.  If it already exists and is a regular archive, the existing
           members must be present in the same directory as archive.

FreeBSD ar documents the 'T' flag like so:

     -T      Use only the first fifteen characters of the archive member name
             or command line file name argument when naming archive members.

This fragment of Source/WebKit2/GNUmakefile.am:

libWebCoreLayerGtk2.a: $(webcore_layer_gtk2_deps)
        $(AM_V_at)$(shell rm -f $@)
        $(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)

results in a bunch of arguments like './Source/WebCore/platform/graphics/libPlatform_la-FloatRect.o' being passed to 'ar'.

Of course, most of those arguments will share the same first 15 characters, and as a result, a large number of files are not included in the archive.

Webkit should not use 'ar T' on systems with a non-GNU toolchain, or it should explicitly require a GNU toolchain and make sure it uses that.

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list