From patchwork Fri Jan 17 11:22:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 64834 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2EBFCA051A; Fri, 17 Jan 2020 12:25:40 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D56C31DBA; Fri, 17 Jan 2020 12:25:35 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id CEA412AB for ; Fri, 17 Jan 2020 12:25:31 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jan 2020 03:25:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,330,1574150400"; d="scan'208";a="220706528" Received: from silpixa00399126.ir.intel.com ([10.237.222.218]) by fmsmga008.fm.intel.com with ESMTP; 17 Jan 2020 03:25:30 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Date: Fri, 17 Jan 2020 11:22:35 +0000 Message-Id: <20200117112236.5225-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200117112236.5225-1-bruce.richardson@intel.com> References: <20200117112236.5225-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 1/2] doc/api: generate dependency file for examples doc X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" For the doxygen API for the examples folder, we can generate a build dependency file when we generate the examples.dox file. This allows correct rebuilds if the files in examples change. Signed-off-by: Bruce Richardson Acked-by: Luca Boccassi --- doc/api/generate_examples.sh | 4 ++++ doc/api/meson.build | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/api/generate_examples.sh b/doc/api/generate_examples.sh index 6fcfe513b..dae7ee0be 100755 --- a/doc/api/generate_examples.sh +++ b/doc/api/generate_examples.sh @@ -5,6 +5,10 @@ EXAMPLES_DIR=$1 API_EXAMPLES=$2 +# generate a .d file including both C files and also build files, so we can +# detect both file changes and file additions/deletions +echo "$API_EXAMPLES: $(find ${EXAMPLES_DIR} -type f \( -name '*.c' -o -name 'meson.build' \) -printf '%p ' )" > ${API_EXAMPLES}.d + exec > "${API_EXAMPLES}" printf '/**\n' printf '@page examples DPDK Example Programs\n\n' diff --git a/doc/api/meson.build b/doc/api/meson.build index c72b880e1..899e930fa 100644 --- a/doc/api/meson.build +++ b/doc/api/meson.build @@ -15,7 +15,6 @@ generate_doxygen = find_program('generate_doxygen.sh') generate_examples = find_program('generate_examples.sh') generate_css = find_program('doxy-html-custom.sh') -inputdir = join_paths(meson.source_root(), 'examples') htmldir = join_paths('share', 'doc', 'dpdk') # due to the following bug: https://github.com/mesonbuild/meson/issues/4107 @@ -24,9 +23,9 @@ htmldir = join_paths('share', 'doc', 'dpdk') # false it would be impossible to install the docs. # So use a configure option for now. example = custom_target('examples.dox', - input: inputdir, output: 'examples.dox', - command: [generate_examples, '@INPUT@', '@OUTPUT@'], + command: [generate_examples, join_paths(meson.source_root(), 'examples'), '@OUTPUT@'], + depfile: 'examples.dox.d', install: get_option('enable_docs'), install_dir: htmldir, build_by_default: get_option('enable_docs')) From patchwork Fri Jan 17 11:22:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 64835 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D0FCDA051A; Fri, 17 Jan 2020 12:25:46 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BF5772A6C; Fri, 17 Jan 2020 12:25:37 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 1E2352AB for ; Fri, 17 Jan 2020 12:25:32 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jan 2020 03:25:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,330,1574150400"; d="scan'208";a="220706535" Received: from silpixa00399126.ir.intel.com ([10.237.222.218]) by fmsmga008.fm.intel.com with ESMTP; 17 Jan 2020 03:25:32 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Date: Fri, 17 Jan 2020 11:22:36 +0000 Message-Id: <20200117112236.5225-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200117112236.5225-1-bruce.richardson@intel.com> References: <20200117112236.5225-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/2] doc/api: track header files to rebuild docs on change X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Generate a dependency file for the header files used in the API guide so that the docs can be rebuilt if a header changes. Signed-off-by: Bruce Richardson Acked-by: Luca Boccassi --- doc/api/generate_doxygen.sh | 5 ++++- doc/api/meson.build | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/api/generate_doxygen.sh b/doc/api/generate_doxygen.sh index ab5766095..ee509e896 100755 --- a/doc/api/generate_doxygen.sh +++ b/doc/api/generate_doxygen.sh @@ -6,5 +6,8 @@ DOXYCONF=$1 OUTDIR=$2 SCRIPTCSS=$3 -doxygen "${DOXYCONF}" +# run doxygen, capturing all the header files it processed +doxygen "${DOXYCONF}" | tee doxygen.out +echo "$OUTDIR: $(awk '/Preprocessing/ {printf("%s ", substr($2, 1, length($2) - 3))}' doxygen.out)" > $OUTDIR.d + "${SCRIPTCSS}" "${OUTDIR}"/doxygen.css diff --git a/doc/api/meson.build b/doc/api/meson.build index 899e930fa..49d5b9a15 100644 --- a/doc/api/meson.build +++ b/doc/api/meson.build @@ -15,7 +15,7 @@ generate_doxygen = find_program('generate_doxygen.sh') generate_examples = find_program('generate_examples.sh') generate_css = find_program('doxy-html-custom.sh') -htmldir = join_paths('share', 'doc', 'dpdk') +htmldir = join_paths(get_option('datadir'), 'doc', 'dpdk') # due to the following bug: https://github.com/mesonbuild/meson/issues/4107 # if install is set to true it will override build_by_default and it will @@ -46,6 +46,7 @@ doxy_build = custom_target('doxygen', depends: example, input: doxy_conf, output: 'api', + depfile: 'api.d', command: [generate_doxygen, '@INPUT@', '@OUTPUT@', generate_css], install: get_option('enable_docs'), install_dir: htmldir,