DPDK patches and discussions
 help / color / mirror / Atom feed
From: Timothy Redaelli <tredaelli@redhat.com>
To: Luca Boccassi <bluca@debian.org>
Cc: dev@dpdk.org, bruce.richardson@intel.com
Subject: Re: [dpdk-dev] [PATCH v2] doc: support building HTML guides with meson
Date: Thu, 20 Sep 2018 15:19:07 +0200
Message-ID: <20180920151907.4fffa29b@redhat.com> (raw)
In-Reply-To: <20180919134827.15801-1-bluca@debian.org>

On Wed, 19 Sep 2018 14:48:27 +0100
Luca Boccassi <bluca@debian.org> wrote:

> From: Bruce Richardson <bruce.richardson@intel.com>
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
> v2: send on behalf of Bruce on request.
>     - tell sphinx to create .doctrees working files in the
>       parent of the target directory so that they don't get
>       installed
>     - change the output directory so that it matches the legacy
>       makefiles directory structure (on install)
>     - add install_dir to fix ninja install
>     - add post-install calls to delete .buildinfo sphinx
>       temporary file and to install custom.css as the makefiles
>       do
> The installed directory has been verified to be bit-by-bit
> identical to the legacy makefiles with diffoscope.
> 
>  doc/api/meson.build    |  5 ++---
>  doc/guides/meson.build | 27 +++++++++++++++++++++++++++
>  doc/meson.build        | 11 +++++++++++
>  3 files changed, 40 insertions(+), 3 deletions(-)
>  create mode 100644 doc/guides/meson.build
> 
> diff --git a/doc/api/meson.build b/doc/api/meson.build
> index 13fcbb8cd7..30bdc573b5 100644
> --- a/doc/api/meson.build
> +++ b/doc/api/meson.build
> @@ -50,7 +50,6 @@ if doxygen.found()
>  		install_dir: htmldir,
>  		build_by_default: false)
>  
> -	run_target('doc', command: 'true', depends: doxy_build)
> -else
> -	run_target('doc', command: ['echo', 'doxygen', 'not', 'found'])
> +	doc_targets += doxy_build
> +	doc_target_names += 'Doxygen_API'
>  endif
> diff --git a/doc/guides/meson.build b/doc/guides/meson.build
> new file mode 100644
> index 0000000000..24f5316c5c
> --- /dev/null
> +++ b/doc/guides/meson.build
> @@ -0,0 +1,27 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2018 Intel Corporation
> +
> +sphinx = find_program('sphinx-build', required: get_option('enable_docs'))
> +
> +if sphinx.found()
> +	htmldir = join_paths('share', 'doc', 'dpdk')
> +	html_guides_build = custom_target('html_guides_build',
> +		input: meson.current_source_dir(),
> +		output: 'guides',
> +		command: [sphinx, '-b', 'html', '@INPUT@', meson.current_build_dir() + '/guides',
> +			'-d', meson.current_build_dir() + '/.doctrees'],

This on RHEL 7.5 doesn't work, since old versions of sphinx (I have
v1.1.3) need all options before the paths. I tried to move
"'-d', meson.current_build_dir() + '/.doctrees'" before "'@INPUT@'" and
it worked.

> +		build_by_default: false,
> +		install: get_option('enable_docs'),
> +		install_dir: htmldir)
> +
> +	doc_targets += html_guides_build
> +	doc_target_names += 'HTML_Guides'
> +
> +	# sphinx leaves a .buildinfo in the target directory, which we don't
> +	# want to install. Note that sh -c has to be used, otherwise the
> +	# env var does not get expanded if calling rm/install directly.
> +	meson.add_install_script('sh', '-c',
> +		'rm -f $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/.buildinfo')
> +	meson.add_install_script('sh', '-c',
> +		'install -D -m0644 $MESON_SOURCE_ROOT/doc/guides/custom.css $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/_static/css/')

This on RHEL 7.5 doesn't work. I had to append custom.css to DEST
($MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/_static/css/custom.css)
to make it work.

> +endif
> diff --git a/doc/meson.build b/doc/meson.build
> index afca2e7133..c5410d85d6 100644
> --- a/doc/meson.build
> +++ b/doc/meson.build
> @@ -1,4 +1,15 @@
>  # SPDX-License-Identifier: BSD-3-Clause
>  # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
>  
> +doc_targets = []
> +doc_target_names = []
>  subdir('api')
> +subdir('guides')
> +
> +if doc_targets.length() == 0
> +	message = 'No docs targets found'
> +else
> +	message = 'Building docs:'
> +endif
> +run_target('doc', command: ['echo', message, doc_target_names],
> +	depends: doc_targets)

  reply	other threads:[~2018-09-20 13:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-11 16:13 [dpdk-dev] [PATCH] " Bruce Richardson
2018-09-11 20:36 ` Luca Boccassi
2018-09-11 21:47   ` Luca Boccassi
2018-09-12  9:36     ` Bruce Richardson
2018-09-12  9:48       ` Luca Boccassi
2018-09-12 10:13         ` Bruce Richardson
2018-09-12 12:08           ` Luca Boccassi
2018-09-19 13:48 ` [dpdk-dev] [PATCH v2] " Luca Boccassi
2018-09-20 13:19   ` Timothy Redaelli [this message]
2018-09-20 13:22 ` [dpdk-dev] [PATCH v3] " Luca Boccassi
2018-09-20 13:51   ` Timothy Redaelli
2018-10-27 21:54     ` Thomas Monjalon
2018-10-29 10:01       ` Luca Boccassi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180920151907.4fffa29b@redhat.com \
    --to=tredaelli@redhat.com \
    --cc=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git