qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/81] More Makefile/configure simplification
@ 2009-08-03 12:45 Juan Quintela
  2009-08-03 12:45 ` [Qemu-devel] [PATCH 01/81] strip binary is not used anywhere Juan Quintela
                   ` (80 more replies)
  0 siblings, 81 replies; 91+ messages in thread
From: Juan Quintela @ 2009-08-03 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori

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(-)

^ permalink raw reply	[flat|nested] 91+ messages in thread

end of thread, other threads:[~2009-08-26 22:28 UTC | newest]

Thread overview: 91+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-03 12:45 [Qemu-devel] [PATCH v2 00/81] More Makefile/configure simplification Juan Quintela
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

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