pixman: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Sep 10 20:37:18 UTC 2019


 pixman/meson.build |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4
Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Mon Sep 9 16:00:56 2019 -0700

    meson: don't use link_with for library()
    
    Meson doesn't do the expected thing when library() creates a static
    library. Instead of combining the libraries together into a single
    archive it effectively discards them, resulting in missing symbols.
    
    To work around this we manually unpack the archives and shove the .o
    files into the final library. This doesn't affect the shared library at
    all, but makes the static library have the necessary symbols
    
    Fixes #33

diff --git a/pixman/meson.build b/pixman/meson.build
index 7b66827..31be9d2 100644
--- a/pixman/meson.build
+++ b/pixman/meson.build
@@ -97,10 +97,17 @@ pixman_files = files(
   'pixman-utils.c',
 )
 
+# We cannot use 'link_with' or 'link_whole' because meson wont do the right
+# thing for static archives.
+_obs = []
+foreach l : pixman_simd_libs
+  _obs += l.extract_all_objects()
+endforeach
+
 libpixman = library(
   'pixman-1',
   [pixman_files, config_h, version_h],
-  link_with : [pixman_simd_libs],
+  objects: _obs,
   dependencies : [dep_m, dep_threads],
   version : meson.project_version(),
   install : true,


More information about the xorg-commit mailing list