[vala/wip/meson: 675/675] WIP



commit 362e38f595ad1047bc23c9fb5bdc33f8e2d038dd
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Wed Aug 9 15:18:46 2017 +0200

    WIP

 compiler/meson.build                    |    3 +
 config.h.meson                          |    3 +
 doc/meson.build                         |    5 +
 gee/meson.build                         |   12 ++-
 libvaladoc/meson.build                  |  161 +++++++++++++++++++++++++++++++
 meson.build                             |    8 +-
 vala/meson.build                        |   12 ++-
 vapigen/meson.build                     |    6 +
 vapigen/vala-gen-introspect/meson.build |    3 +
 9 files changed, 203 insertions(+), 10 deletions(-)
---
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..8be8100 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -1 +1,6 @@
 install_man(['vala-gen-introspect.1', 'valac.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 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..39f4ea5
--- /dev/null
+++ b/libvaladoc/meson.build
@@ -0,0 +1,161 @@
+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, valagee],
+       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', '--basedir=' + meson.current_source_dir(), '--directory=' 
+ meson.current_build_dir(), '--vapidir=' + join_paths(meson.source_root(), 'vapi')],
+       vala_header: 'valadoc.h',
+       vala_vapi: 'valadoc@0@.vapi'.format(vala_version_suffix),
+)
+
+libvaladoc = declare_dependency(link_with: [libvaladoc_lib], include_directories: include_directories('.'))
diff --git a/meson.build b/meson.build
index e3fb542..cb8e0f4 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()
@@ -15,6 +16,7 @@ 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)
@@ -62,6 +64,8 @@ subdir('ccode')
 subdir('codegen')
 subdir('compiler')
 subdir('vapigen')
+#subdir('libvaladoc')
+#subdir('valadoc')
 subdir('doc')
 
 install_data('vala.m4', install_dir: 'share/aclocal')
diff --git a/vala/meson.build b/vala/meson.build
index 82d639a..8530fcf 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], include_directories: include_directories('.', '..'))
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]