From patchwork Fri Sep 7 16:55:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44421 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 3D5B54F91; Fri, 7 Sep 2018 18:55:34 +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 9E7544C93 for ; Fri, 7 Sep 2018 18:55:32 +0200 (CEST) Received: by mail-wr1-f66.google.com with SMTP id v16-v6so15609007wro.11 for ; Fri, 07 Sep 2018 09:55:32 -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=86noOSY95UBMRCNCKDjg96tB88aosmNdgf+OCxTl0eI=; b=sQdAlivNNO1HwsssCHjBwQS9HFQa6aUsSD7HIEl8ASeoQFYkFqg8iVUOuSNUnp6m8/ IqXwES2uho9bvXY1qGoHVd7DpxMm1ATrwCb8JPoZGlIgpAhaNL1wvE115UrIq4py/CEX uNH0Y1svkdGNGIAKGGlpHz2aC2V4eI/Gi+/WPzKL+WO9HLfQDxO6flDw/geLaOSDCue6 lZWbcgPuKka7c7v+xEibAd4cMktropP2FdJukcbcARG4MTqcPgNTMdQWF2y+jbx7VPVS ohVU8rK9RQxpvKXBpGGfhuYuTv48Cq85KYdjFxc33qy1J57qnjvSpITmQr+WBPNeiTUY gEMA== X-Gm-Message-State: APzg51Cm3pIe9x031Htu+Ia3Qq/bypd18jN6TF1KSrVaVe4+eZGApmZf GTIg9lq4PkHFa3YGIurCIfN1Xr+x/iI= X-Google-Smtp-Source: ANB0VdY2UECsjrL287EvtfIVeiVihZtRI5L7AJBK/7/n0uX3LPECobpiQBUk3awZMaygtY7W9zSwhg== X-Received: by 2002:adf:a41c:: with SMTP id d28-v6mr6587842wra.121.1536339332037; Fri, 07 Sep 2018 09:55:32 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id j44-v6sm9220158wre.40.2018.09.07.09.55.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Sep 2018 09:55:30 -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, 7 Sep 2018 17:55:21 +0100 Message-Id: <20180907165524.23982-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 v2 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 --- v2: simplified script by using exec > file 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 Fri Sep 7 16:55:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44422 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 CA8775688; Fri, 7 Sep 2018 18:55:35 +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 06CE55398 for ; Fri, 7 Sep 2018 18:55:34 +0200 (CEST) Received: by mail-wm0-f68.google.com with SMTP id o18-v6so15352411wmc.0 for ; Fri, 07 Sep 2018 09:55:34 -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=NtjyuGmhLM6dRh28v+SovFAotDd6Bda1GhJgUN1KajY=; b=pOOWwkhj9ZL0b6MGM2QXQB2it2990lGDkRf3vr95Jb9Uy7PEiT4NiBPuvdBPdCnotz ye8p06NT5P3PPt/xHPm6b04mv/QSQ7/oHr1UO0GiBIFz8gxP2GP2kPV2VQknQniDuFTl yh+O6jJjEGzANQlkBzp7pDwFNc8B3vz9wIBiLrWT86cArBfmRtqTfbkpk9U02xMml348 +mpQ723Wnk8SvfAjVS2x+KvdJ4bEXF8Qh5pRWVWrbB5ikADqFK99Kfax5PIhhBOC3tvS 1VI8VEuhvaCjxRdC5wGl704pg6YQH6uQONJe2Uls+h7vSmsWppRNR8qBmw9OGgm9yfkQ DqXg== X-Gm-Message-State: APzg51CGSgH0jFJRLSy0l6r7x2ay5EdyIONcLY0ac66vgMiPXhJU8PUt SNui6U16UZK4HEWr/+H2Th7HYD0glTw= X-Google-Smtp-Source: ANB0VdZ2hQBSweIGBPogXAFwFu7aqG/fTIz0Up4HOm5RmqN0ZZnUQiXqIhzu8AVG5W2GcnbqbKIAWA== X-Received: by 2002:a1c:4887:: with SMTP id v129-v6mr5589118wma.129.1536339333852; Fri, 07 Sep 2018 09:55:33 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id j75-v6sm9541239wmj.8.2018.09.07.09.55.32 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Sep 2018 09:55:32 -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, 7 Sep 2018 17:55:22 +0100 Message-Id: <20180907165524.23982-2-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180907165524.23982-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180907165524.23982-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v2 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 --- v2: reordered generated fields as requested 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 Fri Sep 7 16:55:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44423 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 79CD458C4; Fri, 7 Sep 2018 18:55:38 +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 622A25699 for ; Fri, 7 Sep 2018 18:55:36 +0200 (CEST) Received: by mail-wm0-f68.google.com with SMTP id f21-v6so15380307wmc.5 for ; Fri, 07 Sep 2018 09:55:36 -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=c6L54bFIX0uwpbZJBecqalPNAUUHERrCKjmtwrhystYjkXaAGKPvjY+axt2UNIbh5S yEjZ7L6izVcejO4pL2JJplQUfMfGsGZ33JZ+2RTS4DAqCSQ9kpW+Qt26hyW6YQfLLv79 KkMIAb8hmOvNi0aLtiY8rsnY4L4hSXVa8vmUiffhBiemeYHC4mdEZ8EZHHBR03a83aYm uzebLUgTCII0R6SIvBnhyizU+mVU3PUm53sszYIOkhfmgrEIn2pwkn+0ApYXcFpsW3CJ eFhcasH3NOBi5kWy3mz+kzVcIxjbD4U8W4cWt2ZTFbtLbvUF81v0o1LuWUplKnqERrre 2JRg== X-Gm-Message-State: APzg51BuOQBODXCRE6RI6g7oIHPFwul8k4Zs9lW3CkRqRKtQbQBXxdVZ Nz5k9XmfVWQNkAYwHmWEXbOaNZUJgdc= X-Google-Smtp-Source: ANB0VdbpTBGBHcBUUIFNAq9ZpNRlH93ptgK0U+tkR5eRjrs4Ql5yF86zOd3O06K2fwxj6bMEOgQSmg== X-Received: by 2002:a1c:7301:: with SMTP id d1-v6mr5574390wmb.34.1536339335767; Fri, 07 Sep 2018 09:55:35 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id t70-v6sm5592849wmt.30.2018.09.07.09.55.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Sep 2018 09:55:34 -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, 7 Sep 2018 17:55:23 +0100 Message-Id: <20180907165524.23982-3-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180907165524.23982-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180907165524.23982-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v2 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 --- 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 Sep 7 16:55:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 44424 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 3B8A55A6A; Fri, 7 Sep 2018 18:55:40 +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 673D74C93 for ; Fri, 7 Sep 2018 18:55:38 +0200 (CEST) Received: by mail-wr1-f65.google.com with SMTP id k5-v6so15613743wre.10 for ; Fri, 07 Sep 2018 09:55:38 -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=JEWojzToo21awoipsHpBjzKBT6b97u76ztlZX/nf5Lo=; b=OaqdvwFLBeE4Z8CWAuhsGRJyWB1IZ4g2KRnK8VoGD+PnkX8H/qPQXDPM/TuWFDKnEW /XVK8s0yrP1G1g4RLkGgcAOiehL34aV8RKK6rGBXQ/HoIT+5Gz/RnvhvWd7owkz5l5K2 zQEnSNdw5J2/cfEwF3IP2SuKoGrzzFu3Atxn8YQGVYSHShiEVrxQv85IBPVUj7PycxQw M1IWODuszsmRtXUDRzR0p5pfuKSiiJ1NW4YJnVuVo84VxzbNPQRcdFWf1MyeiYUMYQix A55gnN4rwYGGhj1McfZZHgYebRMlkRvw6pxNLml+Mp1+FJwb1AwcopsiB8Y9MwFDL9OB 3hOw== X-Gm-Message-State: APzg51CNVnsGXsI+Y/CPkBwx9/IuMJPHB9uVNRpQzRazyIP/MGfYrcg5 BMUKr/IAeBqy5+THFVbsvPr+2OAhstk= X-Google-Smtp-Source: ANB0VdZqiDhDQnooPrKZPGZPx8La/GLybeCKbJRyBsjYBpzNAy+qTZNGqsF9MACrz1z1LpinweDqOQ== X-Received: by 2002:a5d:404a:: with SMTP id w10-v6mr6554132wrp.147.1536339337841; Fri, 07 Sep 2018 09:55:37 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id j11-v6sm10231896wrr.37.2018.09.07.09.55.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Sep 2018 09:55:36 -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, 7 Sep 2018 17:55:24 +0100 Message-Id: <20180907165524.23982-4-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180907165524.23982-1-bluca@debian.org> References: <20180831182055.30772-1-bluca@debian.org> <20180907165524.23982-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v2 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 --- v2: made doxygen dependency optional, skip doxygen build when not found doc/api/generate_doxygen.sh | 10 +++++++ doc/api/meson.build | 54 +++++++++++++++++++++++++++++++++++++ doc/build-sdk-meson.txt | 2 ++ doc/meson.build | 4 +++ meson.build | 3 +++ meson_options.txt | 2 ++ 6 files changed, 75 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..5dfa0fe044 --- /dev/null +++ b/doc/api/meson.build @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi + +doxygen = find_program('doxygen', required: false) + +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) +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: '',