qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: [PATCH 00/37] Generate a proper LIBS variable


From: Markus Armbruster
Subject: Re: [Qemu-devel] Re: [PATCH 00/37] Generate a proper LIBS variable
Date: Thu, 23 Jul 2009 18:54:33 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux)

Juan Quintela <address@hidden> writes:

> Paul Brook <address@hidden> wrote:
>>> I tend to think that using the same libraries for all binaries is a good
>>> idea, but I think we shouldn't confuse the isues.
>>
>> Usermode and full system emulation are completely different applications. It 
>> makes no sense to use the same set of libraries.
>
> Ok, switching to:
>
> libs : for everything
> libs_softmmu
> libs_linux
> libs_bsd
> libs_darwin
>
> ldflags <- similar, not a big problem
>
> CFLAGS/CPPFLAGS, this is a whole different can of worms
>
> As of know, we have:
> - OS_FLAGS
> - ARCH_FLAGS
> - CFLAGS
> - CPPFLAGS
> - CFLAGS for specific files (KVM_CFLAGS and similars)
> - CFLAGS for some libs that got compiled all files with
> - HELPER_CFLAGS
> - SP_FLAGS (already killed on my patches, it is know part of ARCH_FLAGS)
> - EXTRA_CFLAGS
>
> Starting in configure, which flags are used for each test: random mix of
> CFLAGS + EXTRA_CFLAGS + OS_FLAGS + ARCH_FLAGS
>
> Clearly, not an ideal solution.
>
> What we want to be able to do:
> a- let the user add CFLAGS to all the tests and build
> b- let the user overwrote CFLAGS generated by ./configure + Makefile
> c- the several files be compiled with diffrent CFLAGS
> d- let the user change the CFLAGS for a specific file from command line
>    make; rm foo.o; make CFLAGS=""
>
> Solution so far:
>
> CPPFLAGS is for stuff that you "really" need, i.e. include paths and
>          Defines
> CFLAGS is for the rest of options, that can be "removed"

Actually, CPPFLAGS is for preprocessor stuff, and CFLAGS for the rest.

> My proposal:
>
> To fix the issues:
>
> a: CFLAGS="-Dfoo -Ivar" ./configure
>    Do what you expect, basically be carefull in configure to allways do
>    CFLAGS="<something> $CFLAGS" for things that used to go in OS_FLAGS +
>    CFLAGS + ARCH_CFLAGS
>    Be careful about what we put into CFLAGS/CPPFLAGS
>
> b: is solved with previous approach,if you do
>    CFLAGS="<somethnig $CFLAGS", EXTRA_CFLAGS is not needed, you can
>    remove it.
> c: use one of the current approach,
>      foo.o: CFLAGS := $(CFLAGS) $(FOO_CFLAGS) (only one case of this one)
>      foo.o: CFLAGS += $(FOO_FLAGS)
>
>
> d: if we do the FOO_FLAGS in CPPFLAGS, now
>    make CFLAGS="-O0"
>    or other changes work as expected.
>
> WHat do you think?
>
> Later, Juan.

If that means putting non-preprocessing stuff into CPPFLAGS, then it's
unusual use of common make variables, and a such a trap for the unwary.
Do we care?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]