Commit e11c6d88 authored by Rico Tzschichholz's avatar Rico Tzschichholz

Add initial Meson build system

parent 87eab25e
#!/usr/bin/env python3
import sys, os
from pathlib import Path
output_fd = sys.stdout.buffer.fileno()
for fname in sys.argv[1:]:
inputf = Path(fname)
with inputf.open('rb') as f:
while os.sendfile(output_fd, f.fileno(), None, 1 << 30) != 0:
pass
valaccode_sources = [
'valaccodeassignment.vala',
'valaccodebinaryexpression.vala',
'valaccodeblock.vala',
'valaccodebreakstatement.vala',
'valaccodecasestatement.vala',
'valaccodecastexpression.vala',
'valaccodecommaexpression.vala',
'valaccodecomment.vala',
'valaccodeconditionalexpression.vala',
'valaccodeconstant.vala',
'valaccodecontinuestatement.vala',
'valaccodedeclaration.vala',
'valaccodedeclarator.vala',
'valaccodedostatement.vala',
'valaccodeelementaccess.vala',
'valaccodeemptystatement.vala',
'valaccodeenum.vala',
'valaccodeenumvalue.vala',
'valaccodeexpressionstatement.vala',
'valaccodeexpression.vala',
'valaccodefeaturetestmacro.vala',
'valaccodefile.vala',
'valaccodeforstatement.vala',
'valaccodefragment.vala',
'valaccodefunctioncall.vala',
'valaccodefunctiondeclarator.vala',
'valaccodefunction.vala',
'valaccodeggnucsection.vala',
'valaccodegotostatement.vala',
'valaccodeidentifier.vala',
'valaccodeifsection.vala',
'valaccodeifstatement.vala',
'valaccodeincludedirective.vala',
'valaccodeinitializerlist.vala',
'valaccodeinvalidexpression.vala',
'valaccodelabel.vala',
'valaccodelinedirective.vala',
'valaccodemacroreplacement.vala',
'valaccodememberaccess.vala',
'valaccodemodifiers.vala',
'valaccodenewline.vala',
'valaccodenode.vala',
'valaccodeoncesection.vala',
'valaccodeparameter.vala',
'valaccodeparenthesizedexpression.vala',
'valaccodereturnstatement.vala',
'valaccodestatement.vala',
'valaccodestruct.vala',
'valaccodeswitchstatement.vala',
'valaccodetypedefinition.vala',
'valaccodeunaryexpression.vala',
'valaccodevariabledeclarator.vala',
'valaccodewhilestatement.vala',
'valaccodewriter.vala'
]
valaccode_lib = static_library(
'valaccode',
valaccode_sources,
dependencies: [gobject_dep, valagee_dep, valacore_dep],
install: false,
vala_args: ['--use-header'],
vala_header: 'valaccode.h',
vala_vapi: 'valaccode.vapi',
)
valaccode_dep = declare_dependency(
link_with: [valaccode_lib],
dependencies: [valagee_dep],
include_directories: include_directories('.'),
)
valacodegen_sources = [
'valaccode.vala',
'valaccodearraymodule.vala',
'valaccodeassignmentmodule.vala',
'valaccodeattribute.vala',
'valaccodebasemodule.vala',
'valaccodecompiler.vala',
'valaccodecontrolflowmodule.vala',
'valaccodedelegatemodule.vala',
'valaccodememberaccessmodule.vala',
'valaccodemethodcallmodule.vala',
'valaccodemethodmodule.vala',
'valaccodestructmodule.vala',
'valaclassregisterfunction.vala',
'valactype.vala',
'valaenumregisterfunction.vala',
'valagasyncmodule.vala',
'valagdbusclientmodule.vala',
'valagdbusmodule.vala',
'valagdbusservermodule.vala',
'valagerrormodule.vala',
'valagirwriter.vala',
'valagobjectmodule.vala',
'valagsignalmodule.vala',
'valagtkmodule.vala',
'valagtypemodule.vala',
'valagvariantmodule.vala',
'valainterfaceregisterfunction.vala',
'valastructregisterfunction.vala',
'valatyperegisterfunction.vala'
]
valacodegen_lib = shared_library(
'valacodegen',
valacodegen_sources,
dependencies: [gobject_dep, valacore_dep, valaccode_dep],
install_rpath: pkglibdir,
install_dir: pkglibdir,
install: [ true, false, false ],
vala_args: ['--use-header'],
vala_header: 'valacodegen.h',
vala_vapi: 'valacodegen.vapi',
)
valacodegen_dep = declare_dependency(
link_with: [valacodegen_lib],
dependencies: [valacore_dep, valaccode_dep],
include_directories: include_directories('.'),
)
valac_sources = [
'valacompiler.vala'
]
valac_name = 'valac@0@'.format(vala_version_suffix)
valac_exe = executable(
valac_name,
valac_sources,
dependencies: [glib_dep, valacodegen_dep],
install: true,
)
vala_name = 'vala@0@'.format(vala_version_suffix)
# https://github.com/mesonbuild/meson/issues/1602
meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ valac'.format(join_paths(get_option('prefix'), get_option('bindir')), valac_name))
meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ @2@'.format(join_paths(get_option('prefix'), get_option('bindir')), valac_name, vala_name))
meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ vala'.format(join_paths(get_option('prefix'), get_option('bindir')), valac_name))
/* Name of package */
#mesondefine PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#mesondefine PACKAGE_BUGREPORT
#mesondefine PACKAGE_DATADIR
/* Define to the full name of this package. */
#mesondefine PACKAGE_NAME
/* Define to the full name and version of this package. */
#mesondefine PACKAGE_STRING
/* Define to the suffix of this package */
#mesondefine PACKAGE_SUFFIX
/* Define to the one symbol short name of this package. */
#mesondefine PACKAGE_TARNAME
/* Define to the home page for this package. */
#mesondefine PACKAGE_URL
/* Define to the version of this package. */
#mesondefine PACKAGE_VERSION
/* Version number of package */
#mesondefine VERSION
install_man(['vala-gen-introspect.1', 'valac.1', 'valadoc.1', 'vapigen.1'])
# https://github.com/mesonbuild/meson/issues/1602
meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative vala-gen-introspect.1.gz @1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'vala-gen-introspect@0@.1.gz'.format(vala_version_suffix)))
meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative valac.1.gz @1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'valac@0@.1.gz'.format(vala_version_suffix)))
meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative valadoc.1.gz @1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'valadoc@0@.1.gz'.format(vala_version_suffix)))
meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative vapigen.1.gz @1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'vapigen@0@.1.gz'.format(vala_version_suffix)))
valagee_sources = [
'arraylist.vala',
'collection.vala',
'hashmap.vala',
'hashset.vala',
'iterable.vala',
'iterator.vala',
'list.vala',
'mapiterator.vala',
'map.vala',
'set.vala',
'timsort.vala'
]
valagee_lib = static_library(
'valagee',
valagee_sources,
dependencies: [gobject_dep],
install: [ false, true, false ],
install_dir: [
false,
join_paths (get_option('includedir'), 'vala@0@'.format (vala_version_suffix)),
false
],
vala_args: ['--use-header'],
vala_header: 'valagee.h',
vala_vapi: 'gee.vapi',
)
valagee_dep = declare_dependency(
link_with: [valagee_lib],
include_directories: include_directories('.', '..'),
)
gidl_sources = [
'gidlmodule.c',
'gidlnode.c',
'gidlparser.c',
'gmetadata.c',
]
gidl_lib = static_library('gidl',
gidl_sources,
dependencies: [gobject_dep, gmodule_dep])
gidl_dep = declare_dependency(
link_with: [gidl_lib],
include_directories: include_directories('.'),
)
flex = find_program('flex')
bison = find_program('bison')
lgen = generator(flex,
output: '@PLAINNAME@.c',
arguments: ['-o', '@OUTPUT@', '@INPUT@'])
lfiles = lgen.process('scannerlexer.l')
pgen = generator(bison,
output: ['@BASENAME@.c', '@BASENAME@.h'],
arguments: ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'],
)
pfiles = pgen.process('scannerparser.y')
gen_introspect_sources = [
'gidlwriter.c',
'scanner.c',
lfiles,
pfiles,
]
gen_introspect_name = 'gen-introspect@0@'.format(vala_version_suffix)
executable(gen_introspect_name,
gen_introspect_sources,
install: true,
install_dir: pkglibdir,
dependencies: [gobject_dep, gmodule_dep, gidl_dep],
)
libvaladoc_sources = [
'doclet.vala',
'errorreporter.vala',
'filehelper.vala',
'moduleloader.vala',
'settings.vala',
'markupwriter.vala',
'gtkdocmarkupwriter.vala',
'devhelp-markupwriter.vala',
'ctyperesolver.vala',
'gtkdocrenderer.vala',
'gvc-compat.c',
'documentation/commentscanner.vala',
'documentation/documentation.vala',
'documentation/documentationparser.vala',
'documentation/wiki.vala',
'documentation/wikiscanner.vala',
'documentation/gtkdoccommentparser.vala',
'documentation/gtkdoccommentscanner.vala',
'documentation/gtkdocmarkdownparser.vala',
'documentation/gtkdocmarkdownscanner.vala',
'documentation/importerhelper.vala',
'documentation/girmetadata.vala',
'importer/documentationimporter.vala',
'importer/valadocdocumentationimporter.vala',
'importer/valadocdocumentationimporterscanner.vala',
'importer/girdocumentationimporter.vala',
'importer/internalidregistrar.vala',
'api/sourcecomment.vala',
'api/girsourcecomment.vala',
'api/attribute.vala',
'api/array.vala',
'api/callable.vala',
'api/childsymbolregistrar.vala',
'api/class.vala',
'api/constant.vala',
'api/delegate.vala',
'api/enum.vala',
'api/enumvalue.vala',
'api/errorcode.vala',
'api/errordomain.vala',
'api/field.vala',
'api/formalparameter.vala',
'api/interface.vala',
'api/item.vala',
'api/method.vala',
'api/namespace.vala',
'api/node.vala',
'api/nodetype.vala',
'api/ownership.vala',
'api/package.vala',
'api/pointer.vala',
'api/property.vala',
'api/propertyaccessor.vala',
'api/signal.vala',
'api/signaturebuilder.vala',
'api/sourcefile.vala',
'api/struct.vala',
'api/symbol.vala',
'api/tree.vala',
'api/typeparameter.vala',
'api/typereference.vala',
'api/typesymbol.vala',
'api/visitor.vala',
'api/driver.vala',
'content/block.vala',
'content/blockcontent.vala',
'content/comment.vala',
'content/contentfactory.vala',
'content/contentelement.vala',
'content/contentrenderer.vala',
'content/contentvisitor.vala',
'content/embedded.vala',
'content/headline.vala',
'content/inline.vala',
'content/inlinetaglet.vala',
'content/inlinecontent.vala',
'content/wikilink.vala',
'content/link.vala',
'content/list.vala',
'content/listitem.vala',
'content/page.vala',
'content/paragraph.vala',
'content/warning.vala',
'content/note.vala',
'content/resourcelocator.vala',
'content/run.vala',
'content/sourcecode.vala',
'content/styleattributes.vala',
'content/symbollink.vala',
'content/table.vala',
'content/tablecell.vala',
'content/tablerow.vala',
'content/taglet.vala',
'content/text.vala',
'charts/chart.vala',
'charts/chartfactory.vala',
'charts/hierarchychart.vala',
'charts/simplechartfactory.vala',
'parser/manyrule.vala',
'parser/oneofrule.vala',
'parser/optionalrule.vala',
'parser/parser.vala',
'parser/parsercallback.vala',
'parser/rule.vala',
'parser/scanner.vala',
'parser/sequencerule.vala',
'parser/stubrule.vala',
'parser/token.vala',
'parser/tokentype.vala',
'taglets/tagletdeprecated.vala',
'taglets/tagletinheritdoc.vala',
'taglets/tagletinit.vala',
'taglets/tagletlink.vala',
'taglets/tagletparam.vala',
'taglets/tagletreturn.vala',
'taglets/tagletsee.vala',
'taglets/tagletsince.vala',
'taglets/tagletthrows.vala',
'highlighter/scanner.vala',
'highlighter/codescanner.vala',
'highlighter/xmlscanner.vala',
'highlighter/codetoken.vala',
'highlighter/highlighter.vala',
'html/basicdoclet.vala',
'html/htmlchartfactory.vala',
'html/linkhelper.vala',
'html/cssclassresolver.vala',
'html/htmlmarkupwriter.vala',
'html/htmlrenderer.vala',
]
libvaladoc_lib = shared_library(
'valadoc@0@'.format(vala_version_suffix),
libvaladoc_sources,
dependencies: [gmodule_dep, valacore_dep, valacodegen_dep, libgvc_dep],
soversion: '0.0.0',
install: true,
install_dir: [
true,
join_paths (get_option('includedir'), 'valadoc@0@'.format (vala_version_suffix)),
true
],
c_args: ['-DPACKAGE_VALADOC_LIBDIR="@0@"'.format(join_paths(get_option('prefix'), get_option('libdir'), 'valadoc'))],
vala_args: ['--use-header'],
vala_header: 'valadoc.h',
vala_vapi: 'valadoc@0@.vapi'.format(vala_version_suffix),
)
libvaladoc_dep = declare_dependency(link_with: [libvaladoc_lib], dependencies: [gmodule_dep, valacore_dep, libgvc_dep], include_directories: include_directories('.'))
configure_file(input: 'valadoc.deps.in', output: 'valadoc@0@.deps'.format(vala_version_suffix), configuration: pkgconf)
configure_file(
input: 'valadoc.pc.in',
output: 'valadoc@0@.pc'.format(vala_version_suffix),
configuration: pkgconf,
install_dir: pkg_install_dir,
)
project('vala',
'c', 'vala',
version: '0.43.90',
meson_version: '>= 0.44',
license: 'LGPL2.1'
)
vala_version = meson.project_version()
version_array = vala_version.split('.')
vala_api_version = '0.44'
vala_version_suffix = '-@0@'.format(vala_api_version)
# Minimal required version for an initial build
vala_version_required = '0.16.1'
vala = meson.get_compiler('vala')
if not vala.version().version_compare('>= @0@'.format(vala_version_required))
error('valac >= @0@ required!'.format(vala_version_required))
endif
if not vala.version().version_compare('>= @0@'.format(vala_version))
warning('Proper bootstrap build with valac >= @0@ is required!!!'.format(vala_version))
endif
pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), 'vala@0@'.format(vala_version_suffix))
pkglibdir = join_paths(get_option('prefix'), get_option('libdir'), 'vala@0@'.format(vala_version_suffix))
conf = configuration_data()
conf.set_quoted('PACKAGE', meson.project_name())
conf.set_quoted('PACKAGE_BUGREPORT', 'https://gitlab.gnome.org/GNOME/vala/issues')
conf.set_quoted('PACKAGE_DATADIR', pkgdatadir)
conf.set_quoted('PACKAGE_NAME', meson.project_name())
conf.set_quoted('PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), vala_version))
conf.set_quoted('PACKAGE_SUFFIX', vala_version_suffix)
conf.set_quoted('PACKAGE_TARNAME', meson.project_name())
conf.set_quoted('PACKAGE_URL', 'https://wiki.gnome.org/Projects/Vala')
conf.set_quoted('PACKAGE_VERSION', vala_version)
conf.set_quoted('VERSION', vala_version)
conf.set_quoted('API_VERSION', vala_api_version)
conf.set_quoted('BUILD_VERSION', vala_version)
configure_file(input: 'config.h.meson', output: 'config.h', configuration: conf)
vcs_tag(input: 'version.h.meson', output: 'version.h')
pkgconf = configuration_data()
pkgconf.set('prefix', get_option('prefix'))
pkgconf.set('exec_prefix', '${prefix}')
pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
pkgconf.set('bindir', '${exec_prefix}/@0@'.format(get_option('bindir')))
pkgconf.set('datarootdir', '${prefix}/@0@'.format(get_option('datadir')))
pkgconf.set('datadir', '${datarootdir}')
pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
pkgconf.set('pkgdatadir', '${datarootdir}/vala@0@'.format(vala_version_suffix))
pkgconf.set('pkglibdir', '${exec_prefix}/@0@'.format(get_option('libdir'), 'vala@0@'.format(vala_version_suffix)))
pkgconf.set('PACKAGE_SUFFIX', vala_version_suffix)
pkgconf.set('VERSION', vala_version)
pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
configure_file(
input: 'libvala.pc.in',
output: 'libvala@0@.pc'.format(vala_version_suffix),
configuration: pkgconf,
install_dir: pkg_install_dir
)
versionconf = configuration_data()
versionconf.set('VALA_MAJOR_VERSION', version_array[0])
versionconf.set('VALA_MINOR_VERSION', version_array[1])
versionconf.set('VALA_MICRO_VERSION', version_array[2])
versionconf.set('API_VERSION', vala_api_version)
versionconf.set('PACKAGE_VERSION', vala_version)
add_project_arguments([
'--disable-version-header',
'--vapidir', join_paths(meson.source_root(), 'vapi'),
'--pkg', 'config',
],
language: 'vala'
)
if vala.version().version_compare('>= 0.25.1')
add_project_arguments(['--hide-internal'], language: 'vala')
endif
if vala.version().version_compare('>= 0.39.6')
add_project_arguments(['--abi-stability'], language: 'vala')
endif
add_project_arguments([
'-Wno-discarded-qualifiers',
'-Wno-incompatible-pointer-types',
'-Wno-unused',
'-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40',
'-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40',
],
language: 'c',
)
glib_version_required = '2.40.0'
libgvc_version_required = '2.16'
glib_dep = dependency('glib-2.0', version: '>= @0@'.format(glib_version_required))
gobject_dep = dependency('gobject-2.0', version: '>= @0@'.format(glib_version_required))
gmodule_dep = dependency('gmodule-2.0', version: '>= @0@'.format(glib_version_required))
libgvc_dep = dependency('libgvc', version: '>= @0@'.format(libgvc_version_required))
# Check for CGraph support of libgvc
cc = meson.get_compiler('c')
if cc.run('''#include <gvc.h>
int main(void) {
#ifdef WITH_CGRAPH
return 0;
#else
return -1;
#endif
}''',
dependencies: libgvc_dep).returncode() == 0
add_project_arguments('-D', 'WITH_CGRAPH', language: 'vala')
endif
subdir('gobject-introspection')
subdir('gee')
subdir('vala')
subdir('ccode')
subdir('codegen')
subdir('compiler')
subdir('vapigen')
subdir('libvaladoc')
subdir('valadoc')
subdir('vapi')
subdir('doc')
install_data('vala.m4', install_dir: join_paths('share', 'aclocal'))
pycat = find_program(join_paths(meson.source_root(), 'build-aux', 'meson', 'cat.py'))
#custom_target(
# 'libvala@0@.vapi'.format(vala_version_suffix),
# command: [pycat, '@INPUT@'],
# depends: [valagee_lib, valacore_lib],
# capture: true,
# install: true,
# install_dir: join_paths('share', 'vala', 'vapi'),
# input: [
# join_paths(meson.current_build_dir(), 'gee', 'gee.vapi'),
# join_paths(meson.current_build_dir(), 'vala', 'vala.vapi'),
# ],
# output: 'libvala@0@.vapi'.format(vala_version_suffix),
#)
#!/bin/sh
cd "${DESTDIR}/${MESON_INSTALL_PREFIX}/mydir"
ln -s -f "${DESTDIR}/${MESON_INSTALL_PREFIX}/mydir"
touch "${DESTDIR}/${MESON_INSTALL_PREFIX}/mydir/file.dat"
install-exec-hook:
cd $(DESTDIR)$(bindir) && $(LN_S) -f vapigen@PACKAGE_SUFFIX@$(EXEEXT) vapigen$(EXEEXT)
cd $(DESTDIR)$(bindir) && $(LN_S) -f vapicheck@PACKAGE_SUFFIX@$(EXEEXT) vapicheck$(EXEEXT)
install-data-hook:
cd $(DESTDIR)$(pkgconfigdir) && $(LN_S) -f vapigen@PACKAGE_SUFFIX@.pc vapigen.pc
valacore_sources = [
'valaaddressofexpression.vala',
'valaarraycopymethod.vala',
'valaarraycreationexpression.vala',
'valaarraylengthfield.vala',
'valaarraymovemethod.vala',
'valaarrayresizemethod.vala',
'valaarraytype.vala',
'valaassignment.vala',
'valaattribute.vala',
'valabaseaccess.vala',
'valabasicblock.vala',
'valabinaryexpression.vala',
'valablock.vala',
'valabooleanliteral.vala',
'valabooleantype.vala',
'valabreakstatement.vala',
'valacallable.vala',
'valacallabletype.vala',
'valacastexpression.vala',
'valacatchclause.vala',
'valacharacterliteral.vala',
'valaclasstype.vala',
'valaclass.vala',
'valacodecontext.vala',
'valacodegenerator.vala',
'valacodenode.vala',
'valacodevisitor.vala',
'valacodewriter.vala',
'valacomment.vala',
'valaconditionalexpression.vala',
'valaconstant.vala',
'valaconstructor.vala',
'valacontinuestatement.vala',
'valacreationmethod.vala',
'valadatatype.vala',
'valadeclarationstatement.vala',
'valadelegatetype.vala',
'valadelegate.vala',
'valadeletestatement.vala',
'valadestructor.vala',
'valadostatement.vala',
'valadynamicmethod.vala',
'valadynamicproperty.vala',
'valadynamicsignal.vala',
'valaelementaccess.vala',
'valaemptystatement.vala',
'valaenum.vala',
'valaenumvaluetype.vala',
'valaenumvalue.vala',
'valaerrorcode.vala',
'valaerrordomain.vala',
'valaerrortype.vala',
'valaexpressionstatement.vala',
'valaexpression.vala',
'valafieldprototype.vala',
'valafield.vala',
'valafloatingtype.vala',
'valaflowanalyzer.vala',
'valaforeachstatement.vala',
'valaforstatement.vala',
'valagenerictype.vala',
'valagenieparser.vala',
'valageniescanner.vala',
'valagenietokentype.vala',
'valagircomment.vala',
'valagirparser.vala',
'valaifstatement.vala',
'valainitializerlist.vala',
'valaintegerliteral.vala',
'valaintegertype.vala',
'valainterfacetype.vala',
'valainterface.vala',
'valainvalidtype.vala',
'valalambdaexpression.vala',
'valaliteral.vala',
'valalocalvariable.vala',
'valalockable.vala',
'valalockstatement.vala',
'valaloop.vala',
'valamarkupreader.vala',
'valamemberaccess.vala',
'valamemberinitializer.vala',
'valamethodcall.vala',
'valamethodtype.vala',
'valamethod.vala',
'valanamedargument.vala',
'valanamespace.vala',
'valanullliteral.vala',
'valanulltype.vala',
'valaobjectcreationexpression.vala',
'valaobjecttypesymbol.vala',
'valaobjecttype.vala',
'valaparameter.vala',
'valaparser.vala',
'valaphifunction.vala',
'valapointerindirection.vala',
'valapointertype.vala',
'valapostfixexpression.vala',
'valaprofile.vala',
'valapropertyaccessor.vala',
'valaproperty.vala',
'valapropertyprototype.vala',
'valarealliteral.vala',
'valareferencetransferexpression.vala',
'valareferencetype.vala',
'valaregexliteral.vala',
'valareport.vala',
'valareturnstatement.vala',
'valascanner.vala',
'valascope.vala',
'valasemanticanalyzer.vala',
'valasignaltype.vala',
'valasignal.vala',
'valasizeofexpression.vala',
'valasliceexpression.vala',
'valasourcefile.vala',
'valasourcelocation.vala',
'valasourcereference.vala',
'valastatementlist.vala',
'valastatement.vala',
'valastringliteral.vala',
'valastruct.vala',
'valastructvaluetype.vala',
'valasubroutine.vala',
'valaswitchlabel.vala',
'valaswitchsection.vala',
'valaswitchstatement.vala',
'valasymbolresolver.vala',
'valasymbol.vala',
'valatargetvalue.vala',
'valatemplate.vala',
'valathrowstatement.vala',
'valatokentype.vala',
'valatrystatement.vala',
'valatuple.vala',
'valatypecheck.vala',
'valatypeofexpression.vala',
'valatypeparameter.vala',
'valatypesymbol.vala',
'valaunaryexpression.vala',
'valaunlockstatement.vala',
'valaunresolvedsymbol.vala',
'valaunresolvedtype.vala',
'valausedattr.vala',
'valausingdirective.vala',
'valavaluetype.vala',
'valavariable.vala',
'valaversionattribute.vala',
'valavoidtype.vala',
'valawhilestatement.vala',
'valayieldstatement.vala',
]
valaversion_source = configure_file(
input: 'valaversion.vala.in',
output: 'valaversion.vala',
configuration: versionconf,
)
valacore_lib = shared_library(
'vala@0@'.format(vala_version_suffix),
valacore_sources,
valaversion_source,
dependencies: [gobject_dep, gmodule_dep, valagee_dep],
soversion: '0.0.0',
install: true,
vala_args: ['--use-header'],
vala_header: 'vala.h',
vala_vapi: 'vala.vapi',
install_dir: [
true,
join_paths (get_option('includedir'), 'vala@0@'.format (vala_version_suffix)),
false
],
)
valacore_dep = declare_dependency(
link_with: [valacore_lib],
dependencies: [valagee_dep],
include_directories: include_directories('.', '..'),
)
doclet_devhelp_sources = [
'doclet.vala',
]