[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 00/81] More Makefile/configure simplification
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH v2 00/81] More Makefile/configure simplification |
Date: |
Mon, 3 Aug 2009 14:45:51 +0200 |
Hi
I compiled natively on x86_64 linux and crosscompiled it for windows.
Compilation in a different build directory also works.
v2:
- split CFLAGS into QEMU_CFLAGS and CFLAGS to enable:
make CFLAGS="-O3" foo.o
make CFLAGS=""
- We have now LIBS/libs_softmmu/libs_tools
Everything that is in libs_tools is also in libs_softmmu, namely curl and vde
- We have now LIBS and QEMU_CFLAGS per target
- all *_LIBS have been folded in the right LIBS variable
- All arch/os setup/libs/cflags moved to ./configure
- AUDIO_PT is gone, it setup to linke with -pthread, but the LDFLAGS was used
only for executables in main Makefile, and none of them use sound. It was not
used for the targets, that is where it would make a difference.
- aio is renamed to posix_aio
v1:
- CPPFLAGS is gone, long life to CFLAGS
- Refactor common CFLAGS setup to ./configure
- Use same CFLAGS for all configure tests
- ARCH/OS_CFLAGS/LDFLAGS are gone, we add to CFLAGS as we find more options
- new functions complie_prog() compile_object(), test case compilation is done
with one function
- LIBS: Start LIBS reorganization, common stuff moved to ./configure
- libs_softmmu created for libraries that are only for softmmu
- moved compilation tests out of the creation of configuration files,
make things way easier.
- Moved sparc_cpu setup to a single place
- minor cleanups/refactors/.. here and there
Comments?
ToDo:
- move all the handling of options to the start of the file
- change meanining of options to:
foo="no" -> don't even try
foo="" -> try to detect, and go with detected result
foo="yes" -> detect, and if it is not found, just exit with an error message.
Distributions really want to be able to tell:
./configure --enable-kvm --enable-vnc-tls ...
And if it didn't found anything, just exit. Packager would sort the right
BuildRequires at this point.
- Start thinking how to enable/disable drivers
Later, Juan.
Juan Quintela (81):
strip binary is not used anywhere
oss variable don't exist anymore
Use CFLAGS from enviroment, ARCH_CFLAGS hasn't been defined yet
move cpu command line setting to the beggining
move check_linker_flags sooner than starting of printing variables
remove not needed rt variable
move checks for bswap32/bswap_32 sooner than starting of printing
variables
move general CFLAGS/LDFLAGS definitions after last $cc run
We want to add options at the beggining, not at the end of variables
Remove OS_{CFLAGS,LDFLAGS} and ARCH_{LDFLAGS,CFLAGS}
move EXTRA_CFLAGS/LDFLAGS to the very beginning
create compile_object/compile_prog functions
remove unused temporal files
Add CURL_CFLAGS
__sparc_*__ is defined through -D__sparc_*__
move mingw32 code after selection of OS
This variables can't be set here
refactor kqemu selection for both mingw32
move sparc_cpu arg parsing to the begining
refactor sparc_cpu code to be in a single place
refactor $cpu selection in various places
reindent Operating System selection configure
We use -lz for all binaries
We want to pass LIB through configuration files now
PTHREADLIBS was used for all binaries
CLOCKLIBS was used for all binaries
Move to configure CONFIG_SOLARIS libraries needed always
Move to configure CONFIG_WIN32 libraries needed always
We set -Werror through configure now
Rename CPPFLAGS to QEMU_CFLAGS
split QEMU_CFLAGS very long line
move common QEMU_CFLAGS to configure
Refactor HELPER_CFLAGS
move SDL_LIBS Win32 hack to configure
Add libs_softmmu variable
Add SDL_LIBS to libs_softmmu
gcc generates the right dependency for this file
move coreaudio libraries to coreaudio selection
Move sound library selection to sound selection
files are only compiled when CONFIG_ADLIB is defined
Test if we need -lutil in ,/configure
Fold CURSES_LIBS into libsoftmmu_libs
Fold VNC_TLS_LIBS into libs_softmmu
Fold VNC_SASL_LIBS into libs_softmmu
Fold XEN_LIBS into libs_softmmu
Fold BLUEZ_LIBS into libs_softmmu
Fold FDT_LIBS into libs_softmmu
Fold BRLAPI_LIBS into libs_softmmu
remove duplicated TARGET_GPROF code
\!CONFIG_USER_ONLY == CONFIG_SOFTMMU
Introduce CONFIG_NOSOFTFLOAT and simplify Makefile.target
permit to add things to LDFLAGS for target
refactor linker_script common part and change quoting
permit to add things to CFLAGS per target
fix typo, there should be bsd_user there
Move alpha CFLAGS target to configure
Move ia64 QEMU_CFLAGS target to configure
this bit was already generated in configure
Fold TARGET_GPROF handling in configure
Generate more conmmon CFLAGS
Added CONFIG_NEED_MMU for microblaze and cris
Move dis-* selection to configure
Use only one KVM_CFLAGS
Use one less HELPER_CFLAGS
Make slirp include dir globlal in cflags
FMOD_CFLAGS is not set when CONFIG_FMOD is undef
AUDIO_PT is not needed
Generate CONFIG_AUDIO_PT_INT in configure
CONFIG_POSIX makes more sense that not CONFIG_WIN32
remove last 3 uses of :=, everywhere else uses += or =
Consolidate audio flags in configure
We also need TARGET_<arechname> in Makefiles
use TARGET_<arch name> for selection
Disable aio in mingw32
Add libs_tools support
VDE libs are used both by tools and softmmu
CURL libs are used both by tools and softmmu
Add cocoa libs at Darwin selection time
convert gprof flags to style of rest of Makefile
Move libsunpath to use the same style than everything else
rename aio/CONFIG_AIO to posix_aio/CONFIG_POSIX_AIO
Makefile | 59 +---
Makefile.hw | 4 +-
Makefile.target | 275 ++------------
block/raw-posix.c | 26 +-
configure | 864 +++++++++++++++++++++++++-------------------
create_config | 8 -
pc-bios/optionrom/Makefile | 6 +-
rules.mak | 6 +-
8 files changed, 555 insertions(+), 693 deletions(-)
- [Qemu-devel] [PATCH v2 00/81] More Makefile/configure simplification,
Juan Quintela <=
- [Qemu-devel] [PATCH 01/81] strip binary is not used anywhere, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 03/81] Use CFLAGS from enviroment, ARCH_CFLAGS hasn't been defined yet, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 02/81] oss variable don't exist anymore, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 04/81] move cpu command line setting to the beggining, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 05/81] move check_linker_flags sooner than starting of printing variables, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 07/81] move checks for bswap32/bswap_32 sooner than starting of printing variables, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 06/81] remove not needed rt variable, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 09/81] We want to add options at the beggining, not at the end of variables, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 08/81] move general CFLAGS/LDFLAGS definitions after last $cc run, Juan Quintela, 2009/08/03
- [Qemu-devel] [PATCH 11/81] move EXTRA_CFLAGS/LDFLAGS to the very beginning, Juan Quintela, 2009/08/03