From patchwork Fri Jun 23 15:06:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128963 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EE6F842D31; Fri, 23 Jun 2023 17:07:35 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C479240EE4; Fri, 23 Jun 2023 17:07:35 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id C52EC406B8 for ; Fri, 23 Jun 2023 17:07:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532854; x=1719068854; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=laZLvnZY/IY4SUy4HwcuhkyzxjEMVx4mmVkuHrQ6DWg=; b=d4QaouJq6z3/5O3/eNowtyH1ooXFzLstX22Ye9wn20Q7i/W8/wQJwHoh Q6e+YXsa5lSxOdJjO3ZtsLuVuFvCAfeMo1cUv1HhxQj/ZCxMjwsOGWqlq LJUY7INwYrhl8D1u0QmJiuBngv7xBiEnGrjIX9jum0m0BZT7KJOCxwwl8 LVVNdxLUHmnKngq8AKwLIKfGM9FhAIy2M3TZbClhKFjQOW9t3mBE85ZAq 3QNQYFXgRNr3VtTNMIMJVmh9FNGgeBFrFYUhgUh3lNPYlVvDBtnaT4LkQ H0hcWuasMU210WgzY4vh+PD9knWCktGxm1Q7fI/kU7zloXHxA+QtS+Msw w==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467892" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467892" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697199" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697199" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:18 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Subject: [PATCH v4 0/9] expand list of optional libraries Date: Fri, 23 Jun 2023 16:06:59 +0100 Message-Id: <20230623150708.2203918-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230622134840.3225975-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DPDK still has many libraries which cannot be disabled as part of a build. With the ongoing work to make it easier to only build a subset of the libraries in DPDK, we can also work to expand the list of libraries which can be enabled/disabled as desired. This patch addresses a number of the "low-hanging fruit" libraries, where only the unit test builds need minor changes to support making the library optional. The rest of the build system is already well set up for selective disabling of libraries. For better support of enabling components, especially those more integrated into DPDK unit tests, rework of the test meson.build file is likely needed. For example, it could probably be better rewritten to use a dictionary of files and the dependencies of each file, and the unit test commands each provides. However, such rework is a significant effort, and outside the scope of this patchset. V4: - fix more issues with disabling eventdev: * ensure dlb2 driver doesn't directly reference the static lib * ensure l3fwd can be built using makefiles without eventdev * remove dependency on eventdev for unit tests like pdump that don't actually need it. V3: - rebase on top of main. - make eventdev an optional dependency of l3fwd - Fix incorrect define reference - RTE_LIB_IP_FRAG vs RTE_IP_FRAG V2: fix checkpatch issues, since checkpatch doesn't like empty commit messages (even if the title is pretty self-explanatory!) Bruce Richardson (9): examples/l3fwd: make eventdev an optional dependency event/dlb2: skip configuration if no eventdev lib build: make most device classes optional build: make membership library optional build: make bpf library optional build: make efd library optional build: make distributor library optional build: make fragmentation library optional build: make reorder library optional app/test/meson.build | 89 +++++++++++++--------- drivers/event/dlb2/meson.build | 2 +- examples/l3fwd/l3fwd_em.c | 2 + examples/l3fwd/l3fwd_em_hlm.h | 2 + examples/l3fwd/l3fwd_event.c | 2 + examples/l3fwd/l3fwd_event.h | 7 +- examples/l3fwd/l3fwd_event_generic.c | 2 + examples/l3fwd/l3fwd_event_internal_port.c | 2 + examples/l3fwd/l3fwd_fib.c | 2 + examples/l3fwd/l3fwd_lpm.c | 2 + examples/l3fwd/main.c | 65 ++++++++++++---- examples/l3fwd/meson.build | 5 +- lib/meson.build | 13 ++++ 13 files changed, 143 insertions(+), 52 deletions(-) --- 2.39.2