Message ID | 20230320195057.16195-1-laurent.pinchart@ideasonboard.com |
---|---|
State | New |
Headers | show |
Series | meson: Fix install location of doxygen's man pages | expand |
Hi Mauro, On Mon, Mar 20, 2023 at 09:36:19PM +0100, Mauro Carvalho Chehab wrote: > Em Mon, 20 Mar 2023 21:50:57 +0200 Laurent Pinchart escreveu: > > > The doxygen man pages are incorrectly being installed alongside the HTML > > documentation. Install them in the right location, in the $mandir > > directory, by specifying a separate install location for each doxygen > > target. > > > > As a drive-by cleanup, replace the join_path() function with the meson's > > '/' path concatenation operator. > > Thanks for the quick fix! > > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > --- > > doc/meson.build | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/doc/meson.build b/doc/meson.build > > index fef3e83fa432..02a30dc5688a 100644 > > --- a/doc/meson.build > > +++ b/doc/meson.build > > @@ -15,15 +15,16 @@ doxyfile = configure_file(input : 'Doxyfile.in', > > output : 'Doxyfile', > > configuration : cdata) > > > > -doxygen_install_dir = join_paths(get_option('datadir'), 'doc', > > - '@0@'.format(meson.project_name())) > > +doxygen_install_dirs = [] > > > > doxygen_output = [] > > if get_option('doxygen-html') > > doxygen_output += 'html' > > + doxygen_install_dirs += get_option('datadir') / 'doc' / '@0@'.format(meson.project_name()) > > endif > > if get_option('doxygen-man') > > doxygen_output += 'man' > > + doxygen_install_dirs += get_option('mandir') / '..' > > This is hacky, but it also sounded to me the easiest/quickest way to > address it. I wonder if are there a cleaner way to avoid it to place > files under ${mandir}/man/man3. e. g. /usr/share/man/man/man3. Not by using the custom_target() install_dir argument, as far as I can see. meson provides a set of install_*() functions that may be leveraged, and also allows running custom installation scripts with meson.add_install_script() if needed. I decided to go for this small hack for simplicity. > This shouldn't be causing real problems, though, except if some > distro would use non-Unix standard places, like setting mandir > to something like "/weird/distro/manual_pages". Yes, that would be problematic. Let's fix it when this theoretical problem becomes a real one :-)
diff --git a/doc/meson.build b/doc/meson.build index fef3e83fa432..02a30dc5688a 100644 --- a/doc/meson.build +++ b/doc/meson.build @@ -15,15 +15,16 @@ doxyfile = configure_file(input : 'Doxyfile.in', output : 'Doxyfile', configuration : cdata) -doxygen_install_dir = join_paths(get_option('datadir'), 'doc', - '@0@'.format(meson.project_name())) +doxygen_install_dirs = [] doxygen_output = [] if get_option('doxygen-html') doxygen_output += 'html' + doxygen_install_dirs += get_option('datadir') / 'doc' / '@0@'.format(meson.project_name()) endif if get_option('doxygen-man') doxygen_output += 'man' + doxygen_install_dirs += get_option('mandir') / '..' endif custom_target('doxygen', @@ -31,4 +32,4 @@ custom_target('doxygen', output : doxygen_output, command : [prog_doxygen, doxyfile], install : true, - install_dir : doxygen_install_dir) + install_dir : doxygen_install_dirs)
The doxygen man pages are incorrectly being installed alongside the HTML documentation. Install them in the right location, in the $mandir directory, by specifying a separate install location for each doxygen target. As a drive-by cleanup, replace the join_path() function with the meson's '/' path concatenation operator. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- doc/meson.build | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) base-commit: cdb3d1a7309d2daed5626c8c4ddbe9e5498e938b