aboutsummaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@opensolaris.org>2010-01-06 20:24:05 +0100
committerBlue Swirl <blauwirbel@gmail.com>2010-01-07 18:08:53 +0000
commit0e8c9214ba1d4128cf92442cd343bc3733478261 (patch)
tree8995d2c08ca05c52b7c128c8f397330a52ca6584 /configure
parent18cb1d85578e03b16570d9380309cca673f9fff8 (diff)
downloadqemu-0e8c9214ba1d4128cf92442cd343bc3733478261.zip
qemu-0e8c9214ba1d4128cf92442cd343bc3733478261.tar.gz
qemu-0e8c9214ba1d4128cf92442cd343bc3733478261.tar.bz2
Drop --whole-archive and static libraries
Juan has contributed a cool Makefile infrastructure that enables us to drop static libraries completely: Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-}, and link those object files directly into the executables. Replace HWLIB by HWDIR, specifying only the directory. Drop --whole-archive and ARLIBS in Makefiles and configure. Drop GENERATED_HEADERS dependency in rules.mak, since this rebuilds all common objects after generating a target-specific header; add dependency rules to Makefile and Makefile.target instead. v2: - Don't try to include /config.mak for user emulators - Changes to user object paths ("Quickfix for libuser.a drop") were obsoleted by "user_only: compile everything with -fpie" (Kirill A. Shutemov) v3: - Fix dependency modelling for tools - Remove comment on GENERATED_HEADERS obsoleted by this patch Signed-off-by: Andreas Färber <afaerber@opensolaris.org> Cc: Blue Swirl <blauwirbel@gmail.com> Cc: Palle Lyckegaard <palle@lyckegaard.dk> Cc: Ben Taylor <bentaylor.solx86@gmail.com> Cc: Juan Quintela <quintela@trasno.org> Cc: Kirill A. Shutemov <kirill@shutemov.name> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure34
1 files changed, 1 insertions, 33 deletions
diff --git a/configure b/configure
index 18aed43..1e9dd04 100755
--- a/configure
+++ b/configure
@@ -1707,37 +1707,6 @@ elif compile_prog "" "-lrt" ; then
LIBS="-lrt $LIBS"
fi
-# Determine what linker flags to use to force archive inclusion
-check_linker_flags()
-{
- w2=
- if test "$2" ; then
- w2=-Wl,$2
- fi
- compile_prog "" "-Wl,$1 ${w2}"
-}
-
-cat > $TMPC << EOF
-int main(void) { }
-EOF
-if check_linker_flags --whole-archive --no-whole-archive ; then
- # GNU ld
- arlibs_begin="-Wl,--whole-archive"
- arlibs_end="-Wl,--no-whole-archive"
-elif check_linker_flags -z,allextract -z,defaultextract ; then
- # Solaris ld
- arlibs_begin="-Wl,-z,allextract"
- arlibs_end="-Wl,-z,defaultextract"
-elif check_linker_flags -all_load ; then
- # Mac OS X
- arlibs_begin="-all_load"
- arlibs_end=""
-else
- echo "Error: your linker does not support --whole-archive or -z."
- echo "Please report to qemu-devel@nongnu.org"
- exit 1
-fi
-
if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
"$aix" != "yes" ; then
libs_softmmu="-lutil $libs_softmmu"
@@ -2427,7 +2396,7 @@ fi
if test "$target_softmmu" = "yes" ; then
echo "CONFIG_SOFTMMU=y" >> $config_target_mak
echo "LIBS+=$libs_softmmu" >> $config_target_mak
- echo "HWLIB=../libhw$target_phys_bits/libqemuhw$target_phys_bits.a" >> $config_target_mak
+ echo "HWDIR=../libhw$target_phys_bits" >> $config_target_mak
echo "subdir-$target: subdir-libhw$target_phys_bits" >> $config_host_mak
fi
if test "$target_user_only" = "yes" ; then
@@ -2644,7 +2613,6 @@ for hwlib in 32 64; do
mkdir -p $d
rm -f $d/Makefile
ln -s $source_path/Makefile.hw $d/Makefile
- echo "HWLIB=libqemuhw$hwlib.a" > $d/config.mak
echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" >> $d/config.mak
done