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 BB874A00C5; Mon, 14 Feb 2022 12:43:42 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AF4B541151; Mon, 14 Feb 2022 12:43:42 +0100 (CET) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id D663F4114E for ; Mon, 14 Feb 2022 12:43:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644839022; x=1676375022; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=m5dGAgiog5vFz0JEEdVTwZ8MHiD3qbw9i0I6fbt4yDs=; b=Jf3xznM0tnIEOWquVsBgtLB+vf/x2fNE4x+I6fsWQKDg9T3a/7imqehQ os1kBQT3r5WiKtCLMvIT+57Rk4otUYdeiTBA6cnqB7RDGrSOiww9TfSV2 LoD+GFo7zLJ1vA78ewvsSobNFr8IPWyP3wuij4quB7c2nT1Mh3IQ9R0ub k6tTXjSFphIeJ2sC0+e06YuHA9SdGB3mPrOykBiatez2DLKATkbBd1JTm CepB5TcXR8knG+KCjHfInBuZFHy0CKOPLLJZxTHuGWnGNj3C8DHD8XaBX 0TX1QDb2awviDYPn/B0doX9rXuV8hs0bBbB9YeHl37aRAQLQIoDcio9yJ A==; X-IronPort-AV: E=McAfee;i="6200,9189,10257"; a="310810541" X-IronPort-AV: E=Sophos;i="5.88,367,1635231600"; d="scan'208";a="310810541" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Feb 2022 03:43:41 -0800 X-IronPort-AV: E=Sophos;i="5.88,367,1635231600"; d="scan'208";a="495489921" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.13.94]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 14 Feb 2022 03:43:39 -0800 Date: Mon, 14 Feb 2022 11:43:35 +0000 From: Bruce Richardson To: Thomas Monjalon Cc: dev@dpdk.org, Tyler Retzlaff , ocardona@microsoft.com, roretzla@microsoft.com, david.marchand@redhat.com, ferruh.yigit@intel.com Subject: Re: out of tree driver builds broken with C++ Message-ID: References: <20220214091350.GA2793@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> <3450334.eFTFzoEnKi@thomas> <3617079.VQhiAETyHQ@thomas> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3617079.VQhiAETyHQ@thomas> 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 Mon, Feb 14, 2022 at 12:19:24PM +0100, Thomas Monjalon wrote: > 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? > Yes. It may make things a little more complicated, though, as it seems these headers also have a tendency to rely on some driver headers - specifically bus driver headers. /Bruce