From owner-svn-ports-all@freebsd.org Tue Sep 15 22:22:21 2015 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 218E89CD353; Tue, 15 Sep 2015 22:22:21 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wi0-x22b.google.com (mail-wi0-x22b.google.com [IPv6:2a00:1450:400c:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BDD3E18A6; Tue, 15 Sep 2015 22:22:20 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wiclk2 with SMTP id lk2so46466770wic.1; Tue, 15 Sep 2015 15:22:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=2LPStQ93HGSdTijqhg5iWtNTKYLRQL2eoYmjhVBFXPE=; b=FNTzeNBIks3dBVxOuKabQJkNWuSDlRT/ffn9U443OqebZKtkIOP12vJgiA+lQIGagg 9OIMoymbMrZkSQxVFMZbEnhjPG2lRlj/eo3mee/LYuxgu1rvMUocH+kBUfy5viURaYmv aNuU0hCZEksTQJt4T/WXPQU1gOahoptnNbCoA6XvRkE0TcrIVle85ZmvVJ2PfYj6hjQm KCphSHri7oBpb0C+T8zkw0X+nTCQ+HBuUld+AVQxsq1+Yt/Y2t4BdT59tufuss02RlNa gIAUaERXkyTDWkJ7uDNuI2wrwWI9cQuK57S0tkWinQB8Gck2OED+15L44Qg7KGKX4WGA 59Rg== X-Received: by 10.194.239.167 with SMTP id vt7mr15396020wjc.5.1442355739258; Tue, 15 Sep 2015 15:22:19 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id bg4sm23206094wjc.46.2015.09.15.15.22.17 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Sep 2015 15:22:18 -0700 (PDT) Sender: Baptiste Daroussin Date: Wed, 16 Sep 2015 00:22:16 +0200 From: Baptiste Daroussin To: Dmitry Marakasov Cc: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r397026 - head/Mk/Uses Message-ID: <20150915222216.GA35129@ivaldir.etoilebsd.net> References: <201509152124.t8FLOgeN003164@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="yrj/dFKFPuw6o+aM" Content-Disposition: inline In-Reply-To: <201509152124.t8FLOgeN003164@repo.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Sep 2015 22:22:21 -0000 --yrj/dFKFPuw6o+aM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Sep 15, 2015 at 09:24:42PM +0000, Dmitry Marakasov wrote: > Author: amdmi3 > Date: Tue Sep 15 21:24:42 2015 > New Revision: 397026 > URL: https://svnweb.freebsd.org/changeset/ports/397026 >=20 > Log: > - Use -isystem instead of -I to add ${LOCALBASE}/include to the list of= header search paths > =20 > First, this prevents ports which use strict -Werror settings from > build failures in third party headers (real life example is > devel/pructl which uses -Werror -Weverything and fails in libedit > header on actually harmless padding warning). > =20 > Second, this prevents ports which install headers from picking up > their own headers from LOCALBASE instead of using ones from WRKDIR, > which leads to any kind of problems when upgrading via ports. > =20 > PR: 203101 > Approved by: bapt > Differential Revision: D3618 Just to give a bit more information. Both clang and gcc will lookup for includes (cross building case taken appa= rt) in that order: 1. -Isomthing 2. -isystem something 3. /usr/include (plus internal path) Meaning some ports were messed up by the fact we used to add -I${LOCALBASE}= in *FLAGS and their build system also providing -I. by having a lookup path th= at looks like the following: 1. -I${LOCALBASE}/include (first in the CFLAG) 2. -I. 3. -isystem 4. internal Meaning if a header is both in the localbase (older version already install= ed) and in sources (newer version) the older version will be used which can res= ult in a lot of different breakage (either silent wrong macros definitions) or noisy: building errors and other kind of crap. Best regards, Bapt --yrj/dFKFPuw6o+aM Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlX4mhgACgkQ8kTtMUmk6EyzWQCeJ+ksuYOE2WGoSgXNEzTfcRth wksAn1fvvPawEBfaq11SmU0fRIGa6jxy =Zq4A -----END PGP SIGNATURE----- --yrj/dFKFPuw6o+aM--