From patchwork Fri Aug 31 18:20:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44145 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 3D0B21AEF5; Fri, 31 Aug 2018 20:21:10 +0200 (CEST) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by dpdk.org (Postfix) with ESMTP id 706B45F19 for ; Fri, 31 Aug 2018 20:21:08 +0200 (CEST) Received: by mail-wr1-f67.google.com with SMTP id j26-v6so12020149wre.2 for ; Fri, 31 Aug 2018 11:21: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=3Iiolt75CP7KWZDcnlUSknmuGL21FxMDCHy+Z0lfoOI=; b=OTeLuB++75Mu29R9c1A4dx3O4fZ9ZjXY9CaAC6Z//24ScENp10BFfu1H5GIbDAu00Y XoJIish+KHxg25b1DhINg7A/fJj9f4r0RNAws3sN4pfDSeGRC4DUW6+ris/hNwK+oAyl dYP4AZ8Ab+UJ8ocJ+MAvT5Ub6I14SCfbDZPaaBRSt6EYDAoz0LRL63cywJxcryYqVqMl N/VtCH0Y3ys4LzQ05fmnxIhk3i2BRsnvnQkwEbbgnP4zRlSt2+z8L1cYsa9d5xE3kam8 Ug097Fl88RN21RJktQr1AGTee9EqDwHzd2GWlL7u9XAzaU9JMxYeeAqD2H49xwOoE97h H+SA== X-Gm-Message-State: APzg51DAK7QMPHACeVUVFRDJTqeINYayjePOEUIBj1bri/3gjBrXNxIQ bfhZp3iU7vE7TsIdIMli7gryBONH X-Google-Smtp-Source: ANB0VdY6SyiSDFeEFkMM1VwHmDcDfCn0342RpmaAPzMXWsdBHpD9qUuRyQwDVJrkF7/AuxtfYx0SSg== X-Received: by 2002:adf:ff82:: with SMTP id j2-v6mr1633374wrr.165.1535739667754; Fri, 31 Aug 2018 11:21:07 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id 132-v6sm4557308wmd.13.2018.08.31.11.21.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 31 Aug 2018 11:21: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: Fri, 31 Aug 2018 19:20:52 +0100 Message-Id: <20180831182055.30772-2-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 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 --- doc/api/generate_examples.sh | 14 ++++++++++++++ mk/rte.sdkdoc.mk | 5 +---- 2 files changed, 15 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..9633a64f7a --- /dev/null +++ b/doc/api/generate_examples.sh @@ -0,0 +1,14 @@ +#! /bin/sh -e +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2018 Luca Boccassi + +EXAMPLES_DIR=$1 +API_EXAMPLES=$2 + +# SC2129 - avoid multiple individual redirects +{ \ + 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'; \ +} > "${API_EXAMPLES}" 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 Fri Aug 31 18:20:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44146 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 320B01B055; Fri, 31 Aug 2018 20:21:12 +0200 (CEST) Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by dpdk.org (Postfix) with ESMTP id 0F5FC5F54 for ; Fri, 31 Aug 2018 20:21:10 +0200 (CEST) Received: by mail-wm0-f68.google.com with SMTP id r1-v6so1795102wmh.0 for ; Fri, 31 Aug 2018 11:21:10 -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=d1J3AMxjCyaJyzH9eyoPpYKkGn1tDRhjEwxjmVUcZT4=; b=CcHZy/58bnO3jOcriqhLg3Df/3IobvIS2JYuVCOZeiDaFy3Hp4qYjaU7RBzg2D2EqM w/LzrRwy0qGg9HvsAV6aVAesBc+0UsY1aQDQ5c3zMfUhDz7n86d0V6xfibDxFkHHb1oT CVU5xbfazy4uTUvOiNqdT4amj1Y7EKRv2RMGXZdBjliqsnLzT2CYTjKD/DGI4za0x9EV FMGsh7RYkqNjinlFdhG78OE9+ZeG2IKUfCiVfphuysc8drvrx7hi9R8yw7ZIr60g24Fd RKw4CwZwq5NMm3SlRm7FWSEaqdzkle3arBvBwPQd03+5SBAExI8iPq42VzhWc6h+dhZp 11jA== X-Gm-Message-State: APzg51AqZypEx1JWp62/rKth6orIW9uXNQ1LVWPkVhCJNrFPtYv6fhxv 04zK5avz3jUaA6g30VKKnI8sZA+Y X-Google-Smtp-Source: ANB0VdbQVAuBw8zoZJmD7ShF2w/LbUIPayjc+Jt8OX9VBWEUlgrsALppEuh7vYS1kJxZXAmIL7maEg== X-Received: by 2002:a1c:2351:: with SMTP id j78-v6mr5511068wmj.68.1535739669457; Fri, 31 Aug 2018 11:21:09 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id h73-v6sm13803833wma.11.2018.08.31.11.21.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 31 Aug 2018 11:21: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: Fri, 31 Aug 2018 19:20:53 +0100 Message-Id: <20180831182055.30772-3-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 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 --- 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..ccc1d4ab24 --- /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 +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 +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 + +PROJECT_NUMBER = @VERSION@ +INPUT += @API_EXAMPLES@ +OUTPUT_DIRECTORY = @OUTPUT@ +HTML_OUTPUT = @HTML_OUTPUT@ +STRIP_FROM_PATH = @STRIP_FROM_PATH@ +GENERATE_HTML = YES +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 Fri Aug 31 18:20:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44147 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 EF9D61B06A; Fri, 31 Aug 2018 20:21:14 +0200 (CEST) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by dpdk.org (Postfix) with ESMTP id 0B9621B04E for ; Fri, 31 Aug 2018 20:21:12 +0200 (CEST) Received: by mail-wr1-f67.google.com with SMTP id v17-v6so12029965wrr.9 for ; Fri, 31 Aug 2018 11:21:12 -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=QZ6su0HaCQ2SXZVfeoZmv24yoRwFSCHP8C2B5VHP1Kw=; b=uIlDwy2AU2sqIgWQuIZjWqf1rddn5xKFCW+rlkQF6Q6ebSdtuklqhDHypOS+PHWYU6 LIj3TG5i9EYVOcWGwwr5KskcqOtmYBf9IKbxruom2TKXZjj75kLtDwgvREHS7u8mzzOa 825RfikvNN03LhN82Hm8eIGMjCHo0ir0J4VZeL/oNUQqrYlrOmJLtaR6QBhTTiJ5gv2r V+59npGYpGwBDSF/xlG/GKky4B+Pc7RET+QmKyaXkq53L/K2db7tiGjO3LU/kCzTAjyp JKYDmZePlBsbhrbHtWn+nqenr97FzHrvhABQOiWXkPhBVQICYb8yG8l3H6ATjjKaetKA +8pQ== X-Gm-Message-State: APzg51Bauko/WFGtbT4PFZXb99MUFuydykD2u7N0Z7ObHLXxWYm0Q6+s nKKorkAqBUe8MaXb8FprtrNiK9kT X-Google-Smtp-Source: ANB0VdZTXxbhEyxK48GcDMWX/TPZjbwYtx+9UeTr2X6/faPKZ7H7se0qlhW8PrzBVteK7vbTy5tDDQ== X-Received: by 2002:adf:f5c9:: with SMTP id k9-v6mr11679124wrp.59.1535739671459; Fri, 31 Aug 2018 11:21:11 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id c19-v6sm11383031wre.86.2018.08.31.11.21.09 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 31 Aug 2018 11:21:10 -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: Fri, 31 Aug 2018 19:20:54 +0100 Message-Id: <20180831182055.30772-4-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 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 --- 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 Fri Aug 31 18:20:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44148 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 AD06B1B072; Fri, 31 Aug 2018 20:21:16 +0200 (CEST) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by dpdk.org (Postfix) with ESMTP id AAE131B04E for ; Fri, 31 Aug 2018 20:21:13 +0200 (CEST) Received: by mail-wr1-f67.google.com with SMTP id 20-v6so12007927wrb.12 for ; Fri, 31 Aug 2018 11:21:13 -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=K6g4ywri+XFLsXqz5B2WjDh9vUAJwVcw/qLZws5416E=; b=egaYNk8q9b3ESKKHSs0bt31l9CxFVtw6vama9trEI57S616Pw4B0SGJiNvkM56ykqn ++UXL4WbOrjcMkkBpeOLIU0IjttOO8P9bs5yCb3TiPuiWlugg/x7S9eCsa8Uq1Wld5sa FHiGKk/fkNKkDQd6KUhPTEsI7wd0w+g8EYh62YlJc73qvovMfShJWeY/xdDo9L9lPrzN nmUdFaot1jqTvRigb28Vef8qSYTJjGrEcUCtRWbpmHacxc+9RBScE8/LGn7cgy7wNnGf wK4PZCe+R8uu9J8KgJ0a/OAi5KWyi678nwuc7gAleimQ5RKNFvayiaplxzEwUo87/T+q Y4zA== X-Gm-Message-State: APzg51Bf3piweQM7voytBV1Fv1Hhf4jno/x0phxR0szacklVHG/uzxV6 53hZ07ivikFdpaQw957A7RTzmIMX X-Google-Smtp-Source: ANB0VdZAy94FZaGtYw2SDk8QWUWcDXY71Y7dzbGEb/T7SJuzyHHik0eeh2+QdmrA6qZvK89WlPjvDg== X-Received: by 2002:adf:f24e:: with SMTP id b14-v6mr10908425wrp.184.1535739673098; Fri, 31 Aug 2018 11:21:13 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id b144-v6sm6612749wmd.23.2018.08.31.11.21.11 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 31 Aug 2018 11:21:12 -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: Fri, 31 Aug 2018 19:20:55 +0100 Message-Id: <20180831182055.30772-5-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 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" Both a configuration-time "enable_docs" boolean option and an optional 'ninja doc' target are available. Note that due to a Meson bug for now the latter will only build, but not install the files. Signed-off-by: Luca Boccassi --- doc/api/generate_doxygen.sh | 10 ++++++++ doc/api/meson.build | 51 +++++++++++++++++++++++++++++++++++++ doc/build-sdk-meson.txt | 2 ++ doc/meson.build | 4 +++ meson.build | 3 +++ meson_options.txt | 2 ++ 6 files changed, 72 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..e44963e4a9 --- /dev/null +++ b/doc/api/meson.build @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi + +# 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') +doxygen = find_program('doxygen') + +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) 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: '',