aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-01-09 11:15:42 +0100
committerEli Schwartz <eschwartz93@gmail.com>2023-01-11 15:58:16 -0500
commitcf23e341878286790885352fd1d6548be5798391 (patch)
tree34a7fe0711180a015a1327c0d082990bd61cd075
parente96929f1b267c40d27bcd81c61663229dbc3c3f1 (diff)
downloadmeson-cf23e341878286790885352fd1d6548be5798391.zip
meson-cf23e341878286790885352fd1d6548be5798391.tar.gz
meson-cf23e341878286790885352fd1d6548be5798391.tar.bz2
cross: move multilib options to [binaries] section
c_args are meant to be overridden by the user if needed (even via the environment CFLAGS variables + -Doptimization=plain, for example), so they should not contain any option that affect the multilib search path. For example, a hypothetical native file like this: [binaries] c = gcc [built-in options] c_args = ['-m32'] would *not* build 32-bit binaries if -Dc_args is passed to meson. Such options, instead should be in the [binaries] section. Adjust the sample cross files included with meson. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--cross/armclang-linux.txt5
-rw-r--r--cross/armclang.txt8
-rw-r--r--cross/ccomp-armv7a.txt4
-rw-r--r--cross/iphone.txt20
-rw-r--r--cross/tvos.txt12
-rw-r--r--cross/ubuntu-armhf.txt4
6 files changed, 25 insertions, 28 deletions
diff --git a/cross/armclang-linux.txt b/cross/armclang-linux.txt
index 10f6fa4..863b355 100644
--- a/cross/armclang-linux.txt
+++ b/cross/armclang-linux.txt
@@ -17,16 +17,13 @@
[binaries]
# we could set exe_wrapper = qemu-arm-static but to test the case
# when cross compiled binaries can't be run we don't do that
-c = '/opt/arm/developmentstudio-2019.0/sw/ARMCompiler6.12/bin/armclang'
+c = ['/opt/arm/developmentstudio-2019.0/sw/ARMCompiler6.12/bin/armclang', '--target=aarch64-arm-none-eabi']
#c = '/opt/arm/developmentstudio-2019.0/sw/ARMCompiler5.06u6/bin/armcc'
#cpp = '/usr/bin/arm-linux-gnueabihf-g++'
ar = '/opt/arm/developmentstudio-2019.0/sw/ARMCompiler6.12/bin/armar'
#strip = '/usr/arm-linux-gnueabihf/bin/strip'
#pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
-[built-in options]
-c_args = ['--target=aarch64-arm-none-eabi']
-
[host_machine]
system = 'baremetal'
cpu_family = 'arm'
diff --git a/cross/armclang.txt b/cross/armclang.txt
index 6146e0d..aad7efc 100644
--- a/cross/armclang.txt
+++ b/cross/armclang.txt
@@ -2,16 +2,16 @@
# to the environment(PATH) variable, so that Meson can find
# the armclang, armlink and armar while building.
[binaries]
-c = 'armclang'
-cpp = 'armclang'
+c = ['armclang', '--target=arm-arm-none-eabi']
+cpp = ['armclang', '--target=arm-arm-none-eabi']
ar = 'armar'
strip = 'armar'
[built-in options]
# The '--target', '-mcpu' options with the appropriate values should be mentioned
# to cross compile c/c++ code with armclang.
-c_args = ['--target=arm-arm-none-eabi', '-mcpu=cortex-m0plus']
-cpp_args = ['--target=arm-arm-none-eabi', '-mcpu=cortex-m0plus']
+c_args = ['-mcpu=cortex-m0plus']
+cpp_args = ['-mcpu=cortex-m0plus']
[host_machine]
system = 'bare metal' # Update with your system name - bare metal/OS.
diff --git a/cross/ccomp-armv7a.txt b/cross/ccomp-armv7a.txt
index af66ed2..b90b96f 100644
--- a/cross/ccomp-armv7a.txt
+++ b/cross/ccomp-armv7a.txt
@@ -1,10 +1,10 @@
[binaries]
-c = 'ccomp'
+c = ['ccomp', '-target', 'armv7a-eabi']
ar = 'ccomp'
strip = 'strip'
[built-in options]
-c_args = ['-target', 'armv7a-eabi', '-fall']
+c_args = ['-fall']
[host_machine]
system = 'bare metal' # Update with your system name - bare metal/OS.
diff --git a/cross/iphone.txt b/cross/iphone.txt
index 6346248..0aaed0f 100644
--- a/cross/iphone.txt
+++ b/cross/iphone.txt
@@ -3,20 +3,20 @@
# these might not work for you. Use the googels and xcrun.
[binaries]
-c = 'clang'
-cpp = 'clang++'
-objc = 'clang'
-objcpp = 'clang++'
+c = ['clang', '-arch', 'arm64', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
+cpp = ['clang++', '-arch', 'arm64', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
+objc = ['clang', '-arch', 'arm64', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
+objcpp = ['clang++', '-arch', 'arm64', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
ar = 'ar'
strip = 'strip'
[built-in options]
-c_args = ['-arch', 'arm64', '-miphoneos-version-min=11.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
-cpp_args = ['-arch', 'arm64', '-miphoneos-version-min=11.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
-c_link_args = ['-arch', 'arm64', '-miphoneos-version-min=11.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
-cpp_link_args = ['-arch', 'arm64', '-miphoneos-version-min=11.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
-objc_args = ['-arch', 'arm64', '-miphoneos-version-min=11.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
-objcpp_args = ['-arch', 'arm64', '-miphoneos-version-min=11.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk']
+c_args = ['-miphoneos-version-min=11.0']
+cpp_args = ['-miphoneos-version-min=11.0']
+c_link_args = ['-miphoneos-version-min=11.0']
+cpp_link_args = ['-miphoneos-version-min=11.0']
+objc_args = ['-miphoneos-version-min=11.0']
+objcpp_args = ['-miphoneos-version-min=11.0']
[properties]
root = '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer'
diff --git a/cross/tvos.txt b/cross/tvos.txt
index a7d5dd1..1ab0e7f 100644
--- a/cross/tvos.txt
+++ b/cross/tvos.txt
@@ -3,16 +3,16 @@
# these might not work for you. Use the googels and xcrun.
[binaries]
-c = 'clang'
-cpp = 'clang++'
+c = ['clang', '-arch', 'arm64', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk']
+cpp = ['clang++', '-arch', 'arm64', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk']
ar = 'ar'
strip = 'strip'
[built-in options]
-c_args = ['-arch', 'arm64', '-mtvos-version-min=12.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk']
-cpp_args = ['-arch', 'arm64', '-mtvos-version-min=12.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk']
-c_link_args = ['-arch', 'arm64', '-mtvos-version-min=12.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk']
-cpp_link_args = ['-arch', 'arm64', '-mtvos-version-min=12.0', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk']
+c_args = ['-mtvos-version-min=12.0']
+cpp_args = ['-mtvos-version-min=12.0']
+c_link_args = ['-mtvos-version-min=12.0']
+cpp_link_args = ['-mtvos-version-min=12.0']
[properties]
root = '/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer'
diff --git a/cross/ubuntu-armhf.txt b/cross/ubuntu-armhf.txt
index 69e0c86..b22fbf0 100644
--- a/cross/ubuntu-armhf.txt
+++ b/cross/ubuntu-armhf.txt
@@ -1,8 +1,8 @@
[binaries]
# we could set exe_wrapper = qemu-arm-static but to test the case
# when cross compiled binaries can't be run we don't do that
-c = '/usr/bin/arm-linux-gnueabihf-gcc'
-cpp = '/usr/bin/arm-linux-gnueabihf-g++'
+c = ['/usr/bin/arm-linux-gnueabihf-gcc', '--target', 'arm-unknown-linux-gnueabihf']
+cpp = ['/usr/bin/arm-linux-gnueabihf-g++', '--target', 'arm-unknown-linux-gnueabihf']
rust = ['rustc', '--target', 'arm-unknown-linux-gnueabihf', '-C', 'linker=/usr/bin/arm-linux-gnueabihf-gcc-7']
ar = '/usr/arm-linux-gnueabihf/bin/ar'
strip = '/usr/arm-linux-gnueabihf/bin/strip'