From patchwork Mon Sep 10 20:09:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44550 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6745F4CC3; Mon, 10 Sep 2018 22:10:06 +0200 (CEST) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id 9B1CB4CA7 for ; Mon, 10 Sep 2018 22:10:04 +0200 (CEST) Received: by mail-wr1-f66.google.com with SMTP id s14-v6so14295259wrw.6 for ; Mon, 10 Sep 2018 13:10:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ys9IJNs+xYGj53wT2wMGuU5uJiXBD+rKnF5jk0EjsP0=; b=EVxVYsTFYblEZMU9h3k0LcRBmPqGJmaiCgkJGtp/E1suaa5NlxJJklWrkug89e2gUH JitajHRh71OoHtcdk0oCgR62yhmh46FhCUgsBMFESZrwCkH9yBAJd0p2c8IL86zPPy9c uht36WW1et0zHm6TqSXPByFLfvR9+StQZTOLBt4HzqOrru0anHN2GbRgFEmWEls2gAHK 4a1Xx1IxQUiy1IWXOlDfCokMLedQgyeuUgLDOtYIJJM9uBk7B6X8wo7ZvRjKE3UxsJIx nTcJraqWeVXVYHCeGRIKMeUOYjF7slyi8Wqkmf5kFcCERFPDGcsx/TKhMH4Ud0KHQZuT E6QA== X-Gm-Message-State: APzg51DQOExEqe/M8YUVn/XkgIT2SbJCk3Z84f6++LLivL7RdEOnjdgI fsJ+sqjYe5zgirXYxJrWmUMWesxhW9c= X-Google-Smtp-Source: ANB0VdY2OiXGNGs+qn5hKFheEYdZC/5Uo0JN82vSRJzXm/5fXgTDVSo9+jS6l4nAdIiujG6RaFT+pA== X-Received: by 2002:a5d:66d2:: with SMTP id k18-v6mr16392949wrw.154.1536610203956; Mon, 10 Sep 2018 13:10:03 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id a11-v6sm15228770wrr.81.2018.09.10.13.10.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 10 Sep 2018 13:10:02 -0700 (PDT) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, john.mcnamara@intel.com, marko.kovacevic@intel.com, thomas@monjalon.net Date: Mon, 10 Sep 2018 21:09:57 +0100 Message-Id: <20180910201000.11243-1-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180831182055.30772-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v4 1/4] mk: use script to generate examples.dox 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" This will make it possible to generate the file in the same way from Meson as well. Signed-off-by: Luca Boccassi Acked-by: Bruce Richardson --- v2: simplified script by using exec > file v4: add acked-by doc/api/generate_examples.sh | 12 ++++++++++++ mk/rte.sdkdoc.mk | 5 +---- 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100755 doc/api/generate_examples.sh diff --git a/doc/api/generate_examples.sh b/doc/api/generate_examples.sh new file mode 100755 index 0000000000..6fcfe513b6 --- /dev/null +++ b/doc/api/generate_examples.sh @@ -0,0 +1,12 @@ +#! /bin/sh -e +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2018 Luca Boccassi + +EXAMPLES_DIR=$1 +API_EXAMPLES=$2 + +exec > "${API_EXAMPLES}" +printf '/**\n' +printf '@page examples DPDK Example Programs\n\n' +find "${EXAMPLES_DIR}" -type f -name '*.c' -printf '@example examples/%P\n' | LC_ALL=C sort +printf '*/\n' diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk index bd2e5763df..d023b720fe 100644 --- a/mk/rte.sdkdoc.mk +++ b/mk/rte.sdkdoc.mk @@ -63,10 +63,7 @@ api-html-clean: $(API_EXAMPLES): api-html-clean $(Q)mkdir -p $(@D) - @printf '/**\n' > $(API_EXAMPLES) - @printf '@page examples DPDK Example Programs\n\n' >> $(API_EXAMPLES) - @find examples -type f -name '*.c' -printf '@example %p\n' | LC_ALL=C sort >> $(API_EXAMPLES) - @printf '*/\n' >> $(API_EXAMPLES) + $(Q)doc/api/generate_examples.sh examples $(API_EXAMPLES) guides-pdf-clean: guides-pdf-img-clean guides-pdf-img-clean: From patchwork Mon Sep 10 20:09:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44551 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 756AC58C4; Mon, 10 Sep 2018 22:10:08 +0200 (CEST) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id 5E1A44CA7 for ; Mon, 10 Sep 2018 22:10:06 +0200 (CEST) Received: by mail-wr1-f66.google.com with SMTP id e1-v6so14217855wrt.3 for ; Mon, 10 Sep 2018 13:10:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=beLSSS0EmRKZ3t+4bIEOniWseNDakNy9STVR9TP4ebw=; b=W5asf+0dTnHDrP/Y7GnDK+i+Vs4R7SF3JmXb5tUeyb9y4S9fXaIolY8pn8bYxBSBFM toYtEIB7XSZhhDQetRG/OF6zRako9RHjkMWQ7j6rR29v8ARdQAyHdQ//x09KC/r2awfT 4v55x89mjmA8uBzT6YkZ/gE00L4WG9GGMMxuG6ZD5N+rDikLEm7aBBHf1YsXCdNxQyhY E24+nDrPQ4QS9irG7fNCGDY2MhyNtWlzNiJBb7kqBk/RHw4zgZn7dfs+AG7Q/E6V8La6 Z1w+A6+gURNh349CXtIS9wbHA0xl3oVt2Q46Nh3bNfY7s4og02olRfwpYhE6D4uz055u +Ftw== X-Gm-Message-State: APzg51BEAWgDi5ZrvAGOpmKOIlGPJnogJ80D9wVmyyGC+2JYhlRGTPcC 3JzEsPjcRSI6HV5+oQhtI1kZr2h/utk= X-Google-Smtp-Source: ANB0VdaLzwzI1Qg83KVH0fzX4PXiNKfdC+joNaKBqpXA9nEdvhwh42dM/in+YgxgI+hGvaeAlG6DKw== X-Received: by 2002:adf:c78e:: with SMTP id l14-v6mr15992978wrg.230.1536610205771; Mon, 10 Sep 2018 13:10:05 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id 124-v6sm25461059wmk.20.2018.09.10.13.10.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 10 Sep 2018 13:10:04 -0700 (PDT) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, john.mcnamara@intel.com, marko.kovacevic@intel.com, thomas@monjalon.net Date: Mon, 10 Sep 2018 21:09:58 +0100 Message-Id: <20180910201000.11243-2-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180910201000.11243-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180910201000.11243-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v4 2/4] mk: use templated doxygen config, modified on the fly 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" This will allow the same config file to be used from Meson. The result has been verified to be identical via diffoscope. Signed-off-by: Luca Boccassi Acked-by: Bruce Richardson --- v2: reordered generated fields as requested v4: add acked-by doc/api/doxy-api.conf | 87 ------------------------------------ doc/api/doxy-api.conf.in | 96 ++++++++++++++++++++++++++++++++++++++++ mk/rte.sdkdoc.mk | 16 +++---- 3 files changed, 103 insertions(+), 96 deletions(-) delete mode 100644 doc/api/doxy-api.conf create mode 100644 doc/api/doxy-api.conf.in diff --git a/doc/api/doxy-api.conf b/doc/api/doxy-api.conf deleted file mode 100644 index 66693c3835..0000000000 --- a/doc/api/doxy-api.conf +++ /dev/null @@ -1,87 +0,0 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright 2013-2017 6WIND S.A. - -PROJECT_NAME = DPDK -INPUT = doc/api/doxy-api-index.md \ - drivers/crypto/scheduler \ - drivers/mempool/dpaa2 \ - drivers/net/bnxt \ - drivers/net/bonding \ - drivers/net/dpaa \ - drivers/net/i40e \ - drivers/net/ixgbe \ - drivers/net/softnic \ - drivers/raw/dpaa2_cmdif \ - drivers/raw/dpaa2_qdma \ - lib/librte_eal/common/include \ - lib/librte_eal/common/include/generic \ - lib/librte_acl \ - lib/librte_bbdev \ - lib/librte_bitratestats \ - lib/librte_bpf \ - lib/librte_cfgfile \ - lib/librte_cmdline \ - lib/librte_compat \ - lib/librte_compressdev \ - lib/librte_cryptodev \ - lib/librte_distributor \ - lib/librte_efd \ - lib/librte_ethdev \ - lib/librte_eventdev \ - lib/librte_flow_classify \ - lib/librte_gro \ - lib/librte_gso \ - lib/librte_hash \ - lib/librte_ip_frag \ - lib/librte_jobstats \ - lib/librte_kni \ - lib/librte_kvargs \ - lib/librte_latencystats \ - lib/librte_lpm \ - lib/librte_mbuf \ - lib/librte_member \ - lib/librte_mempool \ - lib/librte_meter \ - lib/librte_metrics \ - lib/librte_net \ - lib/librte_pci \ - lib/librte_pdump \ - lib/librte_pipeline \ - lib/librte_port \ - lib/librte_power \ - lib/librte_rawdev \ - lib/librte_reorder \ - lib/librte_ring \ - lib/librte_sched \ - lib/librte_security \ - lib/librte_table \ - lib/librte_timer \ - lib/librte_vhost -FILE_PATTERNS = rte_*.h \ - cmdline.h -PREDEFINED = __DOXYGEN__ \ - VFIO_PRESENT \ - __attribute__(x)= - -OPTIMIZE_OUTPUT_FOR_C = YES -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = YES -EXTRACT_STATIC = YES -DISTRIBUTE_GROUP_DOC = YES -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_SCOPE_NAMES = YES -GENERATE_DEPRECATEDLIST = NO -VERBATIM_HEADERS = NO -ALPHABETICAL_INDEX = NO - -HTML_TIMESTAMP = NO -HTML_DYNAMIC_SECTIONS = YES -SEARCHENGINE = NO -SORT_MEMBER_DOCS = NO -SOURCE_BROWSER = YES - -EXAMPLE_PATH = examples -EXAMPLE_PATTERNS = *.c -EXAMPLE_RECURSIVE = YES diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in new file mode 100644 index 0000000000..c3d8fdef18 --- /dev/null +++ b/doc/api/doxy-api.conf.in @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2013-2017 6WIND S.A. + +PROJECT_NAME = DPDK +PROJECT_NUMBER = @VERSION@ +INPUT = @TOPDIR@/doc/api/doxy-api-index.md \ + @TOPDIR@/drivers/crypto/scheduler \ + @TOPDIR@/drivers/mempool/dpaa2 \ + @TOPDIR@/drivers/net/bnxt \ + @TOPDIR@/drivers/net/bonding \ + @TOPDIR@/drivers/net/dpaa \ + @TOPDIR@/drivers/net/i40e \ + @TOPDIR@/drivers/net/ixgbe \ + @TOPDIR@/drivers/net/softnic \ + @TOPDIR@/drivers/raw/dpaa2_cmdif \ + @TOPDIR@/drivers/raw/dpaa2_qdma \ + @TOPDIR@/lib/librte_eal/common/include \ + @TOPDIR@/lib/librte_eal/common/include/generic \ + @TOPDIR@/lib/librte_acl \ + @TOPDIR@/lib/librte_bbdev \ + @TOPDIR@/lib/librte_bitratestats \ + @TOPDIR@/lib/librte_bpf \ + @TOPDIR@/lib/librte_cfgfile \ + @TOPDIR@/lib/librte_cmdline \ + @TOPDIR@/lib/librte_compat \ + @TOPDIR@/lib/librte_compressdev \ + @TOPDIR@/lib/librte_cryptodev \ + @TOPDIR@/lib/librte_distributor \ + @TOPDIR@/lib/librte_efd \ + @TOPDIR@/lib/librte_ethdev \ + @TOPDIR@/lib/librte_eventdev \ + @TOPDIR@/lib/librte_flow_classify \ + @TOPDIR@/lib/librte_gro \ + @TOPDIR@/lib/librte_gso \ + @TOPDIR@/lib/librte_hash \ + @TOPDIR@/lib/librte_ip_frag \ + @TOPDIR@/lib/librte_jobstats \ + @TOPDIR@/lib/librte_kni \ + @TOPDIR@/lib/librte_kvargs \ + @TOPDIR@/lib/librte_latencystats \ + @TOPDIR@/lib/librte_lpm \ + @TOPDIR@/lib/librte_mbuf \ + @TOPDIR@/lib/librte_member \ + @TOPDIR@/lib/librte_mempool \ + @TOPDIR@/lib/librte_meter \ + @TOPDIR@/lib/librte_metrics \ + @TOPDIR@/lib/librte_net \ + @TOPDIR@/lib/librte_pci \ + @TOPDIR@/lib/librte_pdump \ + @TOPDIR@/lib/librte_pipeline \ + @TOPDIR@/lib/librte_port \ + @TOPDIR@/lib/librte_power \ + @TOPDIR@/lib/librte_rawdev \ + @TOPDIR@/lib/librte_reorder \ + @TOPDIR@/lib/librte_ring \ + @TOPDIR@/lib/librte_sched \ + @TOPDIR@/lib/librte_security \ + @TOPDIR@/lib/librte_table \ + @TOPDIR@/lib/librte_timer \ + @TOPDIR@/lib/librte_vhost +INPUT += @API_EXAMPLES@ +FILE_PATTERNS = rte_*.h \ + cmdline.h +PREDEFINED = __DOXYGEN__ \ + VFIO_PRESENT \ + __attribute__(x)= + +OPTIMIZE_OUTPUT_FOR_C = YES +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +EXTRACT_STATIC = YES +DISTRIBUTE_GROUP_DOC = YES +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_SCOPE_NAMES = YES +GENERATE_DEPRECATEDLIST = NO +VERBATIM_HEADERS = NO +ALPHABETICAL_INDEX = NO + +HTML_TIMESTAMP = NO +HTML_DYNAMIC_SECTIONS = YES +SEARCHENGINE = NO +SORT_MEMBER_DOCS = NO +SOURCE_BROWSER = YES + +EXAMPLE_PATH = @TOPDIR@/examples +EXAMPLE_PATTERNS = *.c +EXAMPLE_RECURSIVE = YES + +OUTPUT_DIRECTORY = @OUTPUT@ +STRIP_FROM_PATH = @STRIP_FROM_PATH@ +GENERATE_HTML = YES +HTML_OUTPUT = @HTML_OUTPUT@ +GENERATE_LATEX = NO +GENERATE_MAN = NO diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk index d023b720fe..c44db6447a 100644 --- a/mk/rte.sdkdoc.mk +++ b/mk/rte.sdkdoc.mk @@ -43,15 +43,13 @@ clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean api-html: $(API_EXAMPLES) @echo 'doxygen for API...' $(Q)mkdir -p $(RTE_OUTPUT)/doc/html - $(Q)(cat $(RTE_SDK)/doc/api/doxy-api.conf && \ - printf 'PROJECT_NUMBER = ' && \ - $(MAKE) -rRs showversion && \ - echo INPUT += $(API_EXAMPLES) && \ - echo OUTPUT_DIRECTORY = $(RTE_OUTPUT)/doc && \ - echo HTML_OUTPUT = html/api && \ - echo GENERATE_HTML = YES && \ - echo GENERATE_LATEX = NO && \ - echo GENERATE_MAN = NO )| \ + $(Q)(sed -e "s|@VERSION@|`$(MAKE) -rRs showversion`|" \ + -e "s|@API_EXAMPLES@|$(API_EXAMPLES)|" \ + -e "s|@OUTPUT@|$(RTE_OUTPUT)/doc|" \ + -e "s|@HTML_OUTPUT@|html/api|" \ + -e "s|@TOPDIR@|./|g" \ + -e "s|@STRIP_FROM_PATH@|./|g" \ + $(RTE_SDK)/doc/api/doxy-api.conf.in)| \ doxygen - $(Q)$(RTE_SDK)/doc/api/doxy-html-custom.sh $(RTE_OUTPUT)/doc/html/api/doxygen.css From patchwork Mon Sep 10 20:09:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44552 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0FF0D5B1C; Mon, 10 Sep 2018 22:10:10 +0200 (CEST) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by dpdk.org (Postfix) with ESMTP id 309535699 for ; Mon, 10 Sep 2018 22:10:08 +0200 (CEST) Received: by mail-wr1-f65.google.com with SMTP id n2-v6so23282152wrw.7 for ; Mon, 10 Sep 2018 13:10:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=xOmMXgzCpy36bPD4w+0hIsSrCi0s8mqbNw42rHACvYQ=; b=PrhK2t7s3L+t/anx8capWzuqPZ7S/OgvjbqXXFzGKbSpa2bEc/WSv6ITFHFPpQXIxg N+uZHtmxSukGuaipUQ3C+GcEZqwtQAbs1W3ND7xcQPwCjDI9brW5/z+q0zCgj/FldVBl nXgwCdzavN/NG5RogAv6x7aOKOym3bCWoaN3QJFOxbAAE+jy4ASpcjQveZeQtF8XiddJ OLooYxW6j1bvLcXip+PrUR6PUEjQo5ekJliENpd0IC5e5WWc2kyn8FmHm4CSzK8YhNYK SqsN1xvAkNcI/SlvSpowuWNmwdz9JnwVqdkdz/B0LCrtvcQCIo0IkUmra9w5VkyC/wif o4wg== X-Gm-Message-State: APzg51AGBoLbKlIpqw2zF1IlM09anhQDQE2n5HgeJO1GUl8AVl0tSg5V gHEhz3HwNdO0a9A+4f2hBUGPxKrzfp0= X-Google-Smtp-Source: ANB0VdaC0ul7r0/cd1KR8ndJ6MmzL9fdYhWMbfswtwMZv9tZ20dTgYLVkoTEd9LWYgvL2+kCVcjNkw== X-Received: by 2002:a05:6000:1291:: with SMTP id f17mr11472203wrx.215.1536610207661; Mon, 10 Sep 2018 13:10:07 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id z3-v6sm11904177wmf.12.2018.09.10.13.10.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 10 Sep 2018 13:10:06 -0700 (PDT) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, john.mcnamara@intel.com, marko.kovacevic@intel.com, thomas@monjalon.net Date: Mon, 10 Sep 2018 21:09:59 +0100 Message-Id: <20180910201000.11243-3-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180910201000.11243-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180910201000.11243-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v4 3/4] build: use same version as make showversion in Meson 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" make showversion will print 18.11.0-rc0 but Meson sets 18.11-rc0, causing among other things a difference in the generated documentation. Fixes: 76b9d9de5c7d ("version: 18.11-rc0") Signed-off-by: Luca Boccassi Acked-by: Thomas Monjalon Acked-by: Bruce Richardson --- v3: add acked-by meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 84af32ecef..9999e8640a 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,7 @@ # Copyright(c) 2017 Intel Corporation project('DPDK', 'C', - version: '18.11-rc0', + version: '18.11.0-rc0', license: 'BSD', default_options: ['buildtype=release', 'default_library=static'], meson_version: '>= 0.41' From patchwork Mon Sep 10 20:10:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44553 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7A4735B32; Mon, 10 Sep 2018 22:10:11 +0200 (CEST) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id ED94F5942 for ; Mon, 10 Sep 2018 22:10:09 +0200 (CEST) Received: by mail-wr1-f66.google.com with SMTP id n2-v6so23282234wrw.7 for ; Mon, 10 Sep 2018 13:10:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=E8IJ/9o2HpVK7fzwrMsL9gR3SbBjCwLVh+i9AXXOLQE=; b=PuzxQcYI9TG45eRBEDlZ4KjUQlcd3uxKdr7kfs0XAIbcMfgrRk3UxZZ0c6fJOt3ej0 JskcX5ZEc0SBiwufze0upeKefKW1RpkNaBLK1eEyxP54v5SyuQjbEItCba8d2xYPjQPq +3xk3wdGshI5UIDHZTXs+py6gikx6Fj10GLWcJCdlfcVqTCK1Zltk+BGth8ZPCvdvzPH ZVLeo8DrlYsFHvR5MsRfEkRTaGr6IIvbqblCfPwPiLgSlwSoKWGyQ+TuWFjlfokSFxyM wIwUry6ep2p7wbPXpd0VJRAXaZJVcvihC39N02grMU3OhjnhTPY9imTrcqGhC1dKQZ3E OAyQ== X-Gm-Message-State: APzg51AApVBx2kEsIcUgB6VxjF3YH0V3NpCjkierS87ZqnRWS2GVNPem +sKdO9ApmUbjkvtn3oZWt7uEg22lSSU= X-Google-Smtp-Source: ANB0VdamHfy3nBz8+FH8WWYe77pgcsi/ehWH8sN4RYrQezxiRLkZImsb6QepdAzym58gkWfVQvuRAg== X-Received: by 2002:adf:824f:: with SMTP id 73-v6mr16561391wrb.130.1536610209321; Mon, 10 Sep 2018 13:10:09 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id 88-v6sm22722033wrf.95.2018.09.10.13.10.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 10 Sep 2018 13:10:08 -0700 (PDT) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, john.mcnamara@intel.com, marko.kovacevic@intel.com, thomas@monjalon.net Date: Mon, 10 Sep 2018 21:10:00 +0100 Message-Id: <20180910201000.11243-4-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180910201000.11243-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180910201000.11243-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v4 4/4] build: generate API documentation with Meson 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" Signed-off-by: Luca Boccassi Acked-by: Bruce Richardson --- v2: made doxygen dependency optional, skip doxygen build when not found v3: made doxygen dependency mandatory if enable_docs is true, add alternative doc target that prints "doxygen not found" when doxygen is not found and enable_docs is false (default) v4: add acked-by doc/api/generate_doxygen.sh | 10 +++++++ doc/api/meson.build | 56 +++++++++++++++++++++++++++++++++++++ doc/build-sdk-meson.txt | 2 ++ doc/meson.build | 4 +++ meson.build | 3 ++ meson_options.txt | 2 ++ 6 files changed, 77 insertions(+) create mode 100755 doc/api/generate_doxygen.sh create mode 100644 doc/api/meson.build create mode 100644 doc/meson.build diff --git a/doc/api/generate_doxygen.sh b/doc/api/generate_doxygen.sh new file mode 100755 index 0000000000..ab57660958 --- /dev/null +++ b/doc/api/generate_doxygen.sh @@ -0,0 +1,10 @@ +#! /bin/sh -e +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2018 Luca Boccassi + +DOXYCONF=$1 +OUTDIR=$2 +SCRIPTCSS=$3 + +doxygen "${DOXYCONF}" +"${SCRIPTCSS}" "${OUTDIR}"/doxygen.css diff --git a/doc/api/meson.build b/doc/api/meson.build new file mode 100644 index 0000000000..602fa7f3c3 --- /dev/null +++ b/doc/api/meson.build @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi + +doxygen = find_program('doxygen', required: get_option('enable_docs')) + +if doxygen.found() + # due to the CSS customisation script, which needs to run on a file that + # is in a subdirectory that is created at build time and thus it cannot + # be an individual custom_target, we need to wrap the doxygen call in a + # script to run the CSS modification afterwards + 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('doc', 'html') + + # 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 + # cause the target to always be built. If install were to be always set to + # 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@'], + install: get_option('enable_docs'), + install_dir: htmldir, + build_by_default: false) + + cdata = configuration_data() + cdata.set('VERSION', meson.project_version()) + cdata.set('API_EXAMPLES', join_paths(meson.build_root(), 'doc', 'api', 'examples.dox')) + cdata.set('OUTPUT', join_paths(meson.build_root(), 'doc', 'api')) + cdata.set('HTML_OUTPUT', 'api') + cdata.set('TOPDIR', meson.source_root()) + cdata.set('STRIP_FROM_PATH', meson.source_root()) + + doxy_conf = configure_file(input: 'doxy-api.conf.in', + output: 'doxy-api.conf', + configuration: cdata, + install: false) + + doxy_build = custom_target('doxygen', + depends: example, + input: doxy_conf, + output: 'api', + command: [generate_doxygen, '@INPUT@', '@OUTPUT@', generate_css], + install: get_option('enable_docs'), + install_dir: htmldir, + build_by_default: false) + + run_target('doc', command: 'true', depends: doxy_build) +else + run_target('doc', command: ['echo', 'doxygen', 'not', 'found']) +endif diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt index 9618e759ea..508e2cb642 100644 --- a/doc/build-sdk-meson.txt +++ b/doc/build-sdk-meson.txt @@ -85,6 +85,8 @@ Project-specific options are passed used -Doption=value:: meson -Dmax_lcores=8 smallbuild # scale build for smaller systems + meson -Denable_docs=true fullbuild # build and install docs + Examples of setting the same options using meson configure:: meson configure -Dwerror=true diff --git a/doc/meson.build b/doc/meson.build new file mode 100644 index 0000000000..afca2e7133 --- /dev/null +++ b/doc/meson.build @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi + +subdir('api') diff --git a/meson.build b/meson.build index 9999e8640a..09506ec48c 100644 --- a/meson.build +++ b/meson.build @@ -34,6 +34,9 @@ subdir('usertools') subdir('app') subdir('test') +# build docs +subdir('doc') + # build any examples explicitly requested - useful for developers if get_option('examples') != '' subdir('examples') diff --git a/meson_options.txt b/meson_options.txt index f20887212a..d38ba56e29 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -2,6 +2,8 @@ option('allow_invalid_socket_id', type: 'boolean', value: false, description: 'allow out-of-range NUMA socket id\'s for platforms that don\'t report the value correctly') option('enable_kmods', type: 'boolean', value: true, description: 'build kernel modules') +option('enable_docs', type: 'boolean', value: false, + description: 'build documentation') option('examples', type: 'string', value: '', description: 'Comma-separated list of examples to build by default') option('include_subdir_arch', type: 'string', value: '',