From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v5 00/10] Fix build errors related to exported headers Date: Tue, 13 Sep 2016 15:38:23 +0200 Message-ID: <1722446.qpBii1xjhf@xps13> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Adrien Mazarguil Return-path: Received: from mail-lf0-f45.google.com (mail-lf0-f45.google.com [209.85.215.45]) by dpdk.org (Postfix) with ESMTP id 9C23C58E1 for ; Tue, 13 Sep 2016 15:38:25 +0200 (CEST) Received: by mail-lf0-f45.google.com with SMTP id h127so110209193lfh.0 for ; Tue, 13 Sep 2016 06:38:25 -0700 (PDT) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2016-09-08 14:25, Adrien Mazarguil: > DPDK uses GNU C language extensions in most of its code base. This is fine > for internal source files whose compilation flags are controlled by DPDK, > however user applications that use exported "public" headers may experience > compilation failures when enabling strict error/standard checks (-std and > -pedantic for instance). > > Exported headers are installed system-wide and must be as clean as possible > so applications do not have to resort to workarounds. > > This patchset affects exported headers only, compilation problems are > addressed as follows: > > - Adding the __extension__ keyword to nonstandard constructs (same method > as existing libraries when there is no other choice). > - Adding the __extension__ keyword to C11 constructs to remain compatible > with pure C99. > - Adding missing includes so exported files can be included out of order > and on their own. > - Fixing GNU printf-like variadic macros as there is no magic keyword for > these. Applied, thanks The script is a bit slow so it is not integrated in test-build.sh yet. But it should allow us to take care of our exported headers in the future. Adrien, you'll be welcome to remind us how to keep things standard :)