Mesa (staging/21.3): meson: Check arguments before adding.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Nov 9 22:03:12 UTC 2021


Module: Mesa
Branch: staging/21.3
Commit: 5f146a9f8aa5f920f1fe34c2310fc8bfc477adfb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f146a9f8aa5f920f1fe34c2310fc8bfc477adfb

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Oct 26 00:27:53 2021 +0200

meson: Check arguments before adding.

-static-libstdc++ doesn't exist on the Android NDK, casuing all
later has_argument calls to return false even though the compiler
supports that argument.

Fixes: 3aee462781a "meson: add windows compiler checks and libraries"
Reviewed-by: Eric Engestrom <eric at engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13164>
(cherry picked from commit 22673a980f30cf71ea1d7e3d4feb161c549d48a4)

---

 .gitlab-ci.yml                                    |  2 +-
 .gitlab-ci/container/create-android-cross-file.sh |  2 +-
 .pick_status.json                                 |  2 +-
 meson.build                                       | 21 ++++++++++++++++-----
 4 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 76996a1413e..b59c4b85ba6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -376,7 +376,7 @@ debian/android_build:
   extends:
     - .use-debian/x86_build-base
   variables:
-    MESA_IMAGE_TAG: &debian-android_build "2021-07-02-bump-libdrm"
+    MESA_IMAGE_TAG: &debian-android_build "2021-10-26-static-libstdcxx"
 
 .use-debian/android_build:
   extends:
diff --git a/.gitlab-ci/container/create-android-cross-file.sh b/.gitlab-ci/container/create-android-cross-file.sh
index 99ad5b98b46..ac07ca11f98 100644
--- a/.gitlab-ci/container/create-android-cross-file.sh
+++ b/.gitlab-ci/container/create-android-cross-file.sh
@@ -17,7 +17,7 @@ cat >$cross_file <<EOF
 [binaries]
 ar = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-ar'
 c = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables']
-cpp = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-static-libstdc++']
+cpp = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables']
 c_ld = 'lld'
 cpp_ld = 'lld'
 strip = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-strip'
diff --git a/.pick_status.json b/.pick_status.json
index 08cc2e00d1e..be2c5ce6a8c 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -31,7 +31,7 @@
         "description": "meson: Check arguments before adding.",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "3aee462781abc0bfcce207fb64f9199b43a57542"
     },
diff --git a/meson.build b/meson.build
index 90c227532b7..bd54e784c7b 100644
--- a/meson.build
+++ b/meson.build
@@ -1211,11 +1211,22 @@ if host_machine.system() == 'windows'
     endif
   else
     add_project_link_arguments(
-      '-Wl,--nxcompat',
-      '-Wl,--dynamicbase',
-      '-static-libgcc',
-      '-static-libstdc++',
-      language : ['c', 'cpp'],
+      cc.get_supported_arguments(
+        '-Wl,--nxcompat',
+        '-Wl,--dynamicbase',
+        '-static-libgcc',
+        '-static-libstdc++',
+      ),
+      language : ['c'],
+    )
+    add_project_link_arguments(
+      cpp.get_supported_arguments(
+        '-Wl,--nxcompat',
+        '-Wl,--dynamicbase',
+        '-static-libgcc',
+        '-static-libstdc++',
+      ),
+      language : ['cpp'],
     )
   endif
 endif



More information about the mesa-commit mailing list