From patchwork Tue Sep 11 20:42:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44596 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 046DA4C91; Tue, 11 Sep 2018 22:42:43 +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 5CEA34C74 for ; Tue, 11 Sep 2018 22:42:42 +0200 (CEST) Received: by mail-wr1-f65.google.com with SMTP id s14-v6so18447827wrw.6 for ; Tue, 11 Sep 2018 13:42:42 -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=MSPkgLD01guzGVBK4Sona0XKVO+PM9VrxwN2ZvV0AzgLWnsZXlHNpOITdIb8A9jSvj 1b9X1kHSIwT4Jm890zUO/AMQpPFc0XcKIZixkqiMpud2eU2af6QX1AbEi3fvOK6cnCDu KxEIePc3wVWn/ey2dtPw0/+23WXuIahISx/Xz46cdjk2iimxKzBbibEAB/mOw0nZCkSv ya/ttug9F8P4+DZSrAf6Q1CA8cbjb0yFDo/G/EtE+diR9qw+RvUt+6/MWJ1HhUloZYJX 2aQAE1LwQ5JSJmMNpr7c9nm43dq+8m/TTvqzId8qMJ+733mxCcMs5kdXPzGgQ3L5y5vP 5ZoA== X-Gm-Message-State: APzg51BYM5PfBntvRNdQgbjVKfXDUg1Fb6YcMKOwKyJTiD3q9VQHKvp6 9NyK45wcORx0Biy/M14D1WDBEZPiErA= X-Google-Smtp-Source: ANB0VdbyxQdy2Rhgjoh0TKmRamDuZ4fuEs3TiXk60TJg4WHcdauzIfOmgIVkXRmZZFwYbmtIFRnegw== X-Received: by 2002:adf:db11:: with SMTP id s17-v6mr20991825wri.221.1536698561520; Tue, 11 Sep 2018 13:42:41 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id z69-v6sm2816989wmz.18.2018.09.11.13.42.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Sep 2018 13:42:38 -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: Tue, 11 Sep 2018 21:42:33 +0100 Message-Id: <20180911204236.21858-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 v5 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 Tue Sep 11 20:42:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44597 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 12C984CA1; Tue, 11 Sep 2018 22:42:45 +0200 (CEST) Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id 31AC74C95 for ; Tue, 11 Sep 2018 22:42:44 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id y2-v6so63306wma.1 for ; Tue, 11 Sep 2018 13:42:44 -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=loia73yvhX9bUhWwc+DMcgy/H71zThHC22vHbVCqJ/39MMMieEJ8ABDMztPLSkWAr7 LJauLnvN944mru0hkTKgGVrfpx9szqcUWelkCucvILcAI9z5UAO4p7+CRr2RJjehEVEu NrRH6opwLHRX07zSmUmzGnqmth0dNaOXTGEdDgDhtjh5rOGOI7oKAo/Oj/61oPwnCNyV Y8fWR9UjrJYDz3VYNe6F+t7YtwB3GJhwIOz3e9yVakgwORjUF9ySLTiA23U4O4X4t2ul g3+7Q+DT7EIlQLCihLLyK6sNOZw15cXVucurHqNOJLYLVuI72fh5PspnLcG8/NE1OBMJ 8oMg== X-Gm-Message-State: APzg51DFOsAzuLk1XDimmw6ShlF/2Tzl/OcngM5IYse/3uNIIk38hGEm h3LMYbE8gS/mT7P8BLXnLN1Z+lFQjMo= X-Google-Smtp-Source: ANB0VdZq7YqlqgFNwETjikq1pNleDbpN+zow/TB0MmkQUncH4GeNFM2ZEwvL5glskyCvjQPYxUJ+dg== X-Received: by 2002:a1c:b686:: with SMTP id g128-v6mr2216921wmf.83.1536698563247; Tue, 11 Sep 2018 13:42:43 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id t9-v6sm42997321wra.91.2018.09.11.13.42.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Sep 2018 13:42:42 -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: Tue, 11 Sep 2018 21:42:34 +0100 Message-Id: <20180911204236.21858-2-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180911204236.21858-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180911204236.21858-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v5 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 Tue Sep 11 20:42:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44598 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 0333B4CC3; Tue, 11 Sep 2018 22:42:47 +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 ABC4B4CB5 for ; Tue, 11 Sep 2018 22:42:45 +0200 (CEST) Received: by mail-wr1-f66.google.com with SMTP id a108-v6so27396431wrc.13 for ; Tue, 11 Sep 2018 13:42:45 -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=RVzIbMuMFPRf2ItLRmCD/sqQm04HM+APprg4/LpNXUg1Wod9DLFS3MIMamlNY9DKZx vx5KsAS0ejYEHoW0o26imoh1NryUiYfXuGKzUy0Fdz5qYlyQQAYq0fQ4LxXHbS7ZcvIV CSweuGKypMBpuEp0ydqRs7iElTBC2uoSaRaVkoja8Jg+o3Na6o5kgkpPlb41m/hiPON+ gLn5+DduDx1rofkfVvF1ZfGLpMJNworXAtP4Z75sbsJSiv7vgrSOgtzCFmOdw38MLSLf rjUasxvR4RIuojkWsAm7l386FSDyHLXYJALyqAd/k78bEWPe/GECuBtFhK4Hyirms4Je scXg== X-Gm-Message-State: APzg51CJVnQzdCRq/FPrWuodb4Hs86JNfbxr9913n/S5sMJPXcnw62v7 QvApP+CpjJnmAaQridacLJEBuhNV7Iw= X-Google-Smtp-Source: ANB0VdbjzC7F22KAx+GFmYNUliu9M1m3+72L6xltFBzmalhOMMCYFisPcMwQrfEmmEXbUYn2HKu6oA== X-Received: by 2002:adf:9031:: with SMTP id h46-v6mr19605430wrh.248.1536698565154; Tue, 11 Sep 2018 13:42:45 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id n15-v6sm12910487wrm.27.2018.09.11.13.42.43 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Sep 2018 13:42:43 -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: Tue, 11 Sep 2018 21:42:35 +0100 Message-Id: <20180911204236.21858-3-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180911204236.21858-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180911204236.21858-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v5 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 Tue Sep 11 20:42:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44599 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 912894F93; Tue, 11 Sep 2018 22:42:49 +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 B7A934D27 for ; Tue, 11 Sep 2018 22:42:47 +0200 (CEST) Received: by mail-wr1-f65.google.com with SMTP id g33-v6so27460373wrd.1 for ; Tue, 11 Sep 2018 13:42:47 -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=Q7iv5ljMvI9xCPJFp3ZfQ/0wuFwbRCllcEo/b3iQMkA=; b=XwnLEo9MD6Z+TeWly2N3pz1Y/lAwq4fBC6Be+R5ZJR3yq6BcNZe4FWYPl2Axrka12U UhtxYiq8JolaFVJkJGL7JDiIlaLbvsS1tXA2VYUhOdsutwQfJeSGXPpRTtZv6GQMZ13k WYUTnO/zcwYYnK0Tub95qtt6fypPuxnSBLtBNMZn9vOGUwJxNlHhnIHq0nBZOuQooTvS uxrhnA9IZE9f4/nSf6occP9G/Cht6J+vY8m8QbhmG0d2qOheqj07LN4O03zfAbn2OHr/ 5C1EWydxOc7B96uQ6Mue6D1foMi5vZQME6jy1p6AY/+IVryYbT0YWWb6tMOYgVCOIYm3 DKvQ== X-Gm-Message-State: APzg51DXZUPagMgqjc6RGIjsjE8yT/gZb+cipZgLShhUxvFhIbP7/OiQ X2fL4gOf7qJHI42u6BkoHVZjyTuaLbw= X-Google-Smtp-Source: ANB0VdZO59Ppyrlo9IX9b7wBiJ0v1H4TeTMg98rAn3KuOKeP535G0RlLagIyb4yzZHJLzraT9lK3HA== X-Received: by 2002:a5d:4b90:: with SMTP id b16-v6mr20851417wrt.168.1536698566983; Tue, 11 Sep 2018 13:42:46 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id f17-v6sm23949443wrs.1.2018.09.11.13.42.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Sep 2018 13:42:45 -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: Tue, 11 Sep 2018 21:42:36 +0100 Message-Id: <20180911204236.21858-4-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180911204236.21858-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180911204236.21858-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v5 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 v5: change install directory to $PREFIX/share/doc/dpdk to match legacy makefiles 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..13fcbb8cd7 --- /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('share', '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 + # 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: '',