Commit Graph

255 Commits

Author SHA1 Message Date
Jussi Pakkanen f1c909c41a Merge pull request #980 from ebassi/gtkdoc-fixes
Improvements for gnome.gtkdoc
2016-11-02 13:49:05 -07:00
Jussi Pakkanen 36a0d162cb Merge pull request #895 from mesonbuild/wip/tingping/gnome-vapi
gnome: Add generate_vapi function
2016-11-02 11:41:58 -07:00
Emmanuele Bassi e226d702bc gtkdoc: Add `ignore_headers` positional argument
Not all headers are public, or contain public types. GTK-Doc allows
adding headers to be ignored during the "scan" phase, by passing the
`--ignore-headers` command line argument to gtkdoc-scan.

Currently, you can do something like:

  ignored_headers = [ 'foo-private.h', 'bar-private.h', ]

  gnome.gtkdoc(...
               scan_args: [
                 '--ignore-headers=' + ' '.join(ignored_headers),
               ],
               ...)

But it does not guarantee escaping rules and it's definitely not nice.

We can add a simpler version of that mechanism through a new positional
argument, `ignore_headers`, which behaves like `content_files` or
`html_assets`, and takes an array of header files to ignore:

  gnome.gtkdoc(...
               ignore_headers: ignored_headers,
               ...)
2016-11-01 14:11:48 +00:00
Jussi Pakkanen 3c48bd2d88 Revert d9473095f2 because it broke GStreamer. 2016-10-24 12:16:28 -07:00
Patrick Griffis d9473095f2 gnome: Don't pass ldflags to g-ir-scanner
In this context -l refers to shared libraries that the gir
provides so you end up with a dozen unecessary libs in your
gir file.
2016-10-23 08:53:27 -07:00
Jussi Pakkanen b50f3e6976 Merge pull request #934 from mesonbuild/wip/tingping/gnome-yelp
gnome: Add yelp() function
2016-10-23 04:39:15 -07:00
Patrick Griffis ed3cc537cb gnome: Fix building gobject-introspection with sanitizer
Fixes #922
2016-10-22 15:04:16 -07:00
Patrick Griffis bae7d7b3d7 gnome: Add generate_vapi() function
This allows C projects to generate vapi bindings from
gir files and returns a dependency that can be used by
Vala.
2016-10-21 02:23:54 -04:00
Patrick Griffis 1781129740 gnome: Add yelp() function
Fixes #881
Mentioned in #295
2016-10-19 18:44:19 -04:00
Jussi Pakkanen e908910187 Can query pkg-config variables from the system. Closes #726. 2016-10-19 22:36:34 +03:00
Patrick Griffis 22debf6ffc gnome: Fix gresource warning incorrectly being shown on 2.50+ 2016-10-19 21:15:05 +03:00
Jussi Pakkanen a417efdf24 Merge pull request #793 from ssssam/sam/gresource-dependencies
gnome: allow use of generated files with compile_resources()
2016-10-16 17:47:39 +03:00
Patrick Griffis d7fdeb4d15 gnome: Avoid unhandled exception 2016-10-16 17:38:54 +03:00
Sam Thursfield 25f13067c2 gnome: allow use of generated files with compile_resources()
This commit adds a 'dependencies' keyword to the
gnome.compile_resources() function, which allows your resource blob
to depend on files generated at build-time from custom_target() or
configure_file() targets.

My current use case for this is source data that gets processed with Gettext
translation tools before being compiled into the resource blob.

This feature only works with GLib version 2.48.2 and above. So the
compile_resources() function now detects GLib version and raises an
error if the version of GLib being used is too old.

The compile_resources() test case is now split into two, so that the
existing one can continue to run on systems with old GLib versions (such
as Ubuntu Xenial, which the automated tests on travisci.org use), but
where new enough GLib is available we also test generating gresource
content.

The existing warning about glib-compile-resources is now only printed
if GLib version is older than 2.50.0 because
<https://bugzilla.gnome.org/show_bug.cgi?id=745754> is fixed in the
2.50.0 release.
2016-10-13 21:18:14 +01:00
Patrick Griffis 94b7b59546 gnome.generate_gir(): Also include current build dir
Continuation of 084b854ce0
2016-10-08 12:34:30 +02:00
Jussi Pakkanen f73c0a1098 Merge pull request #843 from mesonbuild/tingping/gir-dir
gnome.generate_gir(): Fix install_dir and add install_dir_gir and install_dir_typelib
2016-10-03 21:27:54 +03:00
Jussi Pakkanen 7256e109bf Merge pull request #718 from QuLogic/glib-mkenums-genmarshal
glib-mkenums and glib-genmarshal support
2016-10-03 19:07:42 +03:00
Patrick Griffis dd9dfa77fb gnome.generate_gir(): Add install_dir_gir and install_dir_typelib
A generic `install_dir` is less useful and didn't work so just ignore it
2016-10-03 02:34:33 -04:00
Patrick Griffis 084b854ce0 gnome: Consistently include current source dir
This is a common pattern so avoid the duplication
2016-10-02 12:16:22 -04:00
Elliott Sales de Andrade 2840539a08 Don't overwrite mkenums C file dependencies. 2016-09-28 18:32:56 -04:00
Elliott Sales de Andrade 8f024c0697 Allow running mkenums without templates. 2016-09-28 18:32:46 -04:00
Jussi Pakkanen d61b71fdc2 Converted mkenums to be single invocation. 2016-09-28 18:21:42 -04:00
Elliott Sales de Andrade 1033728c85 Fix mkenums and genmarshal argument names.
Dashes aren't allowed in keyword argument names.
2016-09-28 18:20:18 -04:00
Elliott Sales de Andrade ceee8bc6b2 Generate genmarshal header and body simultaneously.
This follows the same style as gnome.compile_resources, which produces
both files from one invocation.
2016-09-28 18:20:18 -04:00
Elliott Sales de Andrade 2a8a0727fc Add support for glib-genmarshal to gnome module. 2016-09-28 18:20:18 -04:00
Elliott Sales de Andrade ab004ab189 Add support for glib-mkenums to gnome module. 2016-09-28 18:20:17 -04:00
Thibault Saunier bb3823e6f4 gnome: Allow specifying gtkdoc where to install directory 2016-09-26 15:25:59 -03:00
Thibault Saunier f86fbf6ebf gnome: Run gtkdoc-scanobjs and add a way to get assets working
Allowing the object tree to be generated.

We need to add options to allow copying the ncesseary sources and
assets so the HTML generator can work with them (everything is
relative so we need to copy them in the build directory).

Until now the documentation was not generated from the user provided
main sgml file but it was using a generated one, which lead to a broken
documentation. Starting using it revealed the other bugs fixed in that
commit.
2016-09-26 15:25:59 -03:00
Thibault Saunier 68ae8e1ad0 gnome: Factor out a get_dependencies_flags method
And recurse to make sure that we build against all internal
dependencies dependencies.
2016-09-26 15:25:59 -03:00
Thibault Saunier 52a4b3302e gnome: Make all include paths absolute
The relative computation was broken when using
subprojects.
2016-09-26 15:25:59 -03:00
Jussi Pakkanen 8ab62a27b4 Merge pull request #739 from QuLogic/gir-include-paths
Update GIR include paths
2016-09-26 20:56:02 +03:00
TingPing 5b34e560e5 gnome: Print useful error if missing compile_resource arg (#811) 2016-09-25 19:02:41 +03:00
Elliott Sales de Andrade 28e1f3ba13 Fix pkgconfig libraries passed to GIR targets. 2016-09-14 16:59:53 -04:00
Elliott Sales de Andrade 7a6534e054 GIR: Handle all dependencies and internal libraries. 2016-09-14 16:57:40 -04:00
Elliott Sales de Andrade 68a2e5c9c9 Also add GIR include_directories to header search path. 2016-09-14 16:57:40 -04:00
Elliott Sales de Andrade 9009f8267e Allow GirTargets as includes for another GirTarget. 2016-09-14 16:57:40 -04:00
Elliott Sales de Andrade 3ae327a2ac Pull dependency directly from GIR's target library. 2016-09-14 16:57:38 -04:00
Elliott Sales de Andrade d0b6f0b7a4 Add dependency's include paths to GIR generation. 2016-09-14 16:55:07 -04:00
Elliott Sales de Andrade f2ccad64fc Determine GIR include paths like targets.
These paths are now generated similar to
NinjaBackend.generate_single_compile where IncludeDirs create includes
of both the build directory path and the source directory path.

This also fixes a bug with include_directories, where the path string
supplied to the IncludeDirs initializer was used for the search path,
instead of the actual location to which it referred. Often, this was a
'.', and not a really useful path.
2016-09-14 16:55:07 -04:00
Thibault Saunier 6c6c706bb8 gnome: Handle internal dependencies to generate gir files 2016-08-29 10:11:27 -03:00
Jussi Pakkanen fae8ad90a4 Consistent kwarg popping. 2016-08-21 15:04:44 +03:00
Jussi Pakkanen 4b3414cba0 Add extra_args kwarg to glib-compile-resources. Closes #698. 2016-08-21 15:00:02 +03:00
Igor Gnatenko bde123d70c Merge pull request #629 from wtay/master
gnome.py: typelib files should be installed in libdir
2016-08-14 20:07:43 +02:00
Nirbheek Chauhan e6c927d8ac gnome: Update RunTarget usage to new syntax
This was broken in 0733c0f9a1
2016-07-21 13:39:42 +05:30
Wim Taymans 660c872422 gnome.py: typelib files should be installed in libdir
The typelib files should be installed in libdir, even on debian (which
has them in /usr/lib/x86_64-linux-gnu/girepository-1.0/).
2016-07-04 12:29:56 +02:00
Jussi Pakkanen d8e08224da Helper function to get the install dir of a gtkdoc module. Closes #551. 2016-05-25 22:55:02 +03:00
Emmanuele Bassi 8998e44cd9 Support passing extra arguments to gtkdoc-fixxref
The extra arguments are typically used to specified the location of
installed API references that gtk-doc can use to create cross links
for symbols.

Fixes #555
2016-05-25 11:36:33 +01:00
Tim-Philipp Müller 3b5dcdbd42 gnome: only print warning when gresource-related functionality is used (#510)
It's confusing to print this when using stuff that works just fine.
2016-04-07 20:23:46 +03:00
Hemmo Nieminen 336904b553 Move MesonException from coredata to mesonlib. 2016-04-01 00:52:45 +03:00
Jussi Pakkanen 352b5badd2 Handle resources that come in files(). Closes #424. 2016-02-29 21:04:16 +02:00
Damián Nohales 8bcd25f5b4 Simplify target generation in GnomeModule.compile_resources 2016-02-09 19:41:26 -03:00
Damián Nohales b91662a903 Allow multiple source_dir in GResource
There are use case where one may want to specify --sourcedir option
multiple times to glib-compile-resources, which will look for
resources in every specified directory.

By doing this, we also need to get rid of the manual GResource XML
parsing and we opted to use the glib-compile-resources command with
the --generate-dependencies option. This command will solve the
multiple source_dir case for us.
2016-02-09 19:41:26 -03:00
Jussi Pakkanen 5586dcf5c0 Text clarification. 2016-01-31 00:19:50 +11:00
Jussi Pakkanen d6e176f455 Made gtkdoc and run targets work. 2016-01-16 18:04:59 +02:00
Jussi Pakkanen 23b98cd6e6 Renamed meson package to mesonbuild so that we can have a script named meson in the same toplevel dir. 2016-01-16 17:35:29 +02:00