Here is the patch series implementing the idea I mentioned a while ago. The first 14 introduce small changes to group pieces of code together and help understanding/reviewing the next changes. Most of them are just cosmetic changes, though some of them have small behavioral changes.
After these come 19 patches that introduce autoconf-compatible aliases for options not respecting the autoconf command-line syntax. The old versions are deprecated, but there is no change in semantics: the new aliases take exactly the same syntax. There are also patches also rename the "interp_prefix" and "source_path" concepts to "sysroot" and "srcdir", which is consistent with GNU Makefile standards and with the with the new aliasesnew aliases. Patches 34 to 36 introduce new command-line options for cross-compilation that are again compatible with the GNU standards. With these changes it is more or less possible to drop QEMU inside a GCC/binutils tree configured for cross-compilation and make it build together. Patch 37 is a simple change to the help text now that the command-line syntax is finalized. Patch 38 and 39, finally, make a few more baby steps using host triplets instead of custom feature detection. Paolo Bonzini (39): default compilation tools to environment variables default make and install to environment variables move feature variables to the top fix sparse support (?) test cc with the complete set of chosen flags include failed source file in config.log do not pass bogus $(srcdir) include paths to cc during configure provide portable sizeof(long) test fix spelling of $pkg_config, move default together with other cross tools do not default to non-prefixed pkg-config when cross compiling reorganize sdl-config tests move --srcdir detection earlier properly detect compiler in tests/Makefile remove HOST_CC mention from roms/{sea,vga}bios/config.mak let --host-cc slide into oblivion introduce CFLAGS= and LDFLAGS= configure command-line options introduce CPPFLAGS configure variable add autoconfy alias CC= for --cc add CPP variable add autoconfy aliases MAKE=/INSTALL= for --make and --install add autoconfy aliases --with-* for audio library options make trace options use autoconfy names deprecate --audio-card-list add autoconfy alias --enable-audio-drivers alias for --audio-drv-list add autoconfy alias --enable-block-drivers for --block-drv-whitelist add libtooly alias --enable-static for --static add autoconfy alias --with-sysroot for --interp-prefix rename interp_prefix to sysroot add autoconfy alias --enable-targets for --target-list add autoconfy alias --with-headers for --kerneldir add autoconfy alias --srcdir= for --source-path rename SRC_PATH to srcdir rename source_path to srcdir add autoconfy --host= option deprecating --cross-prefix add autoconfy --build= option to be used instead of undocumented --cpu add autoconfy --with-arch= option, compatible with --sparc-cpu make more options "standard" provide a more gnuish default sysroot use host triplets for feature detection Makefile | 54 +- Makefile.dis | 6 +- Makefile.hw | 8 +- Makefile.objs | 4 +- Makefile.target | 32 +- Makefile.user | 6 +- bsd-user/main.c | 10 +- config.guess | 1502 ++++++++++++++++++++++++++++++++++++++ config.sub | 1731 ++++++++++++++++++++++++++++++++++++++++++++ configure | 757 ++++++++++--------- create_config | 5 +- darwin-user/machload.c | 12 +- darwin-user/main.c | 6 +- darwin-user/syscall.c | 2 +- linux-user/main.c | 10 +- pc-bios/optionrom/Makefile | 8 +- rules.mak | 10 +- tests/Makefile | 16 +- tests/cris/Makefile | 6 +- 19 files changed, 3729 insertions(+), 456 deletions(-) create mode 100755 config.guess create mode 100755 config.sub -- 1.7.2.3