aboutsummaryrefslogtreecommitdiffstats
path: root/main/meson/Remove-duplicated-object-files-in-static-libraries.patch
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2019-11-30 14:26:23 +0100
committerLeo <thinkabit.ukim@gmail.com>2019-11-30 14:27:41 +0100
commit02b0570697f455b0ff24279470ed9f26b2c289b8 (patch)
tree9747f16fcbb38b15d1808ef8eba9e386d64cc827 /main/meson/Remove-duplicated-object-files-in-static-libraries.patch
parent1d963a204a947b4812a656fcb264bf10955d68cb (diff)
downloadaports-02b0570697f455b0ff24279470ed9f26b2c289b8.tar.bz2
aports-02b0570697f455b0ff24279470ed9f26b2c289b8.tar.xz
main/meson: upgrade to 0.52.1
Diffstat (limited to 'main/meson/Remove-duplicated-object-files-in-static-libraries.patch')
-rw-r--r--main/meson/Remove-duplicated-object-files-in-static-libraries.patch91
1 files changed, 0 insertions, 91 deletions
diff --git a/main/meson/Remove-duplicated-object-files-in-static-libraries.patch b/main/meson/Remove-duplicated-object-files-in-static-libraries.patch
deleted file mode 100644
index 927900bc0f..0000000000
--- a/main/meson/Remove-duplicated-object-files-in-static-libraries.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From dbc9e971bd320f3df15c1ee74f54858e6792b183 Mon Sep 17 00:00:00 2001
-From: Xavier Claessens <xavier.claessens@collabora.com>
-Date: Fri, 11 Oct 2019 11:01:22 -0400
-Subject: [PATCH] Remove duplicated object files in static libraries
-
-When a static library link_whole to a bunch of other static libraries,
-we have to extract all their objects recursively. But that could
-introduce duplicated objects. ar is dumb enough to allow this without
-error, but once the resulting static library is linked into an
-executable or shared library, the linker will complain about duplicated
-symbols.
----
- mesonbuild/backend/backends.py | 3 ++-
- test cases/unit/69 static link/lib/func17.c | 4 ++++
- test cases/unit/69 static link/lib/func18.c | 6 ++++++
- test cases/unit/69 static link/lib/func19.c | 7 +++++++
- test cases/unit/69 static link/lib/meson.build | 12 ++++++++++++
- 5 files changed, 31 insertions(+), 1 deletion(-)
- create mode 100644 test cases/unit/69 static link/lib/func17.c
- create mode 100644 test cases/unit/69 static link/lib/func18.c
- create mode 100644 test cases/unit/69 static link/lib/func19.c
-
-diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
-index 947be1cbef..e54809657f 100644
---- a/mesonbuild/backend/backends.py
-+++ b/mesonbuild/backend/backends.py
-@@ -281,7 +281,8 @@ def relpath(self, todir, fromdir):
- os.path.join('dummyprefixdir', fromdir))
-
- def flatten_object_list(self, target, proj_dir_to_build_root=''):
-- return self._flatten_object_list(target, target.get_objects(), proj_dir_to_build_root)
-+ obj_list = self._flatten_object_list(target, target.get_objects(), proj_dir_to_build_root)
-+ return list(dict.fromkeys(obj_list))
-
- def _flatten_object_list(self, target, objects, proj_dir_to_build_root):
- obj_list = []
-diff --git a/test cases/unit/69 static link/lib/func17.c b/test cases/unit/69 static link/lib/func17.c
-new file mode 100644
-index 0000000000..d1d8ec498c
---- /dev/null
-+++ b/test cases/unit/69 static link/lib/func17.c
-@@ -0,0 +1,4 @@
-+int func17()
-+{
-+ return 1;
-+}
-diff --git a/test cases/unit/69 static link/lib/func18.c b/test cases/unit/69 static link/lib/func18.c
-new file mode 100644
-index 0000000000..c149085ba4
---- /dev/null
-+++ b/test cases/unit/69 static link/lib/func18.c
-@@ -0,0 +1,6 @@
-+int func17();
-+
-+int func18()
-+{
-+ return func17() + 1;
-+}
-diff --git a/test cases/unit/69 static link/lib/func19.c b/test cases/unit/69 static link/lib/func19.c
-new file mode 100644
-index 0000000000..69120e4bf8
---- /dev/null
-+++ b/test cases/unit/69 static link/lib/func19.c
-@@ -0,0 +1,7 @@
-+int func17();
-+int func18();
-+
-+int func19()
-+{
-+ return func17() + func18();
-+}
-diff --git a/test cases/unit/69 static link/lib/meson.build b/test cases/unit/69 static link/lib/meson.build
-index 5f04aab6a1..8f95fc4546 100644
---- a/test cases/unit/69 static link/lib/meson.build
-+++ b/test cases/unit/69 static link/lib/meson.build
-@@ -66,3 +66,15 @@ libfunc15 = static_library('func15', 'func15.c',
- libfunc16 = static_library('func16', 'func16.c',
- link_with : libfunc15,
- install : true)
-+
-+# Verify func17.c.o gets included only once into libfunc19, otherwise
-+# func19-shared would failed with duplicated symbol.
-+libfunc17 = static_library('func17', 'func17.c',
-+ install : false)
-+libfunc18 = static_library('func18', 'func18.c',
-+ link_with : libfunc17,
-+ install : false)
-+libfunc19 = static_library('func19', 'func19.c',
-+ link_whole : [libfunc17, libfunc18],
-+ install : false)
-+shared_library('func19-shared', link_whole : [libfunc19])