From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 33939A00C5;
	Mon, 14 Feb 2022 12:19:30 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id BBA364068C;
	Mon, 14 Feb 2022 12:19:28 +0100 (CET)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by mails.dpdk.org (Postfix) with ESMTP id 5612D4067E
 for <dev@dpdk.org>; Mon, 14 Feb 2022 12:19:27 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id 0254A5C01FE;
 Mon, 14 Feb 2022 06:19:27 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 14 Feb 2022 06:19:27 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 cc:cc:content-transfer-encoding:content-type:date:date:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:sender:subject:subject:to:to; s=fm3; bh=fPVcSeFVxEMZXv
 2KNAaTy83G0oAq6t45eSIcaKbroe8=; b=islyEWi0tFjU2sVgxCamE41S/DepPj
 nbC5zb0wSUJ0MK7hJ+LIoonhmp8xwLJdwsmrYKwSiGoH8d9BR+4erRqOEZZ3beJe
 q0pAW+D/0ZNGMhcd5f5Hvqtt2n3ajSl3fyvi+kUOMnSdi/U8Z2PFInpBptCS/FG7
 ryfy5MYfrlU87o9Oby6DuVXTmPLGVNQ+G37br90MX4O72eohXfzcYtc5x6AXkGP7
 gh0oXodOaqcn1qjJXMuSAafKvJizBZfby9kvwrMMGoybTUyJXoff+ETwEsKkf554
 DTnkKZXjXrp2qKyD27Qr1dC+kYg3w13aq/8efafbq3jM3Fc34/yRyWFA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:date:date:from:from:in-reply-to:in-reply-to
 :message-id:mime-version:references:reply-to:sender:subject
 :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm2; bh=fPVcSeFVxEMZXv2KNAaTy83G0oAq6t45eSIcaKbro
 e8=; b=QKULntvgCJCQxw+t+oUYS+GEsKOTqq9Tbr2bjVFeAGZz/gmiwwFs8+ccG
 SlWi+QpDbsjRw6dZtj+LziyFzyHNX8GPswdmnw0XKmwYN9GoZ5WmQO8yF1M+VG9O
 CMGNnE01Qi2bB0Q72Ob1GpwcMS8n/hoCrOod3/mRwAG5O0gjswq2WBtrweT9NuGB
 OZSZyzQBwkA4BxFBG3oI1Rkhg81wtkMkaX+IbRDAFw6yhcBPdiyU5PFGFv0irV0k
 ADLAA20T9mWMy08UV90p1OSLova5RAMXSs4x6V9fUXm/vYVOc1RY2dM5f6mhFjjS
 ZFNTOv3nRpmstDz0/Tz0Laet6/X3w==
X-ME-Sender: <xms:vjoKYq7kmk3LNy18rmI6kDkwq7R-0wUNrlgnoPJvAzLwlvs8g8vQYg>
 <xme:vjoKYj7OxTAPbM1pbFglm7aFW7paijgAaVifCVXIC3Za9fD_fuYEVSPWidO7hQWvH
 _ms-Xx23V6-LjOSaQ>
X-ME-Received: <xmr:vjoKYpfcDFhv2ijierf1DvenSGkhRGHFYV_6N1IKoqQ6p-LkKGCQGEEiSmuk0JiVqtZd0H9_ht7Wclq96MBh7BZLOQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddrjedvgddvvdcutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
 fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs
 ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucggtf
 frrghtthgvrhhnpedugefgvdefudfftdefgeelgffhueekgfffhfeujedtteeutdejueei
 iedvffegheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh
 hmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght
X-ME-Proxy: <xmx:vjoKYnICwZ0bSkf7XnSh7k8jKVnsYn0j3Y_VStefxvSBF5gZiHtYeg>
 <xmx:vjoKYuI6vOxR8RE4lEt_six6O9I9_9KB3e7p6xOjfIVYHrrDSCGruA>
 <xmx:vjoKYoy6Sq4lJL0L6wLHCNCiq5NlMmql2Lln-wal1NlsYq3OorqEpA>
 <xmx:vjoKYm_RYnSWBL521EfyihDMXRzWbV0H9ANCAwJF-Ixo6EKJe3ZVlA>
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 14 Feb 2022 06:19:25 -0500 (EST)
From: Thomas Monjalon <thomas@monjalon.net>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org, Tyler Retzlaff <roretzla@linux.microsoft.com>, dev@dpdk.org,
 ocardona@microsoft.com, roretzla@microsoft.com, david.marchand@redhat.com,
 ferruh.yigit@intel.com
Subject: Re: out of tree driver builds broken with C++
Date: Mon, 14 Feb 2022 12:19:24 +0100
Message-ID: <3617079.VQhiAETyHQ@thomas>
In-Reply-To: <Ygoy4Fy4X84N1Iqs@bricha3-MOBL.ger.corp.intel.com>
References: <20220214091350.GA2793@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
 <3450334.eFTFzoEnKi@thomas>
 <Ygoy4Fy4X84N1Iqs@bricha3-MOBL.ger.corp.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

14/02/2022 11:45, Bruce Richardson:
> On Mon, Feb 14, 2022 at 10:22:08AM +0100, Thomas Monjalon wrote:
> > 14/02/2022 10:13, Tyler Retzlaff:
> > > while the driver api is "internal" we agreed some time ago that drivers
> > > could be built external to the dpdk tree. by enabling the meson setup
> > > option -Denable_driver_sdk=true.
> > > 
> > > it was agreed that the driver api was internal and would attract no
> > > binary compatibility support which was fine.  this change has now
> > > imposed a further restriction that out of tree drivers have to be
> > > authored in C only as non-C++ compatible code will invariably leak into
> > > the internal structures.
> > > 
> > > you won't allow us to build C++ drivers in the dpdk tree and it seems
> > > now you are preventing building of C++ drivers outside of the tree too.
> > 
> > That's the problem of non-written assumptions, they are unknown or forgotten.
> > Did we agree to support out-of-tree drivers in C++?
> > 
> > We really need to make things clear and written in documentation.
> > 
> > > could we please re-evaluate this.
> > 
> > Yes we can re-evaluate.
> > What is the list of impacted files?
> > 
> Hacking meson files a bit, the list of SDK header files is reported as below.
> 
> /Bruce
> 
> Message: SDK headers: 
> Message: ethdev_driver.h
> Message: ethdev_pci.h
> Message: ethdev_vdev.h
> Message: cryptodev_pmd.h
> Message: eventdev_pmd.h
> Message: eventdev_pmd_pci.h
> Message: eventdev_pmd_vdev.h
> Message: eventdev_trace.h
> Message: event_timer_adapter_pmd.h
> Message: rte_dmadev_pmd.h
> Message: vdpa_driver.h

I see no harm in supporting C++ include of these headers.
Any objection?

Could we have a test in chkincs for the SDK headers?