aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2020-05-06 23:21:37 +0300
committerGitHub <noreply@github.com>2020-05-06 23:21:37 +0300
commitec8db6a1b53072a08674bf2b4301dee7ab3dd589 (patch)
tree05d4ce55c00c98db68c3ca2070a92ad2a0887e57
parent8ce4952890c9ed25ee471d811990eb1fc3fb13b1 (diff)
parentd61f7a1e849e953a5478cd0f1b93cd5b7f4193a2 (diff)
downloadmeson-ec8db6a1b53072a08674bf2b4301dee7ab3dd589.zip
meson-ec8db6a1b53072a08674bf2b4301dee7ab3dd589.tar.gz
meson-ec8db6a1b53072a08674bf2b4301dee7ab3dd589.tar.bz2
Merge pull request #7076 from mesonbuild/revertcrossfixup
Revert cross fixup
-rw-r--r--mesonbuild/coredata.py2
-rwxr-xr-xrun_unittests.py11
-rw-r--r--test cases/unit/75 subdir libdir/meson.build2
-rw-r--r--test cases/unit/75 subdir libdir/subprojects/flub/meson.build1
4 files changed, 15 insertions, 1 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index d3ca4f6..fcb13f6 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -385,6 +385,7 @@ class CoreData:
# Only to print a warning if it changes between Meson invocations.
self.config_files = self.__load_config_files(options, scratch_dir, 'native')
self.init_builtins('')
+ self.libdir_cross_fixup()
@staticmethod
def __load_config_files(options: argparse.Namespace, scratch_dir: str, ftype: str) -> T.List[str]:
@@ -510,7 +511,6 @@ class CoreData:
for for_machine in iter(MachineChoice):
for key, opt in builtin_options_per_machine.items():
self.add_builtin_option(self.builtins_per_machine[for_machine], key, opt, subproject)
- self.libdir_cross_fixup()
def add_builtin_option(self, opts_map, key, opt, subproject):
if subproject:
diff --git a/run_unittests.py b/run_unittests.py
index 39191a3..0cd52d1 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -6683,6 +6683,17 @@ class LinuxCrossArmTests(BasePlatformTests):
return
self.assertTrue(False, 'Option libdir not in introspect data.')
+ def test_cross_libdir_subproject(self):
+ # Guard against a regression where calling "subproject"
+ # would reset the value of libdir to its default value.
+ testdir = os.path.join(self.unit_test_dir, '75 subdir libdir')
+ self.init(testdir, extra_args=['--libdir=fuf'])
+ for i in self.introspect('--buildoptions'):
+ if i['name'] == 'libdir':
+ self.assertEqual(i['value'], 'fuf')
+ return
+ self.assertTrue(False, 'Libdir specified on command line gets reset.')
+
def test_std_remains(self):
# C_std defined in project options must be in effect also when cross compiling.
testdir = os.path.join(self.unit_test_dir, '51 noncross options')
diff --git a/test cases/unit/75 subdir libdir/meson.build b/test cases/unit/75 subdir libdir/meson.build
new file mode 100644
index 0000000..5099c91
--- /dev/null
+++ b/test cases/unit/75 subdir libdir/meson.build
@@ -0,0 +1,2 @@
+project('toplevel', 'c')
+subproject('flub')
diff --git a/test cases/unit/75 subdir libdir/subprojects/flub/meson.build b/test cases/unit/75 subdir libdir/subprojects/flub/meson.build
new file mode 100644
index 0000000..7bfd2c5
--- /dev/null
+++ b/test cases/unit/75 subdir libdir/subprojects/flub/meson.build
@@ -0,0 +1 @@
+project('subflub', 'c')