Disallow add_languages('vala') without 'c'

v2:
Exercise add_lanagues('vala') after 'c' in a test case
pull/5136/head
Jon Turney 6 years ago committed by Jussi Pakkanen
parent 3a613564d3
commit 8a9e1b1166
  1. 10
      mesonbuild/interpreter.py
  2. 2
      test cases/failing/95 vala without c/meson.build
  3. 3
      test cases/vala/2 multiple files/meson.build

@ -2628,10 +2628,6 @@ external dependencies (including libraries) must go to "dependencies".''')
mlog.log('Project name:', mlog.bold(proj_name))
mlog.log('Project version:', mlog.bold(self.project_version))
self.add_languages(proj_langs, True)
langs = self.coredata.compilers.keys()
if 'vala' in langs:
if 'c' not in langs:
raise InterpreterException('Compiling Vala requires C. Add C to your project languages and rerun Meson.')
if not self.is_subproject():
self.check_cross_stdlibs()
@ -2720,6 +2716,12 @@ external dependencies (including libraries) must go to "dependencies".''')
mlog.log('Cross', cross_comp.get_display_language(), 'compiler:',
mlog.bold(' '.join(cross_comp.get_exelist())), version_string)
self.build.ensure_static_cross_linker(cross_comp)
langs = self.coredata.compilers.keys()
if 'vala' in langs:
if 'c' not in langs:
raise InterpreterException('Compiling Vala requires C. Add C to your project languages and rerun Meson.')
return success
def program_from_file_for(self, for_machine, prognames, silent):

@ -0,0 +1,2 @@
project('vala without c')
add_languages('vala')

@ -1,4 +1,5 @@
project('multiple files', 'vala', 'c')
project('multiple files', 'c')
add_languages('vala')
glib = dependency('glib-2.0')
gobject = dependency('gobject-2.0')

Loading…
Cancel
Save