Mesa (master): ci: Fix selection of linker in Android builds
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Feb 8 14:36:31 UTC 2021
Module: Mesa
Branch: master
Commit: a4cb96d12b38c663533f135ae4259d8bd56f6a75
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4cb96d12b38c663533f135ae4259d8bd56f6a75
Author: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Date: Thu Jan 28 08:27:06 2021 +0100
ci: Fix selection of linker in Android builds
Otherwise, Clang will error out when it doesn't link:
Compiler stderr:
clang: error: argument unused during compilation: '-fuse-ld=lld' [-Werror,-Wunused-command-line-argument]
When that happens when Meson is checking for the presence of macros in
sys/sysmacros.h, that file won't be included resulting in the following
errors:
ld.lld: error: undefined symbol: makedev
ld.lld: error: undefined symbol: major
ld.lld: error: undefined symbol: minor
Signed-off-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Acked-by: Michel Dänzer <mdaenzer at redhat.com>
Acked-by: Eric Anholt <eric at anholt.net>
Gitlab: #4137
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8757>
---
.gitlab-ci/create-android-cross-file.sh | 6 ++++--
docs/android.rst | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/.gitlab-ci/create-android-cross-file.sh b/.gitlab-ci/create-android-cross-file.sh
index 4590ce172a9..99ad5b98b46 100644
--- a/.gitlab-ci/create-android-cross-file.sh
+++ b/.gitlab-ci/create-android-cross-file.sh
@@ -16,8 +16,10 @@ arch2=${5:-$2}
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', '-fuse-ld=lld', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables']
-cpp = ['ccache', '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/${arch2}29-clang++', '-fuse-ld=lld', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-static-libstdc++']
+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++']
+c_ld = 'lld'
+cpp_ld = 'lld'
strip = '$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/$arch-strip'
pkgconfig = ['/usr/bin/pkg-config']
diff --git a/docs/android.rst b/docs/android.rst
index 1d41d32878e..f08c4fb1729 100644
--- a/docs/android.rst
+++ b/docs/android.rst
@@ -20,8 +20,10 @@ Then, create your meson cross file to use it, something like this
[binaries]
ar = 'NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar'
- c = ['ccache', 'NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang', '-fuse-ld=lld']
- cpp = ['ccache', 'NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++', '-fuse-ld=lld', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-static-libstdc++']
+ c = ['ccache', 'NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang']
+ cpp = ['ccache', 'NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-static-libstdc++']
+ c_ld = 'lld'
+ cpp_ld = 'lld'
strip = 'NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip'
# Android doesn't come with a pkg-config, but we need one for meson to be happy not
# finding all the optional deps it looks for. Use system pkg-config pointing at a
More information about the mesa-commit
mailing list