diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2022-01-28 14:59:33 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2022-01-30 02:13:42 +0530 |
commit | 2512c25c0bb3649c4cc8be20ac30d59630241ae4 (patch) | |
tree | e3d7ec5c29f28a3fd2860951c15d692e0294c14d /unittests/allplatformstests.py | |
parent | 029652ecb5da390ff3acc71ab98c9d53b2aa1a12 (diff) | |
download | meson-2512c25c0bb3649c4cc8be20ac30d59630241ae4.zip meson-2512c25c0bb3649c4cc8be20ac30d59630241ae4.tar.gz meson-2512c25c0bb3649c4cc8be20ac30d59630241ae4.tar.bz2 |
ninja backend: Fix usage of same constants file for native and cross
For example:
```
meson builddir \
--native-file vs2019-paths.txt \
--native-file vs2019-win-x64.txt \
--cross-file vs2019-paths.txt \
--cross-file vs2019-win-arm64.txt
```
This was causing the error:
> ERROR: Multiple producers for Ninja target "/path/to/vs2019-paths.txt". Please rename your targets.
Fix it by using a set() when generating the list of regen files, and
add a test for it too.
Diffstat (limited to 'unittests/allplatformstests.py')
-rw-r--r-- | unittests/allplatformstests.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py index 51ca7a0..4a7fbb5 100644 --- a/unittests/allplatformstests.py +++ b/unittests/allplatformstests.py @@ -2368,7 +2368,7 @@ class AllPlatformTests(BasePlatformTests): endian = 'little' '''.format(os.path.join(testdir, 'cross_pkgconfig.py')))) crossfile.flush() - self.meson_cross_file = crossfile.name + self.meson_cross_files = [crossfile.name] env = {'PKG_CONFIG_LIBDIR': os.path.join(testdir, 'native_pkgconfig')} @@ -2396,7 +2396,7 @@ class AllPlatformTests(BasePlatformTests): endian = 'little' '''.format(os.path.join(testdir, 'cross_pkgconfig')))) crossfile.flush() - self.meson_cross_file = crossfile.name + self.meson_cross_files = [crossfile.name] env = {'PKG_CONFIG_LIBDIR': os.path.join(testdir, 'native_pkgconfig')} @@ -2630,8 +2630,8 @@ class AllPlatformTests(BasePlatformTests): testdir = os.path.join(self.unit_test_dir, '70 cross') # Do a build to generate a cross file where the host is this target self.init(testdir, extra_args=['-Dgenerate=true']) - self.meson_cross_file = os.path.join(self.builddir, "crossfile") - self.assertTrue(os.path.exists(self.meson_cross_file)) + self.meson_cross_files = [os.path.join(self.builddir, "crossfile")] + self.assertTrue(os.path.exists(self.meson_cross_files[0])) # Now verify that this is detected as cross self.new_builddir() self.init(testdir) @@ -3595,14 +3595,14 @@ class AllPlatformTests(BasePlatformTests): ''')) # Test native C stdlib - self.meson_native_file = machinefile + self.meson_native_files = [machinefile] self.init(testdir) self.build() # Test cross C stdlib self.new_builddir() - self.meson_native_file = None - self.meson_cross_file = machinefile + self.meson_native_files = [] + self.meson_cross_files = [machinefile] self.init(testdir) self.build() |