qemu-devel
[Top][All Lists]
Advanced

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





reply via email to

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