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 E09D242FA3; Mon, 31 Jul 2023 12:39:07 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CF64F40A89; Mon, 31 Jul 2023 12:39:07 +0200 (CEST) Received: from mgamail.intel.com (unknown [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 8B61440150 for ; Mon, 31 Jul 2023 12:39:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1690799946; x=1722335946; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=m8+R5lls7q8pb0GqtvuvJSQRELvNyo7I0ySsp6VSOG0=; b=jZNJ65vpMVRqWa2G9vZhaeY/qJxm027VmDp/kekHyiaZOclmhUIFS1QL 3PVBmtAo1t/JbexuUpjzTQ4kkNZedc1+X4HglEf5Gvlgi6hTpCoXD+tYn Z/sDRaQVVrq769E+bFJ0LiIuZ4YKOLFa1PjdlHI8YXURYR8FGMno/Zuxy tikOyoZCFxC82E+BccQdN4nHDFx115Jn/5/iNtxv9byAxTHGwRPJilzUF MGrSUDGWr1uyKZ9ebSlZoxu72FGuorkTJii0vp/4Ebij54H6UL/dKtYf0 8opSy5l4L2G+GbK1dNSUDTJx21sUxVs+UGIFZ+eIv4mCF8kvfJuNNLdXI w==; X-IronPort-AV: E=McAfee;i="6600,9927,10787"; a="349286662" X-IronPort-AV: E=Sophos;i="6.01,244,1684825200"; d="scan'208";a="349286662" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Jul 2023 03:39:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10787"; a="722020141" X-IronPort-AV: E=Sophos;i="6.01,244,1684825200"; d="scan'208";a="722020141" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga007.jf.intel.com with ESMTP; 31 Jul 2023 03:39:04 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Subject: [PATCH] build: update DPDK to use C11 standard Date: Mon, 31 Jul 2023 11:38:58 +0100 Message-Id: <20230731103858.1491751-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 As previously announced, DPDK 23.11 will require a C11 supporting compiler and will use the C11 standard in all builds. Signed-off-by: Bruce Richardson --- When moving the information about the new requirement to the release notes, a change like this doesn't seem to fit into any existing section. Given its global scope and importance, I've therefore just put it on top of the file, rather than in any section. --- doc/guides/linux_gsg/sys_reqs.rst | 3 ++- doc/guides/rel_notes/deprecation.rst | 18 ------------------ doc/guides/rel_notes/release_23_11.rst | 17 +++++++++++++++++ meson.build | 1 + 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst index dfeaf4e1c5..13be715933 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -27,7 +27,8 @@ Compilation of the DPDK The setup commands and installed packages needed on various systems may be different. For details on Linux distributions and the versions tested, please consult the DPDK Release Notes. -* General development tools including a supported C compiler such as gcc (version 4.9+) or clang (version 3.4+), +* General development tools including a C compiler supporting the C11 standard, + including standard atomics, for example: GCC (version 5.0+) or Clang (version 3.6+), and ``pkg-config`` or ``pkgconf`` to be used when building end-user binaries against DPDK. * For RHEL/Fedora systems these can be installed using ``dnf groupinstall "Development Tools"`` diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 494b401cda..cc939d3c67 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -17,24 +17,6 @@ Other API and ABI deprecation notices are to be posted below. Deprecation Notices ------------------- -* C Compiler: From DPDK 23.11 onwards, - building DPDK will require a C compiler which supports the C11 standard, - including support for C11 standard atomics. - - More specifically, the requirements will be: - - * Support for flag "-std=c11" (or similar) - * __STDC_NO_ATOMICS__ is *not defined* when using c11 flag - - Please note: - - * C11, including standard atomics, is supported from GCC version 5 onwards, - and is the default language version in that release - (Ref: https://gcc.gnu.org/gcc-5/changes.html) - * C11 is the default compilation mode in Clang from version 3.6, - which also added support for standard atomics - (Ref: https://releases.llvm.org/3.6.0/tools/clang/docs/ReleaseNotes.html) - * build: Enabling deprecated libraries (``flow_classify``, ``kni``) won't be possible anymore through the use of the ``disable_libs`` build option. A new build option for deprecated libraries will be introduced instead. diff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst index 6b4dd21fd0..c8b9ed456c 100644 --- a/doc/guides/rel_notes/release_23_11.rst +++ b/doc/guides/rel_notes/release_23_11.rst @@ -20,6 +20,23 @@ DPDK Release 23.11 ninja -C build doc xdg-open build/doc/guides/html/rel_notes/release_23_11.html +* Build Requirements: From DPDK 23.11 onwards, + building DPDK will require a C compiler which supports the C11 standard, + including support for C11 standard atomics. + + More specifically, the requirements will be: + + * Support for flag "-std=c11" (or similar) + * __STDC_NO_ATOMICS__ is *not defined* when using c11 flag + + Please note: + + * C11, including standard atomics, is supported from GCC version 5 onwards, + and is the default language version in that release + (Ref: https://gcc.gnu.org/gcc-5/changes.html) + * C11 is the default compilation mode in Clang from version 3.6, + which also added support for standard atomics + (Ref: https://releases.llvm.org/3.6.0/tools/clang/docs/ReleaseNotes.html) New Features ------------ diff --git a/meson.build b/meson.build index 39cb73846d..70b54f0c98 100644 --- a/meson.build +++ b/meson.build @@ -9,6 +9,7 @@ project('DPDK', 'c', license: 'BSD', default_options: [ 'buildtype=release', + 'c_std=c11', 'default_library=static', 'warning_level=2', ], -- 2.39.2