qemu-devel
[Top][All Lists]
Advanced

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

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


From: Juan Quintela
Subject: [Qemu-devel] Re: [PATCH 00/37] Generate a proper LIBS variable
Date: Thu, 23 Jul 2009 17:45:57 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux)

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"

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.




reply via email to

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