diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-06-18 12:10:55 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-06-22 15:54:09 +0530 |
commit | 654d91322cd749038a28b90fce2031cc4e8d3a53 (patch) | |
tree | 8a2d8f106586b70f9849feceb50b584329833a8e /run_unittests.py | |
parent | d1dd6df37b3061d3595a25a2c12f04de235449a8 (diff) | |
download | meson-nirbheek/fix-objc-bitcode.tar.gz |
compilers: Fix bitcode and other options for objc codenirbheek/fix-objc-bitcode
We were setting the base options for the Objective-C compiler
manually, due to which options such as b_bitcode and b_ndebug were not
getting set at all.
The base options here are the same as for C code with the Clang
compiler, so just use the same inherited list.
Also expand the bitcode test to ObjC and ObjC++ so this doesn't happen
again.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-x | run_unittests.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/run_unittests.py b/run_unittests.py index 90d4a6289..36f7f3999 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -4093,18 +4093,21 @@ class DarwinTests(BasePlatformTests): when it is false. This can't be an ordinary test case because we need to inspect the compiler database. ''' - testdir = os.path.join(self.common_test_dir, '4 shared') - # Try with bitcode enabled - out = self.init(testdir, extra_args='-Db_bitcode=true') + testdir = os.path.join(self.platform_test_dir, '7 bitcode') env = get_fake_env(testdir, self.builddir, self.prefix) cc = env.detect_c_compiler(MachineChoice.HOST) if cc.id != 'clang': raise unittest.SkipTest('Not using Clang on OSX') + # Try with bitcode enabled + out = self.init(testdir, extra_args='-Db_bitcode=true') # Warning was printed self.assertRegex(out, 'WARNING:.*b_bitcode') # Compiler options were added - compdb = self.get_compdb() - self.assertIn('-fembed-bitcode', compdb[0]['command']) + for compdb in self.get_compdb(): + if 'module' in compdb['file']: + self.assertNotIn('-fembed-bitcode', compdb['command']) + else: + self.assertIn('-fembed-bitcode', compdb['command']) build_ninja = os.path.join(self.builddir, 'build.ninja') # Linker options were added with open(build_ninja, 'r', encoding='utf-8') as f: @@ -4115,8 +4118,8 @@ class DarwinTests(BasePlatformTests): self.setconf('-Db_bitcode=false') # Regenerate build self.build() - compdb = self.get_compdb() - self.assertNotIn('-fembed-bitcode', compdb[0]['command']) + for compdb in self.get_compdb(): + self.assertNotIn('-fembed-bitcode', compdb['command']) build_ninja = os.path.join(self.builddir, 'build.ninja') with open(build_ninja, 'r', encoding='utf-8') as f: contents = f.read() |