From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B155945909; Thu, 5 Sep 2024 09:29:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 73B9940264; Thu, 5 Sep 2024 09:29:26 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 1374E4025C for ; Thu, 5 Sep 2024 09:29:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1725521364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rPFpCmKU6JptLt1V7hhhCAiDxQONM1DfzeSnl+l1rZ0=; b=QbBi3LTw9Bjw+nTpwI/Vgu0aocvjRPpnGPChfCwNTXv/W8hANdYFLNVTWOS3zh/hcYe8OV ezDSRBSkqUisp+Bhm34fSLK1BA76lOwOiHcscTBVe0yhP3jltdY8y+7TI3elSfLdIAEK5+ TfauHLOPHGZqKiqUw1GjFnVlOYQTpB8= Received: from mail-lf1-f72.google.com (mail-lf1-f72.google.com [209.85.167.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-271-aL8IBF5CN-OHm1Kbq9IfCg-1; Thu, 05 Sep 2024 03:29:23 -0400 X-MC-Unique: aL8IBF5CN-OHm1Kbq9IfCg-1 Received: by mail-lf1-f72.google.com with SMTP id 2adb3069b0e04-5356d0f6cdcso385442e87.3 for ; Thu, 05 Sep 2024 00:29:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725521362; x=1726126162; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rPFpCmKU6JptLt1V7hhhCAiDxQONM1DfzeSnl+l1rZ0=; b=G0f7QUoPEfdhCRX2VymWFUxp9vNxkA0GkcnvG9EibZ0pDvKByvfqY/MD/3rG5nZ79w 8o2DQZiE9xFmRovmvzedghT8iknd0yJLJHBe5eznO+0rbdBJ0lfuXJ2pgl+OxjLzm4fT sexUSC1haO+Mq+gTl2yv0gWBOSZwp0K6P4jbNYgobVxpM2ea60f3l9+Hkw5U4IkY/HBY dHmwVQ1X1qCtzAhn02GSfYaOQsMtrELV9iaCCOZUX1NfKy05Y4GEiPMTPgYMui6SZrkV j0he6dh7pqMkYSWULnWKqC7FgixbvFPLlJelGQJCNqxzafaqhsrnL9du9E2HyuP293wM hjQw== X-Gm-Message-State: AOJu0YwiMzs4jRPaLl/qN2Itlt+F61GADaM+MIk72CtffeEB36USyo0O Cokm7qHTaef09SJaxAooVhNQbVMW8lludokZTUQMdAhRCL+PDrTmsJ80LkSAgnr/D37YIAtONZJ vzftV9Z4AbHLygTCgqcdG4B6pBqLJCYkVqlWCcZfdUfeerDFYOt2p6ey+q47oPTYlnoqBqHEgpM fZTFeI6yYR1QkxkSk= X-Received: by 2002:ac2:4e06:0:b0:533:483f:9562 with SMTP id 2adb3069b0e04-53546bde03emr17224014e87.42.1725521361743; Thu, 05 Sep 2024 00:29:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHQ60zh38NliMyfBT+UB5y1YBnxvpb0ph2EW9jmi/XedbKYI4EEflgID9pcOU+QBXDzvsVanMgGUpdei01MDKc= X-Received: by 2002:ac2:4e06:0:b0:533:483f:9562 with SMTP id 2adb3069b0e04-53546bde03emr17223986e87.42.1725521361210; Thu, 05 Sep 2024 00:29:21 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: David Marchand Date: Thu, 5 Sep 2024 09:29:09 +0200 Message-ID: Subject: Re: [PATCH v1 1/1] usertools: add DPDK build directory setup script To: Anatoly Burakov Cc: dev@dpdk.org, Robin Jarry , john.mcnamara@intel.com, bruce.richardson@intel.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 On Wed, Sep 4, 2024 at 5:17=E2=80=AFPM Anatoly Burakov wrote: > > Currently, the only way to set up a build directory for DPDK development > is through running Meson directly. This has a number of drawbacks. > > For one, the default configuration is very "fat", meaning everything gets > enabled and built (aside from examples, which have to be enabled > manually), so while Meson is very good at minimizing work needed to rebui= ld > DPDK, for any change that affects a lot of components (such as editing an > EAL header), there's a lot of rebuilding to do. > > It is of course possible to reduce the number of components built through > meson options, but this mechanism isn't perfect, as the user needs to > remember exact spelling of all the options and components, and currently > it doesn't handle inter-component dependencies very well (e.g. if net/ice > is enabled, common/iavf is not automatically enabled, so net/ice can't be > built unless user also doesn't forget to specify common/iavf). There should be an explicit error explaining why the driver is not enabled. Is it not the case? > > Enter this script. It relies on Meson's introspection capabilities as wel= l > as the dependency graphs generated by our build system to display all > available components, and handle any dependencies for them automatically, > while also not forcing user to remember any command-line options and list= s > of drivers, and instead relying on interactive TUI to display list of > available options. It can also produce builds that are as minimal as > possible (including cutting down libraries being built) by utilizing the > fact that our dependency graphs report which dependency is mandatory and > which one is optional. > > Because it is not meant to replace native Meson build configuration but > is rather targeted at users who are not intimately familiar wtih DPDK's > build system, it is run in interactive mode by default. However, it is > also possible to run it without interaction, in which case it will pass > all its parameters to Meson directly, with added benefit of dependency > tracking and producing minimal builds if desired. > > Signed-off-by: Anatoly Burakov There is no documentation. And it is a devtools script and not a usertools, iow, no point in installing this along a built dpdk. I don't see a lot of value in such script. In my opinion, people who really want to tune their dpdk build should enter the details carefully and understand the implications. But other than that, I have no strong objection. --=20 David Marchand