Title: [289801] trunk/Tools/buildstream
Revision
289801
Author
[email protected]
Date
2022-02-15 04:31:32 -0800 (Tue, 15 Feb 2022)

Log Message

[Flatpak SDK] Add mold linker
https://bugs.webkit.org/show_bug.cgi?id=236362

Reviewed by Philippe Normand.

The Mold linker claims to be faster than Gold and LLD, and while it does not support LTO
at the moment, it has reachd a reasonable level of maturity and can be used for projects
as complex as WebKit already.

Mold can be used in combination with the Clang compiler driver or GCC 12+ by passing
-fuse-ld=mold as a linker flag, for example as follows:

  % LDFLAGS=-fuse-ld=mold Tools/Scripts/build-webkit [...]
  % LDFLAGS=-fuse-ld=mold CC=clang CXX=clang++ Tools/Scripts/build-webkit [...]

As GCC 11 and older, the -fuse-ld=mold option is not supported. It is still possible to
use -B to instruct the compiler driver to try a different path first for helper programs,
and a wrapper for Mold called "ld" is available as well:

  % LDFLAGS=-B/usr/libexec/mold Tools/Scripts/build-webkit [...]

* elements/sdk-platform.bst: List sdk/mold.bst as part of the SDK.
* elements/sdk/mold.bst: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/buildstream/ChangeLog (289800 => 289801)


--- trunk/Tools/buildstream/ChangeLog	2022-02-15 12:01:59 UTC (rev 289800)
+++ trunk/Tools/buildstream/ChangeLog	2022-02-15 12:31:32 UTC (rev 289801)
@@ -1,3 +1,29 @@
+2022-02-15  Adrian Perez de Castro  <[email protected]>
+
+        [Flatpak SDK] Add mold linker
+        https://bugs.webkit.org/show_bug.cgi?id=236362
+
+        Reviewed by Philippe Normand.
+
+        The Mold linker claims to be faster than Gold and LLD, and while it does not support LTO
+        at the moment, it has reachd a reasonable level of maturity and can be used for projects
+        as complex as WebKit already.
+
+        Mold can be used in combination with the Clang compiler driver or GCC 12+ by passing
+        -fuse-ld=mold as a linker flag, for example as follows:
+
+          % LDFLAGS=-fuse-ld=mold Tools/Scripts/build-webkit [...]
+          % LDFLAGS=-fuse-ld=mold CC=clang CXX=clang++ Tools/Scripts/build-webkit [...]
+
+        As GCC 11 and older, the -fuse-ld=mold option is not supported. It is still possible to
+        use -B to instruct the compiler driver to try a different path first for helper programs,
+        and a wrapper for Mold called "ld" is available as well:
+
+          % LDFLAGS=-B/usr/libexec/mold Tools/Scripts/build-webkit [...]
+
+        * elements/sdk-platform.bst: List sdk/mold.bst as part of the SDK.
+        * elements/sdk/mold.bst: Added.
+
 2022-02-15  Philippe Normand  <[email protected]>
 
         [Flatpak SDK] Include sparkle-cdm library

Added: trunk/Tools/buildstream/elements/sdk/mold.bst (0 => 289801)


--- trunk/Tools/buildstream/elements/sdk/mold.bst	                        (rev 0)
+++ trunk/Tools/buildstream/elements/sdk/mold.bst	2022-02-15 12:31:32 UTC (rev 289801)
@@ -0,0 +1,14 @@
+kind: make
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
+
+variables:
+  make: make PREFIX="%{prefix}" LTO=1
+sources:
+- kind: git_tag
+  url: github_com:rui314/mold.git
+  checkout-submodules: false
+  track-tags: true
+  track: main
+  ref: v1.0.2-0-g6fb64656b92553ae47a9b058da8c93083be779d5

Modified: trunk/Tools/buildstream/elements/sdk-platform.bst (289800 => 289801)


--- trunk/Tools/buildstream/elements/sdk-platform.bst	2022-02-15 12:01:59 UTC (rev 289800)
+++ trunk/Tools/buildstream/elements/sdk-platform.bst	2022-02-15 12:31:32 UTC (rev 289801)
@@ -46,6 +46,7 @@
 - sdk/libsoup3.bst
 - sdk/libusrsctp.bst
 - sdk/libwpe.bst
+- sdk/mold.bst
 - sdk/monado.bst
 - sdk/openxr.bst
 - sdk/os-release.bst
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to