Recognise .gs extension as a Vala source

pull/1893/head
Alistair Thomas 7 years ago
parent ce9cd33f27
commit cca0fa8154
  1. 6
      docs/markdown/Vala.md
  2. 2
      mesonbuild/backend/backends.py
  3. 8
      mesonbuild/backend/ninjabackend.py
  4. 2
      mesonbuild/compilers/compilers.py

@ -1,14 +1,14 @@
---
title: Vala
short-description: Compiling Vala programs
short-description: Compiling Vala and Genie programs
...
# Compiling Vala applications
Meson has support for compiling Vala programs. A skeleton Vala file looks like this.
Meson has support for compiling Vala and Genie programs. A skeleton `meson.build` file for Vala looks like this:
```meson
project('valaprog', ['vala', 'c'])
project('valaprog', 'vala', 'c')
glib_dep = dependency('glib-2.0')
gobject_dep = dependency('gobject-2.0')

@ -307,7 +307,7 @@ class Backend:
if isinstance(source, mesonlib.File):
source = source.fname
# foo.vala files compile down to foo.c and then foo.c.o, not foo.vala.o
if source.endswith('.vala'):
if source.endswith(('.vala', '.gs')):
if is_unity:
return source[:-5] + '.c.' + self.environment.get_object_suffix()
source = os.path.join(self.get_target_private_dir(target), source[:-5] + '.c')

@ -1005,7 +1005,7 @@ int dummy;
def split_vala_sources(self, t):
"""
Splits the target's sources into .vala, .vapi, and other sources.
Splits the target's sources into .vala, .gs, .vapi, and other sources.
Handles both pre-existing and generated sources.
Returns a tuple (vala, vapi, others) each of which is a dictionary with
@ -1026,7 +1026,7 @@ int dummy;
'mesonlib.File, not {!r}'.format(t, s)
raise InvalidArguments(msg)
f = s.rel_to_builddir(self.build_to_src)
if s.endswith('.vala'):
if s.endswith(('.vala', '.gs')):
srctype = vala
elif s.endswith('.vapi'):
srctype = vapi
@ -1037,7 +1037,7 @@ int dummy;
for gensrc in t.get_generated_sources():
for s in gensrc.get_outputs():
f = self.get_target_generated_dir(t, gensrc, s)
if s.endswith('.vala'):
if s.endswith(('.vala', '.gs')):
srctype = vala
elif s.endswith('.vapi'):
srctype = vapi
@ -1061,7 +1061,7 @@ int dummy;
(vala_src, vapi_src, other_src) = self.split_vala_sources(target)
extra_dep_files = []
if not vala_src:
msg = 'Vala library {!r} has no Vala source files.'
msg = 'Vala library {!r} has no Vala or Genie source files.'
raise InvalidArguments(msg.format(target.name))
valac = target.compilers['vala']

@ -39,7 +39,7 @@ lang_suffixes = {
'objc': ('m',),
'objcpp': ('mm',),
'rust': ('rs',),
'vala': ('vala', 'vapi'),
'vala': ('vala', 'vapi', 'gs'),
'cs': ('cs',),
'swift': ('swift',),
'java': ('java',),

Loading…
Cancel
Save