Re: [PATCH] honor CFLAGS from environment

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

 



Hello Luc,

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. So your build
artifacts include the string "/home/luc/gitsources/sparse" while mine
have "/home/uwe/debpkg/sparse" and the Debian buildds have something
with "/home/buildd" IIRC.

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.

> > > 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.

Best regards
Uwe

Attachment: signature.asc
Description: PGP signature


[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