From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: aliguori@us.ibm.com
Subject: [Qemu-devel] [PATCH v2 00/81] More Makefile/configure simplification
Date: Mon, 3 Aug 2009 14:45:51 +0200 [thread overview]
Message-ID: <cover.1249301360.git.quintela@redhat.com> (raw)
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(-)
next reply other threads:[~2009-08-03 12:49 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-03 12:45 Juan Quintela [this message]
2009-08-03 12:45 ` [Qemu-devel] [PATCH 01/81] strip binary is not used anywhere Juan Quintela
2009-08-03 12:45 ` [Qemu-devel] [PATCH 02/81] oss variable don't exist anymore Juan Quintela
2009-08-03 12:45 ` [Qemu-devel] [PATCH 03/81] Use CFLAGS from enviroment, ARCH_CFLAGS hasn't been defined yet Juan Quintela
2009-08-03 12:45 ` [Qemu-devel] [PATCH 04/81] move cpu command line setting to the beggining Juan Quintela
2009-08-03 12:45 ` [Qemu-devel] [PATCH 05/81] move check_linker_flags sooner than starting of printing variables Juan Quintela
2009-08-03 12:45 ` [Qemu-devel] [PATCH 06/81] remove not needed rt variable Juan Quintela
2009-08-03 12:45 ` [Qemu-devel] [PATCH 07/81] move checks for bswap32/bswap_32 sooner than starting of printing variables Juan Quintela
2009-08-03 12:45 ` [Qemu-devel] [PATCH 08/81] move general CFLAGS/LDFLAGS definitions after last $cc run Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 09/81] We want to add options at the beggining, not at the end of variables Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 10/81] Remove OS_{CFLAGS, LDFLAGS} and ARCH_{LDFLAGS, CFLAGS} Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 11/81] move EXTRA_CFLAGS/LDFLAGS to the very beginning Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 12/81] create compile_object/compile_prog functions Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 13/81] remove unused temporal files Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 14/81] Add CURL_CFLAGS Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 15/81] __sparc_*__ is defined through -D__sparc_*__ Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 16/81] move mingw32 code after selection of OS Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 17/81] This variables can't be set here Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 18/81] refactor kqemu selection for both mingw32 Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 19/81] move sparc_cpu arg parsing to the begining Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 20/81] refactor sparc_cpu code to be in a single place Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 21/81] refactor $cpu selection in various places Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 22/81] reindent Operating System selection configure Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 23/81] We use -lz for all binaries Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 24/81] We want to pass LIB through configuration files now Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 25/81] PTHREADLIBS was used for all binaries Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 26/81] CLOCKLIBS " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 27/81] Move to configure CONFIG_SOLARIS libraries needed always Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 28/81] Move to configure CONFIG_WIN32 " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 29/81] We set -Werror through configure now Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 30/81] Rename CPPFLAGS to QEMU_CFLAGS Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 31/81] split QEMU_CFLAGS very long line Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 32/81] move common QEMU_CFLAGS to configure Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 33/81] Refactor HELPER_CFLAGS Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 34/81] move SDL_LIBS Win32 hack to configure Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 35/81] Add libs_softmmu variable Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 36/81] Add SDL_LIBS to libs_softmmu Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 37/81] gcc generates the right dependency for this file Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 38/81] move coreaudio libraries to coreaudio selection Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 39/81] Move sound library selection to sound selection Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 40/81] files are only compiled when CONFIG_ADLIB is defined Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 41/81] Test if we need -lutil in ,/configure Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 42/81] Fold CURSES_LIBS into libsoftmmu_libs Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 43/81] Fold VNC_TLS_LIBS into libs_softmmu Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 44/81] Fold VNC_SASL_LIBS " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 45/81] Fold XEN_LIBS " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 46/81] Fold BLUEZ_LIBS " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 47/81] Fold FDT_LIBS " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 48/81] Fold BRLAPI_LIBS " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 49/81] remove duplicated TARGET_GPROF code Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 50/81] \!CONFIG_USER_ONLY == CONFIG_SOFTMMU Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 51/81] Introduce CONFIG_NOSOFTFLOAT and simplify Makefile.target Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 52/81] permit to add things to LDFLAGS for target Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 53/81] refactor linker_script common part and change quoting Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 54/81] permit to add things to CFLAGS per target Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 55/81] fix typo, there should be bsd_user there Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 56/81] Move alpha CFLAGS target to configure Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 57/81] Move ia64 QEMU_CFLAGS " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 58/81] this bit was already generated in configure Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 59/81] Fold TARGET_GPROF handling " Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 60/81] Generate more conmmon CFLAGS Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 61/81] Added CONFIG_NEED_MMU for microblaze and cris Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 62/81] Move dis-* selection to configure Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 63/81] Use only one KVM_CFLAGS Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 64/81] Use one less HELPER_CFLAGS Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 65/81] Make slirp include dir globlal in cflags Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 66/81] FMOD_CFLAGS is not set when CONFIG_FMOD is undef Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 67/81] AUDIO_PT is not needed Juan Quintela
2009-08-03 12:46 ` [Qemu-devel] [PATCH 68/81] Generate CONFIG_AUDIO_PT_INT in configure Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 69/81] CONFIG_POSIX makes more sense that not CONFIG_WIN32 Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 70/81] remove last 3 uses of :=, everywhere else uses += or = Juan Quintela
2009-08-26 21:10 ` Hollis Blanchard
2009-08-26 21:46 ` [Qemu-devel] " Juan Quintela
2009-08-26 22:15 ` Hollis Blanchard
2009-08-26 22:26 ` Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 71/81] Consolidate audio flags in configure Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 72/81] We also need TARGET_<arechname> in Makefiles Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 73/81] use TARGET_<arch name> for selection Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 74/81] Disable aio in mingw32 Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 75/81] Add libs_tools support Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 76/81] VDE libs are used both by tools and softmmu Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 77/81] CURL " Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 78/81] Add cocoa libs at Darwin selection time Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 79/81] convert gprof flags to style of rest of Makefile Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 80/81] Move libsunpath to use the same style than everything else Juan Quintela
2009-08-03 12:47 ` [Qemu-devel] [PATCH 81/81] rename aio/CONFIG_AIO to posix_aio/CONFIG_POSIX_AIO Juan Quintela
2009-08-10 14:46 ` Anthony Liguori
2009-08-10 14:48 ` Christoph Hellwig
2009-08-10 14:53 ` Anthony Liguori
2009-08-10 14:55 ` Christoph Hellwig
2009-08-10 15:22 ` [Qemu-devel] " Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1249301360.git.quintela@redhat.com \
--to=quintela@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).