[vala/wip/meson: 1/2] WIP
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/wip/meson: 1/2] WIP
- Date: Wed, 9 Aug 2017 18:51:02 +0000 (UTC)
commit 3d03fb583e9b1bfd3b990ba815d07510f2e66048
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Wed Aug 9 15:18:46 2017 +0200
WIP
ccode/meson.build | 4 +-
codegen/meson.build | 4 +-
compiler/meson.build | 3 +
config.h.meson | 3 +
doc/meson.build | 8 ++-
gee/meson.build | 12 ++-
libvaladoc/meson.build | 171 +++++++++++++++++++++++++++++++
libvaladoc/valadoc.deps.in | 2 +-
meson.build | 12 ++-
vala/meson.build | 12 ++-
valadoc/meson.build | 25 +++++
vapigen/meson.build | 6 +
vapigen/vala-gen-introspect/meson.build | 3 +
13 files changed, 248 insertions(+), 17 deletions(-)
---
diff --git a/ccode/meson.build b/ccode/meson.build
index 3b4e547..5d02d7f 100644
--- a/ccode/meson.build
+++ b/ccode/meson.build
@@ -57,7 +57,7 @@ valaccode_sources = [
valaccode_lib = static_library(
'valaccode',
valaccode_sources,
- dependencies: [glib, gobject, valagee, valacore],
+ dependencies: [glib, gobject, valagee],
install: false,
include_directories: include_directories('.', '..'),
vala_args: ['--use-header', '--pkg=config', '--vapidir=' + join_paths(meson.source_root(), 'vapi')],
@@ -65,4 +65,4 @@ valaccode_lib = static_library(
vala_vapi: 'valaccode.vapi',
)
-valaccode = declare_dependency(link_with: [valaccode_lib], include_directories: include_directories('.'))
+valaccode = declare_dependency(link_with: [valaccode_lib], dependencies: [valagee], include_directories:
include_directories('.'))
diff --git a/codegen/meson.build b/codegen/meson.build
index 48385db..bbdb998 100644
--- a/codegen/meson.build
+++ b/codegen/meson.build
@@ -32,11 +32,11 @@ valacodegen_sources = [
valacodegen_lib = static_library(
'valacodegen',
valacodegen_sources,
- dependencies: [glib, gobject, valagee, valaccode, valacore],
+ dependencies: [glib, gobject, valacore, valaccode],
install: false,
vala_args: ['--use-header'],
vala_header: 'valacodegen.h',
vala_vapi: 'valacodegen.vapi',
)
-valacodegen = declare_dependency(link_with: [valacodegen_lib], include_directories: include_directories('.'))
+valacodegen = declare_dependency(link_with: [valacodegen_lib], dependencies : [ valacore, valaccode ],
include_directories: include_directories('.'))
diff --git a/compiler/meson.build b/compiler/meson.build
index 84f51b0..0547bf8 100644
--- a/compiler/meson.build
+++ b/compiler/meson.build
@@ -12,3 +12,6 @@ executable(
include_directories: include_directories('.', '..'),
vala_args: ['--pkg=config', '--vapidir=' + join_paths(meson.source_root(), 'vapi')]
)
+
+# https://github.com/mesonbuild/meson/issues/1602
+meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs @1@
valac'.format(join_paths(get_option('prefix'), get_option('bindir')), valac_name))
diff --git a/config.h.meson b/config.h.meson
index f98435e..2c8f864 100644
--- a/config.h.meson
+++ b/config.h.meson
@@ -26,3 +26,6 @@
/* Version number of package */
#mesondefine VERSION
+
+/* API-Version of package */
+#mesondefine API_VERSION
diff --git a/doc/meson.build b/doc/meson.build
index 14e9e6a..9d68b25 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -1 +1,7 @@
-install_man(['vala-gen-introspect.1', 'valac.1', 'vapigen.1'])
+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 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 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 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 vapigen.1.gz
@1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'vapigen@0 1
gz'.format(vala_version_suffix)))
diff --git a/gee/meson.build b/gee/meson.build
index 5379a5b..099e36d 100644
--- a/gee/meson.build
+++ b/gee/meson.build
@@ -8,19 +8,23 @@ valagee_sources = [
'list.vala',
'mapiterator.vala',
'map.vala',
- 'set.vala'
+ 'set.vala',
+ 'timsort.vala'
]
valagee_lib = static_library(
'valagee',
valagee_sources,
dependencies: [glib, gobject],
- install: false,
+ 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: 'valagee.vapi',
)
valagee = declare_dependency(link_with: [valagee_lib], include_directories: include_directories('.'))
-
-install_headers('valagee.h', subdir: 'vala@0@'.format(vala_version_suffix))
diff --git a/libvaladoc/meson.build b/libvaladoc/meson.build
new file mode 100644
index 0000000..f0218c8
--- /dev/null
+++ b/libvaladoc/meson.build
@@ -0,0 +1,171 @@
+libvaladoc_sources = [
+ 'doclet.vala',
+ 'errorreporter.vala',
+ 'filehelper.vala',
+ 'moduleloader.vala',
+ 'settings.vala',
+ 'markupwriter.vala',
+ 'gtkdocmarkupwriter.vala',
+ 'devhelp-markupwriter.vala',
+ 'ctyperesolver.vala',
+ 'markupsourcelocation.vala',
+ 'markuptokentype.vala',
+ 'markupreader.vala',
+ 'gtkdocrenderer.vala',
+ '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/symbolaccessibility.vala',
+ 'api/sourcecomment.vala',
+ 'api/girsourcecomment.vala',
+ 'api/attributeargument.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/formalparametertype.vala',
+ 'api/interface.vala',
+ 'api/item.vala',
+ 'api/member.vala',
+ 'api/method.vala',
+ 'api/methodbindingtype.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/propertyaccessortype.vala',
+ 'api/propertybindingtype.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/browsable.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/sourcelocation.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: [glib, gobject, gmodule, valagee, libgvc],
+ soversion: '0.0.0',
+ install: true,
+ install_dir: [
+ true,
+ join_paths (get_option('includedir'), 'valadoc@0@'.format (vala_version_suffix)),
+ true
+ ],
+ include_directories: include_directories('.', '..'),
+ vala_args: ['--use-header', '--pkg=config', '--vapidir=' + join_paths(meson.source_root(), 'vapi'),
'-D', 'WITH_CGRAPH'],
+ #'--basedir=' + meson.current_source_dir(), '--directory=' + meson.current_build_dir()
+ vala_header: 'valadoc.h',
+ vala_vapi: 'valadoc@0@.vapi'.format(vala_version_suffix),
+)
+
+libvaladoc = declare_dependency(link_with: [libvaladoc_lib], dependencies: [gmodule, gobject, valagee,
libgvc], include_directories: include_directories('.'))
+
+configure_file(input: 'valadoc.deps.in', output: 'valadoc@0@.deps'.format(vala_version_suffix),
configuration: conf)
+
+configure_file(
+ input: 'valadoc.pc.in',
+ output: 'valadoc@0@.pc'.format(vala_version_suffix),
+ configuration: pkgconf,
+ install_dir: pkg_install_dir
+)
diff --git a/libvaladoc/valadoc.deps.in b/libvaladoc/valadoc.deps.in
index 024e034..a478ae8 100644
--- a/libvaladoc/valadoc.deps.in
+++ b/libvaladoc/valadoc.deps.in
@@ -1,3 +1,3 @@
gmodule-2.0
libgvc
-libvala@PACKAGE_SUFFIX@
+libvala@PACKAGE_SUFFIX_UNQUOTED@
diff --git a/meson.build b/meson.build
index e3fb542..8ae9996 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,8 @@
-project('Vala', 'c', 'vala', version: '0.37.0', meson_version: '0.40.1')
+project('Vala', 'c', 'vala', version: '0.37.2', meson_version: '>=0.41.2')
vala_version = meson.project_version()
-vala_version_suffix = '-0.38'
+vala_api_version = '0.38'
+vala_version_suffix = '-@0@'.format(vala_api_version)
conf = configuration_data()
@@ -11,10 +12,12 @@ conf.set_quoted('PACKAGE_DATADIR', join_paths(get_option('prefix'), get_option('
conf.set('PACKAGE_NAME', '"vala"')
conf.set('PACKAGE_STRING', '"vala @0@"'.format(vala_version))
conf.set('PACKAGE_SUFFIX', '"@0@"'.format(vala_version_suffix))
+conf.set('PACKAGE_SUFFIX_UNQUOTED', '@0@'.format(vala_version_suffix))
conf.set('PACKAGE_TARNAME', '"vala"')
conf.set('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)
configure_file(input: 'version.h.meson', output: 'version.h', configuration: conf)
@@ -49,10 +52,12 @@ add_global_arguments(['--disable-version-header',
glib_version_required = '2.40.0'
+libgvc_version_required = '2.16'
glib = dependency('glib-2.0', version: '>= @0@'.format(glib_version_required))
gobject = dependency('gobject-2.0', version: '>= @0@'.format(glib_version_required))
gmodule = dependency('gmodule-2.0', version: '>= @0@'.format(glib_version_required))
+libgvc = dependency('libgvc', version: '>= @0@'.format(libgvc_version_required))
subdir('gobject-introspection')
@@ -62,7 +67,8 @@ subdir('ccode')
subdir('codegen')
subdir('compiler')
subdir('vapigen')
+subdir('libvaladoc')
+subdir('valadoc')
subdir('doc')
install_data('vala.m4', install_dir: 'share/aclocal')
-#add_install_script('unversioned-install.sh')
diff --git a/vala/meson.build b/vala/meson.build
index 82d639a..1f9665f 100644
--- a/vala/meson.build
+++ b/vala/meson.build
@@ -159,10 +159,14 @@ valacore_lib = shared_library(
include_directories: include_directories('.', '..'),
vala_args: ['--use-header', '--pkg=config', '--vapidir=' + join_paths(meson.source_root(), 'vapi')],
vala_header: 'vala.h',
- #vala_vapi: 'vala.vapi',
+ vala_vapi: 'vala@0@.vapi'.format (vala_version_suffix),
+ install_dir: [
+ true,
+ join_paths (get_option('includedir'), 'vala@0@'.format (vala_version_suffix)),
+ true
+ ],
)
-valacore = declare_dependency(link_with: [valacore_lib],
- include_directories: include_directories('.', '..'))
+# TODO Prepend valagee.vapi to vala-*.vapi
-install_headers('vala.h', subdir: 'vala@0@'.format(vala_version_suffix))
+valacore = declare_dependency(link_with: [valacore_lib], dependencies: [valagee], include_directories:
include_directories('.', '..'))
diff --git a/valadoc/meson.build b/valadoc/meson.build
new file mode 100644
index 0000000..77957fb
--- /dev/null
+++ b/valadoc/meson.build
@@ -0,0 +1,25 @@
+valadoc_sources = [
+ 'driver.vala',
+ 'girwriter.vala',
+ 'initializerbuilder.vala',
+ 'symbolresolver.vala',
+ 'treebuilder.vala',
+ 'valadoc.vala'
+]
+
+valadoc_name = 'valadoc@0@'.format(vala_version_suffix)
+
+executable(
+ valadoc_name,
+ valadoc_sources,
+ dependencies: [glib, gobject, valacodegen, libvaladoc],
+ install: true,
+ include_directories: include_directories('..'),
+ vala_args: [
+ '--pkg=config', '--vapidir=' + join_paths(meson.source_root(), 'vapi'),
+ '--pkg=gidl', '--vapidir=' + join_paths(meson.source_root(), 'gobject-introspection')
+ ]
+)
+
+# https://github.com/mesonbuild/meson/issues/1602
+meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs @1@
valadoc'.format(join_paths(get_option('prefix'), get_option('bindir')), valadoc_name))
diff --git a/vapigen/meson.build b/vapigen/meson.build
index 66b8365..7495be0 100644
--- a/vapigen/meson.build
+++ b/vapigen/meson.build
@@ -17,6 +17,9 @@ executable(
]
)
+# https://github.com/mesonbuild/meson/issues/1602
+meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs @1@
vapigen'.format(join_paths(get_option('prefix'), get_option('bindir')), vapigen_name))
+
vapicheck_sources = [
'valavapicheck.vala'
]
@@ -31,6 +34,9 @@ executable(
vala_args: ['--pkg=gidl', '--vapidir=' + join_paths(meson.source_root(), 'gobject-introspection')]
)
+# https://github.com/mesonbuild/meson/issues/1602
+meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs @1@
vapicheck'.format(join_paths(get_option('prefix'), get_option('bindir')), vapicheck_name))
+
configure_file(
input: 'vapigen.pc.in',
output: 'vapigen@0@.pc'.format(vala_version_suffix),
diff --git a/vapigen/vala-gen-introspect/meson.build b/vapigen/vala-gen-introspect/meson.build
index 6cb1582..045de47 100644
--- a/vapigen/vala-gen-introspect/meson.build
+++ b/vapigen/vala-gen-introspect/meson.build
@@ -4,3 +4,6 @@ configure_file(
configuration: pkgconf,
install_dir: join_paths(get_option('prefix'), get_option('bindir'))
)
+
+# https://github.com/mesonbuild/meson/issues/1602
+meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs @1@
vala-gen-introspect'.format(join_paths(get_option('prefix'), get_option('bindir')),
'vala-gen-introspect@0@'.format(vala_version_suffix)))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]