[Spice-devel] [PATCH spice-gtk 01/12] meson: improve gtk-doc build

Frediano Ziglio fziglio at redhat.com
Mon Feb 11 16:28:34 UTC 2019


> > 
> > From: Marc-André Lureau <marcandre.lureau at redhat.com>
> > 
> > - Fix the following warnings:
> > ./spice-gtk-sections.txt:467: warning: No declaration found for
> > SPICE_GTK_CHECK_VERSION.
> > ./spice-gtk-sections.txt:468: warning: No declaration found for
> > SPICE_GTK_MAJOR_VERSION.
> > ./spice-gtk-sections.txt:469: warning: No declaration found for
> > SPICE_GTK_MICRO_VERSION.
> > ./spice-gtk-sections.txt:470: warning: No declaration found for
> > SPICE_GTK_MINOR_VERSION.
> > 
> > - fixxref for glib and gtk (thus requires gtk+ to build doc)
> > 
> > - And other minor simplifications.
> > 
> > After autotools is removed, we should try to use --rebuild-types. For
> > now I prefer not to touch it :)
> > 
> 
> This last sentence is not related to this commit.
> 
> > Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
> > ---
> >  doc/reference/meson.build | 29 +++++++++++++++++++++++------
> >  1 file changed, 23 insertions(+), 6 deletions(-)
> > 
> > diff --git a/doc/reference/meson.build b/doc/reference/meson.build
> > index a121e66..c1abeb9 100644
> > --- a/doc/reference/meson.build
> > +++ b/doc/reference/meson.build
> > @@ -38,14 +38,31 @@ ignore_headers = [
> >  
> >  spice_gtk_doc_dep = declare_dependency(link_with : [spice_client_gtk_lib,
> >  spice_client_glib_lib])
> >  
> > -gnome.gtkdoc('spice-gtk',
> > -             content_files : ['spice-gtk-overrides.txt',
> > 'spice-gtk-overrides.txt'],
> > +glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
> > +glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
> > +gtk_prefix = dependency('gtk+-3.0').get_pkgconfig_variable('prefix')
> > +gtk_docpath = join_paths(gtk_prefix, 'share', 'gtk-doc', 'html')
> > +docpath = join_paths(spice_gtk_datadir, 'gtk-doc', 'html')
> > +
> > +gnome.gtkdoc(meson.project_name(),
> >               dependencies : spice_gtk_doc_dep,
> > -             main_xml : 'spice-gtk-docs.xml',
> > -             gobject_typesfile : files('spice-gtk.types'),
> > +             main_xml : meson.project_name() + '-docs.xml',
> > +             gobject_typesfile : meson.project_name() + '.types',
> >               ignore_headers : ignore_headers,
> >               include_directories: spice_gtk_include,
> >               c_args : '-DSPICE_COMPILATION',
> >               install : true,
> > -             scan_args :
> > ['--deprecated-guards="SPICE_DISABLE_DEPRECATED"',
> > '--ignore-decorators="G_GNUC_INTERNAL"'],
> > -             src_dir : join_paths(meson.source_root(), 'src'))
> > +             scan_args : [
> > +               '--deprecated-guards="SPICE_DISABLE_DEPRECATED"',
> > +               '--ignore-decorators="G_GNUC_INTERNAL"',
> > +               join_paths(meson.build_root(), 'src', 'spice-version.h')

Why do you need to pass spice-version.h? It's not passed in autoconf files.
Looks like autoconf is adding all src directory but ignoring lot of files.
But autoconf does not need to include explicitly spice-version.h

> > +             ],
> > +             src_dir : join_paths(meson.source_root(), 'src'),
> 
> These last lines were changed since previous version.
> What's the reason?
> 
> > +             fixxref_args: [
> > +               '--html-dir=@0@'.format(docpath),
> > +               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
> > +               '--extra-dir=@0@'.format(join_paths(glib_docpath,
> > 'gobject')),
> > +               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
> > +               '--extra-dir=@0@'.format(join_paths(gtk_docpath, 'gtk3')),
> > +             ],

In my machine autoconf is just calling:

gtkdoc-fixxref --module=spice-gtk --module-dir=html --html-dir=/home/fziglio/install/share/gtk-doc/html 

why do you need all these extra directories?

> > +            )
> 

Frediano


More information about the Spice-devel mailing list