Re: [PATCH] honor CFLAGS from environment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Feb 13, 2019 at 08:39:45AM +0100, Uwe Kleine-König wrote:
> On Tue, Feb 12, 2019 at 11:37:05PM +0100, Luc Van Oostenryck wrote:
> > On Tue, Feb 12, 2019 at 09:41:47PM +0100, Uwe Kleine-König wrote:
> > > On 2/12/19 9:36 PM, Ramsay Jones wrote:
> > > > On 12/02/2019 20:12, Uwe Kleine-König wrote:
> > > >> On 2/12/19 9:11 PM, Ramsay Jones wrote:
> > > >>> On 12/02/2019 19:33, Uwe Kleine-König wrote:
> > > >>>> Debian build scripts pass CFLAGS in the environment. To honor these only set
> > > >>>> CFLAGS to "-O2 -g" if CFLAGS is unset.
> > > > Also, "The warnings in the following line are added
> > > > unconditionally." in the commit message is far from
> > > > clear. (when CFLAGS is set from the environment, the
> > > > += append happens without problem, but you seem to
> > > > be saying that these additions will be added from the
> > > > environment at the same time?)
> > 
> > It's OK to me if you need to change it to:
> > 	CFLAGS ?= -O2 -g -Wall -Wwrite-strings
> > because the "-Wall -Wwrite-strings" create reproducibility
> > problems but, if only for my own curiosity, I would like
> > to understand what exactly the problem is.
> 
> No, it's not that "-Wall -Wwrite-strings" creates problems with
> reproducibility. The problem is that CFLAGS from the environment are
> ignored and there we have (among others)
> 
> 	-fdebug-prefix-map=$(pwd)=.
> 
> and without that the build path leaks into the debug info.

OK, I see. The reproducibility problem is just one aspect of the
environment being ignored.

> Also note that with my patch the following is passed to the compiler:
> 
> 	$WHATEVERCFLAGSWASSETTOINTHEENVIRONMENT -Wall -Wwrite-strings
> 
> I don't care much if "-Wall -Wwrite-strings" is added to the value that
> was provided via the environment or not. Probably it would be consequent
> to not add it.

OK.

> > > > Do you also set any other variables in the environment
> > > > (eg. LDFLAGS)?
> > > 
> > > Yes, the packages have the following variables set in their build
> > > environment: CFLAGS, CPPFLAGS, CXXFLAGS, FCFLAGS, FFLAGS, GCJFLAGS,
> > > LDFLAGS, OBJCFLAGS, OBJCXXFLAGS. Apart from CFLAGS these is no problem.
> > 
> > Yes but for me CC, LD, AR, PKG_CONFIG, ... MANDIR have potentially
> > exactly the same problem (except probably CHECKER_FLAGS that
> > could be considered as internal). but I have no problem to init
> > all of them with ?= like it was asked for PREFIX.
> 
> That would be just fine.

I'll do so then.

Thanks for the explanation,
-- Luc



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux