From 82c89e8fe7396919cb2b8cfb343138e156fbfe4b Mon Sep 17 00:00:00 2001
From: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
Date: Mon, 4 Oct 2021 09:51:23 +0100
Subject: [PATCH] tests: check whether -Wl,--unresolved-symbols=ignore-all is
 supported

When linking for macOS, this linker flag is rejected. Instead of
always passing it, we can check whether it is supported first.

Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
Reviewed-by: Simon Ser <contact@emersion.fr>
---
 tests/meson.build | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tests/meson.build b/tests/meson.build
index f994ea9d..54392394 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -24,6 +24,10 @@ endforeach
 add_languages('c', 'cpp', native: false)
 replace = find_program('replace.py')
 
+extra_linker_flags = meson.get_compiler('c').get_supported_link_arguments([
+	'-Wl,--unresolved-symbols=ignore-all',
+])
+
 foreach protocol_file : protocol_files
 	xml_file = fs.name(protocol_file)
 	xml_components = xml_file.split('.')
@@ -100,9 +104,7 @@ foreach protocol_file : protocol_files
 			server_header,
 			code
 		],
-		link_args: [
-			'-Wl,--unresolved-symbols=ignore-all',
-		],
+		link_args: extra_linker_flags,
 		dependencies: libwayland,
 		c_args: [
 			'-std=c99',
@@ -130,7 +132,7 @@ foreach protocol_file : protocol_files
 				client_header,
 				server_header,
 			],
-			link_args: [ '-Wl,--unresolved-symbols=ignore-all' ],
+			link_args: extra_linker_flags,
 			dependencies: libwayland,
 			cpp_args: [
 				'-Wall',
-- 
GitLab