diff options
| -rw-r--r-- | mesonbuild/compilers/detect.py | 9 | ||||
| -rw-r--r-- | test cases/cmake/24 mixing languages/meson.build | 5 |
2 files changed, 8 insertions, 6 deletions
diff --git a/mesonbuild/compilers/detect.py b/mesonbuild/compilers/detect.py index 08727285a..6e35e7d39 100644 --- a/mesonbuild/compilers/detect.py +++ b/mesonbuild/compilers/detect.py @@ -46,9 +46,8 @@ if is_windows(): # There is currently no pgc++ for Windows, only for Mac and Linux. defaults['cpp'] = ['icl', 'cl', 'c++', 'g++', 'clang++', 'clang-cl'] defaults['fortran'] = ['ifort', 'gfortran', 'flang', 'pgfortran', 'g95'] - # Clang and clang++ are valid, but currently unsupported. - defaults['objc'] = ['cc', 'gcc'] - defaults['objcpp'] = ['c++', 'g++'] + defaults['objc'] = ['clang-cl', 'gcc'] + defaults['objcpp'] = ['clang-cl', 'g++'] defaults['cs'] = ['csc', 'mcs'] else: if platform.machine().lower() == 'e2k': @@ -59,8 +58,8 @@ else: else: defaults['c'] = ['cc', 'gcc', 'clang', 'nvc', 'pgcc', 'icc', 'icx'] defaults['cpp'] = ['c++', 'g++', 'clang++', 'nvc++', 'pgc++', 'icpc', 'icpx'] - defaults['objc'] = ['cc', 'gcc', 'clang'] - defaults['objcpp'] = ['c++', 'g++', 'clang++'] + defaults['objc'] = ['clang', 'gcc'] + defaults['objcpp'] = ['clang++', 'g++'] defaults['fortran'] = ['gfortran', 'flang', 'nvfortran', 'pgfortran', 'ifort', 'ifx', 'g95'] defaults['cs'] = ['mcs', 'csc'] defaults['d'] = ['ldc2', 'ldc', 'gdc', 'dmd'] diff --git a/test cases/cmake/24 mixing languages/meson.build b/test cases/cmake/24 mixing languages/meson.build index 4ab1d8542..55d7a7d68 100644 --- a/test cases/cmake/24 mixing languages/meson.build +++ b/test cases/cmake/24 mixing languages/meson.build @@ -1,4 +1,7 @@ -project('CMake mix', ['c', 'cpp']) +# Explicitly require PIE so that mixing compilers with different defaults for +# whether to use PIE works. +project('CMake mix', ['c', 'cpp'], + default_options: ['b_pie=true']) if not add_languages('objc', required : false) error('MESON_SKIP_TEST: No ObjC compiler') |
