X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=configure;h=6349d2e0f1f09932dde6edd13b69fd5b52f091b7;hb=f622d8a33dfbd83468d71e48624925c950b4010e;hp=249229363e005f6a4def0782187a5bd6c158f290;hpb=fa5e22cfc02dfed3d79e64e214b57f61ffafd8ea;p=mirror_qemu.git diff --git a/configure b/configure index 249229363e..6349d2e0f1 100755 --- a/configure +++ b/configure @@ -18,13 +18,13 @@ TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}" trap "rm -f $TMPC $TMPO $TMPE ; exit" 0 2 3 15 compile_object() { - $cc $CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null + $cc $QEMU_CFLAGS -c -o $TMPO $TMPC > /dev/null 2> /dev/null } compile_prog() { local_cflags="$1" local_ldflags="$2" - $cc $CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags > /dev/null 2> /dev/null + $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags > /dev/null 2> /dev/null } # default parameters @@ -44,6 +44,10 @@ make="make" install="install" objcopy="objcopy" ld="ld" +helper_cflags="" +libs_softmmu="" +libs_tools="" +audio_pt_int="" # parse CC options first for opt do @@ -55,7 +59,7 @@ for opt do ;; --cpu=*) cpu="$optarg" ;; - --extra-cflags=*) CFLAGS="$optarg $CFLAGS" + --extra-cflags=*) QEMU_CFLAGS="$optarg $QEMU_CFLAGS" ;; --extra-ldflags=*) LDFLAGS="$optarg $LDFLAGS" ;; @@ -224,7 +228,7 @@ fi case $targetos in CYGWIN*) mingw32="yes" - CFLAGS="-mno-cygwin $CFLAGS" + QEMU_CFLAGS="-mno-cygwin $QEMU_CFLAGS" audio_possible_drivers="sdl" ;; MINGW32*) @@ -277,16 +281,17 @@ Darwin) [ "$is_x86_64" = "1" ] && cpu=x86_64 fi if [ "$cpu" = "x86_64" ] ; then - CFLAGS="-arch x86_64 $CFLAGS" + QEMU_CFLAGS="-arch x86_64 $QEMU_CFLAGS" LDFLAGS="-arch x86_64 $LDFLAGS" else - CFLAGS="-mdynamic-no-pic $CFLAGS" + QEMU_CFLAGS="-mdynamic-no-pic $QEMU_CFLAGS" fi darwin_user="yes" cocoa="yes" audio_drv_list="coreaudio" audio_possible_drivers="coreaudio sdl fmod" LDFLAGS="-framework CoreFoundation -framework IOKit $LDFLAGS" + libs_softmmu="-F/System/Library/Frameworks -framework Cocoa -framework IOKit $libs_softmmu" ;; SunOS) solaris="yes" @@ -320,7 +325,8 @@ SunOS) audio_drv_list="oss" fi audio_possible_drivers="oss sdl" - CFLAGS="-std=gnu99 $CFLAGS" + QEMU_CFLAGS="-std=gnu99 $QEMU_CFLAGS" + LIBS="-lsocket -lnsl -lresolv $LIBS" ;; AIX) aix="yes" @@ -353,7 +359,9 @@ if test "$mingw32" = "yes" ; then kqemu="yes" fi EXESUF=".exe" - CFLAGS="-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 $CFLAGS" + QEMU_CFLAGS="-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 $QEMU_CFLAGS" + LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS" + aio=no fi # find source path @@ -513,44 +521,46 @@ done # # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right -# CFLAGS/LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit) +# QEMU_CFLAGS/LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit) # host_guest_base="no" case "$cpu" in sparc) case $sparc_cpu in v7|v8) - CFLAGS="-mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__ $CFLAGS" + QEMU_CFLAGS="-mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__ $QEMU_CFLAGS" ;; v8plus|v8plusa) - CFLAGS="-mcpu=ultrasparc -D__sparc_${sparc_cpu}__ $CFLAGS" + QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_${sparc_cpu}__ $QEMU_CFLAGS" ;; *) # sparc_cpu not defined in the command line - CFLAGS="-mcpu=ultrasparc -D__sparc_v8plus__ $CFLAGS" + QEMU_CFLAGS="-mcpu=ultrasparc -D__sparc_v8plus__ $QEMU_CFLAGS" esac LDFLAGS="-m32 $LDFLAGS" - CFLAGS="-m32 -ffixed-g2 -ffixed-g3 $CFLAGS" + QEMU_CFLAGS="-m32 -ffixed-g2 -ffixed-g3 $QEMU_CFLAGS" if test "$solaris" = "no" ; then - CFLAGS="-ffixed-g1 -ffixed-g6 $CFLAGS" + QEMU_CFLAGS="-ffixed-g1 -ffixed-g6 $QEMU_CFLAGS" + helper_cflags="-ffixed-i0" fi ;; sparc64) - CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__ $CFLAGS" + QEMU_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__ $QEMU_CFLAGS" LDFLAGS="-m64 $LDFLAGS" - CFLAGS="-ffixed-g5 -ffixed-g6 -ffixed-g7 $CFLAGS" + QEMU_CFLAGS="-ffixed-g5 -ffixed-g6 -ffixed-g7 $QEMU_CFLAGS" if test "$solaris" != "no" ; then - CFLAGS="-ffixed-g1 $CFLAGS" + QEMU_CFLAGS="-ffixed-g1 $QEMU_CFLAGS" fi ;; s390) - CFLAGS="-march=z900 $CFLAGS" + QEMU_CFLAGS="-march=z900 $QEMU_CFLAGS" ;; i386) - CFLAGS="-m32 $CFLAGS" + QEMU_CFLAGS="-m32 $QEMU_CFLAGS" LDFLAGS="-m32 $LDFLAGS" + helper_cflags="-fomit-frame-pointer" host_guest_base="yes" ;; x86_64) - CFLAGS="-m64 $CFLAGS" + QEMU_CFLAGS="-m64 $QEMU_CFLAGS" LDFLAGS="-m64 $LDFLAGS" host_guest_base="yes" ;; @@ -586,7 +596,7 @@ echo " --source-path=PATH path of source code [$source_path]" echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]" echo " --cc=CC use C compiler CC [$cc]" echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc." -echo " --extra-cflags=CFLAGS append extra C compiler flags CFLAGS" +echo " --extra-cflags=CFLAGS append extra C compiler flags QEMU_CFLAGS" echo " --extra-ldflags=LDFLAGS append extra linker flags LDFLAGS" echo " --make=MAKE use specified make [$make]" echo " --install=INSTALL use specified install [$install]" @@ -823,7 +833,7 @@ if test "$xen" = "yes" ; then int main(void) { xs_daemon_open(); xc_interface_open(); return 0; } EOF if compile_prog "" "$xen_libs" ; then - : + libs_softmmu="$xen_libs $libs_softmmu" else xen="no" fi @@ -882,6 +892,10 @@ EOF if compile_prog "$sdl_cflags" "$sdl_libs" ; then sdl_libs="$sdl_libs -lX11" fi + if test "$mingw32" = "yes" ; then + sdl_libs="`echo $sdl_libs | sed s/-mwindows//g` -mconsole" + fi + libs_softmmu="$sdl_libs $libs_softmmu" fi ########################################## @@ -894,7 +908,7 @@ EOF vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null` vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null` if compile_prog "$vnc_tls_cflags" "$vnc_tls_libs" ; then - : + libs_softmmu="$vnc_tls_libs $libs_softmmu" else vnc_tls="no" fi @@ -912,7 +926,7 @@ EOF vnc_sasl_cflags="" vnc_sasl_libs="-lsasl2" if compile_prog "$vnc_sasl_cflags" "$vnc_sasl_libs" ; then - : + libs_softmmu="$vnc_sasl_libs $libs_softmmu" else vnc_sasl="no" fi @@ -949,6 +963,8 @@ int main(void) EOF if compile_prog "" "$vde_libs" ; then vde=yes + libs_softmmu="$vde_libs $libs_softmmu" + libs_tools="$vde_libs $libs_tools" fi fi @@ -983,6 +999,7 @@ for drv in $audio_drv_list; do alsa) audio_drv_probe $drv alsa/asoundlib.h -lasound \ "snd_pcm_t **handle; return snd_pcm_close(*handle);" + libs_softmmu="-lasound $libs_softmmu" ;; fmod) @@ -994,18 +1011,35 @@ for drv in $audio_drv_list; do exit 1 fi audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc" + libs_softmmu="$fmod_lib $libs_softmmu" ;; esd) audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);' + libs_softmmu="-lesd $libs_softmmu" + audio_pt_int="yes" ;; pa) audio_drv_probe $drv pulse/simple.h -lpulse-simple \ "pa_simple *s = NULL; pa_simple_free(s); return 0;" + libs_softmmu="-lpulse-simple $libs_softmmu" + audio_pt_int="yes" + ;; + + coreaudio) + libs_softmmu="-framework CoreAudio $libs_softmmu" + ;; + + dsound) + libs_softmmu="-lole32 -ldxguid $libs_softmmu" ;; - oss|sdl|core|wav|dsound) + oss) + libs_softmmu="$oss_lib $libs_softmmu" + ;; + + sdl|wav) # XXX: Probes for CoreAudio, DirectSound, SDL(?) ;; @@ -1033,6 +1067,7 @@ int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); } EOF if compile_prog "" "$brlapi_libs" ; then brlapi=yes + libs_softmmu="$brlapi_libs $libs_softmmu" fi fi @@ -1048,9 +1083,9 @@ if test "$curses" = "yes" ; then int main(void) { resize_term(0, 0); return curses_version(); } EOF if compile_prog "" "-lncurses" ; then - curses_libs="-lncurses" + libs_softmmu="-lncurses $libs_softmmu" elif compile_prog "" "-lcurses" ; then - curses_libs="-lcurses" + libs_softmmu="-lcurses $libs_softmmu" else curses=no fi @@ -1069,6 +1104,8 @@ EOF curl_libs=`curl-config --libs 2>/dev/null` if compile_prog "$curl_cflags" "$curl_libs" ; then curl=yes + libs_tools="$curl_libs $libs_tools" + libs_softmmu="$curl_libs $libs_softmmu" fi fi # test "$curl" @@ -1085,7 +1122,7 @@ EOF bluez_cflags=`pkg-config --cflags bluez 2> /dev/null` bluez_libs=`pkg-config --libs bluez 2> /dev/null` if compile_prog "$bluez_cflags" "$bluez_libs" ; then - : + libs_softmmu="$bluez_libs $libs_softmmu" else bluez="no" fi @@ -1129,7 +1166,7 @@ EOF kvm="no"; if [ -x "`which awk 2>/dev/null`" ] && \ [ -x "`which grep 2>/dev/null`" ]; then - kvmerr=`LANG=C $cc $CFLAGS -o $TMPE $kvm_cflags $TMPC 2>&1 \ + kvmerr=`LANG=C $cc $QEMU_CFLAGS -o $TMPE $kvm_cflags $TMPC 2>&1 \ | grep "error: " \ | awk -F "error: " '{if (NR>1) printf(", "); printf("%s",$2);}'` if test "$kvmerr" != "" ; then @@ -1144,7 +1181,6 @@ fi ########################################## # pthread probe PTHREADLIBS_LIST="-lpthread -lpthreadGC2" -PTHREADLIBS="" if test "$pthread" = yes; then pthread=no @@ -1155,7 +1191,7 @@ EOF for pthread_lib in $PTHREADLIBS_LIST; do if compile_prog "" "$pthread_lib" ; then pthread=yes - PTHREADLIBS="$pthread_lib" + LIBS="$pthread_lib $LIBS" break fi done @@ -1202,6 +1238,7 @@ int main(void) { return 0; } EOF if compile_prog "" "$fdt_libs" ; then fdt=yes + libs_softmmu="$fdt_libs $libs_softmmu" fi fi @@ -1341,9 +1378,9 @@ int main(void) { clockid_t id; return clock_gettime(id, NULL); } EOF if compile_prog "" "" ; then - CLOCKLIBS="" + : elif compile_prog "" "-lrt" ; then - CLOCKLIBS="-lrt" + LIBS="-lrt $LIBS" fi # Determine what linker flags to use to force archive inclusion @@ -1377,15 +1414,25 @@ else exit 1 fi +if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaries" != yes -a \ + "$aix" != "yes" ; then + libs_softmmu="-lutil $libs_softmmu" +fi + # End of CC checks # After here, no more $cc or $ld runs # default flags for all hosts -CFLAGS="-g -fno-strict-aliasing $CFLAGS" +QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS" +CFLAGS="-g $CFLAGS" if test "$debug" = "no" ; then CFLAGS="-O2 $CFLAGS" fi -CFLAGS="-Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls $CFLAGS" +QEMU_CFLAGS="-Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS" +QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS" +QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS" +QEMU_CFLAGS="-U_FORTIFY_SOURCE $QEMU_CFLAGS" +QEMU_CFLAGS="-I. -I\$(SRC_PATH) -MMD -MP -MT \$@ $QEMU_CFLAGS" LDFLAGS="-g $LDFLAGS" # Consult white-list to determine whether to enable werror @@ -1401,7 +1448,7 @@ if test -z "$werror" ; then fi if test "$werror" = "yes" ; then - CFLAGS="-Werror $CFLAGS" + QEMU_CFLAGS="-Werror $QEMU_CFLAGS" fi if test "$solaris" = "no" ; then @@ -1439,6 +1486,7 @@ echo "Source path $source_path" echo "C compiler $cc" echo "Host C compiler $host_cc" echo "CFLAGS $CFLAGS" +echo "QEMU_CFLAGS $QEMU_CFLAGS" echo "LDFLAGS $LDFLAGS" echo "make $make" echo "install $install" @@ -1557,9 +1605,6 @@ if test "$solaris" = "yes" ; then echo "CONFIG_NEEDS_LIBSUNMATH=y" >> $config_host_mak fi fi -if test "$gprof" = "yes" ; then - echo "TARGET_GPROF=yes" >> $config_host_mak -fi if test "$static" = "yes" ; then echo "CONFIG_STATIC=y" >> $config_host_mak LDFLAGS="-static $LDFLAGS" @@ -1569,10 +1614,10 @@ if test $profiler = "yes" ; then fi if test "$slirp" = "yes" ; then echo "CONFIG_SLIRP=y" >> $config_host_mak + CFLAGS="-I\$(SRC_PATH)/slirp $CFLAGS" fi if test "$vde" = "yes" ; then echo "CONFIG_VDE=y" >> $config_host_mak - echo "VDE_LIBS=$vde_libs" >> $config_host_mak fi for card in $audio_card_list; do def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'` @@ -1583,24 +1628,22 @@ for drv in $audio_drv_list; do def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'` echo "$def=y" >> $config_host_mak if test "$drv" = "fmod"; then - echo "FMOD_LIBS=$fmod_lib" >> $config_host_mak echo "FMOD_CFLAGS=-I$fmod_inc" >> $config_host_mak - elif test "$drv" = "oss"; then - echo "OSS_LIBS=$oss_lib" >> $config_host_mak fi done +if test "$audio_pt_int" = "yes" ; then + echo "CONFIG_AUDIO_PT_INT=y" >> $config_host_mak +fi if test "$mixemu" = "yes" ; then echo "CONFIG_MIXEMU=y" >> $config_host_mak fi if test "$vnc_tls" = "yes" ; then echo "CONFIG_VNC_TLS=y" >> $config_host_mak echo "VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_host_mak - echo "VNC_TLS_LIBS=$vnc_tls_libs" >> $config_host_mak fi if test "$vnc_sasl" = "yes" ; then echo "CONFIG_VNC_SASL=y" >> $config_host_mak echo "VNC_SASL_CFLAGS=$vnc_sasl_cflags" >> $config_host_mak - echo "VNC_SASL_LIBS=$vnc_sasl_libs" >> $config_host_mak fi if test "$fnmatch" = "yes" ; then echo "CONFIG_FNMATCH=y" >> $config_host_mak @@ -1618,7 +1661,6 @@ if [ "$build_docs" = "yes" ] ; then fi if test "$sdl" = "yes" ; then echo "CONFIG_SDL=y" >> $config_host_mak - echo "SDL_LIBS=$sdl_libs" >> $config_host_mak echo "SDL_CFLAGS=$sdl_cflags" >> $config_host_mak fi if test "$cocoa" = "yes" ; then @@ -1626,7 +1668,6 @@ if test "$cocoa" = "yes" ; then fi if test "$curses" = "yes" ; then echo "CONFIG_CURSES=y" >> $config_host_mak - echo "CURSES_LIBS=$curses_libs" >> $config_host_mak fi if test "$atfile" = "yes" ; then echo "CONFIG_ATFILE=y" >> $config_host_mak @@ -1652,20 +1693,16 @@ fi if test "$curl" = "yes" ; then echo "CONFIG_CURL=y" >> $config_host_mak echo "CURL_CFLAGS=$curl_cflags" >> $config_host_mak - echo "CURL_LIBS=$curl_libs" >> $config_host_mak fi if test "$brlapi" = "yes" ; then echo "CONFIG_BRLAPI=y" >> $config_host_mak - echo "BRLAPI_LIBS=$brlapi_libs" >> $config_host_mak fi if test "$bluez" = "yes" ; then echo "CONFIG_BLUEZ=y" >> $config_host_mak echo "BLUEZ_CFLAGS=$bluez_cflags" >> $config_host_mak - echo "BLUEZ_LIBS=$bluez_libs" >> $config_host_mak fi if test "$xen" = "yes" ; then echo "CONFIG_XEN=y" >> $config_host_mak - echo "XEN_LIBS=$xen_libs" >> $config_host_mak fi if test "$aio" = "yes" ; then echo "CONFIG_AIO=y" >> $config_host_mak @@ -1684,7 +1721,6 @@ if test "$preadv" = "yes" ; then fi if test "$fdt" = "yes" ; then echo "CONFIG_FDT=y" >> $config_host_mak - echo "FDT_LIBS=$fdt_libs" >> $config_host_mak fi # XXX: suppress that @@ -1739,19 +1775,20 @@ echo "HOST_CC=$host_cc" >> $config_host_mak if test "$sparse" = "yes" ; then echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_host_mak echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_host_mak - echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_host_mak + echo "QEMU_CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_host_mak fi echo "AR=$ar" >> $config_host_mak echo "OBJCOPY=$objcopy" >> $config_host_mak echo "LD=$ld" >> $config_host_mak echo "CFLAGS=$CFLAGS" >> $config_host_mak +echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak +echo "HELPER_CFLAGS=$helper_cflags" >> $config_host_mak echo "LDFLAGS=$LDFLAGS" >> $config_host_mak echo "ARLIBS_BEGIN=$arlibs_begin" >> $config_host_mak echo "ARLIBS_END=$arlibs_end" >> $config_host_mak -echo "LIBS=$LIBS" >> $config_host_mak +echo "LIBS+=$LIBS" >> $config_host_mak +echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak echo "EXESUF=$EXESUF" >> $config_host_mak -echo "PTHREADLIBS=$PTHREADLIBS" >> $config_host_mak -echo "CLOCKLIBS=$CLOCKLIBS" >> $config_host_mak echo "/* Automatically generated by configure - do not modify */" > $config_host_h @@ -1951,6 +1988,8 @@ case "$target_arch2" in ;; esac echo "TARGET_ARCH=$TARGET_ARCH" >> $config_mak +target_arch_name="`echo $TARGET_ARCH | tr '[:lower:]' '[:upper:]'`" +echo "TARGET_$target_arch_name=y" >> $config_mak echo "TARGET_ARCH2=$target_arch2" >> $config_mak # TARGET_BASE_ARCH needs to be defined after TARGET_ARCH if [ "$TARGET_BASE_ARCH" = "" ]; then @@ -1995,6 +2034,7 @@ if test "$target_bigendian" = "yes" ; then fi if test "$target_softmmu" = "yes" ; then echo "CONFIG_SOFTMMU=y" >> $config_mak + echo "LIBS+=$libs_softmmu" >> $config_mak fi if test "$target_user_only" = "yes" ; then echo "CONFIG_USER_ONLY=y" >> $config_mak @@ -2017,6 +2057,9 @@ case "$target_arch2" in arm|armeb|m68k|microblaze|mips|mipsel|mipsn32|mipsn32el|mips64|mips64el|ppc|ppc64|ppc64abi32|ppcemb|sparc|sparc64|sparc32plus) echo "CONFIG_SOFTFLOAT=y" >> $config_mak ;; + *) + echo "CONFIG_NOSOFTFLOAT=y" >> $config_mak + ;; esac if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then @@ -2037,44 +2080,134 @@ if test "$target_bsd_user" = "yes" ; then echo "CONFIG_BSD_USER=y" >> $config_mak fi -# generate LDFLAGS for targets +# generate QEMU_CFLAGS/LDFLAGS for targets +cflags="" ldflags="" -if test "$target_linux_user" = "yes" -o "$target_linux_user" = "yes" ; then + +if test "$ARCH" = "sparc64" ; then + cflags="-I\$(SRC_PATH)/tcg/sparc $cflags" +else + cflags="-I\$(SRC_PATH)/tcg/\$(ARCH) $cflags" +fi +cflags="-I\$(SRC_PATH)/tcg $cflags" +cflags="-I\$(SRC_PATH)/fpu $cflags" + +for i in $ARCH $TARGET_BASE_ARCH ; do + case "$i" in + alpha) + echo "CONFIG_ALPHA_DIS=y" >> $config_mak + ;; + arm) + echo "CONFIG_ARM_DIS=y" >> $config_mak + ;; + cris) + echo "CONFIG_CRIS_DIS=y" >> $config_mak + ;; + hppa) + echo "CONFIG_HPPA_DIS=y" >> $config_mak + ;; + i386|x86_64) + echo "CONFIG_I386_DIS=y" >> $config_mak + ;; + m68k) + echo "CONFIG_M68K_DIS=y" >> $config_mak + ;; + microblaze) + echo "CONFIG_MICROBLAZE_DIS=y" >> $config_mak + ;; + mips*) + echo "CONFIG_MIPS_DIS=y" >> $config_mak + ;; + ppc*) + echo "CONFIG_PPC_DIS=y" >> $config_mak + ;; + s390) + echo "CONFIG_S390_DIS=y" >> $config_mak + ;; + sh4) + echo "CONFIG_SH4_DIS=y" >> $config_mak + ;; + sparc*) + echo "CONFIG_SPARC_DIS=y" >> $config_mak + ;; + esac +done + +case "$ARCH" in +alpha) + # Ensure there's only a single GP + cflags="-msmall-data $cflags" +;; +ia64) + cflags="-mno-sdata $cflags" +;; +esac + +if test "$target_softmmu" = "yes" ; then + case "$TARGET_BASE_ARCH" in + arm) + cflags="-DHAS_AUDIO $cflags" + ;; + i386|mips|ppc) + cflags="-DHAS_AUDIO -DHAS_AUDIO_CHOICE $cflags" + ;; + esac +fi + +if test "$target_softmmu" = "yes" -a \( \ + "$TARGET_ARCH" = "microblaze" -o \ + "$TARGET_ARCH" = "cris" \) ; then + echo "CONFIG_NEED_MMU=y" >> $config_mak +fi + +if test "$gprof" = "yes" ; then + echo "TARGET_GPROF=yes" >> $config_mak + if test "$target_linux_user" = "yes" ; then + cflags="-p $cflags" + ldflags="-p $ldflags" + fi + if test "$target_softmmu" = "yes" ; then + ldflags="-p $ldflags" + echo "GPROF_CFLAGS=-p" >> $config_mak + fi +fi + +linker_script="-Wl,-T../config-host.ld -Wl,-T,\$(SRC_PATH)/\$(ARCH).ld" +if test "$target_linux_user" = "yes" -o "$target_bsd_user" = "yes" ; then case "$ARCH" in i386) if test "$gprof" = "yes" -o "$static" = "yes" ; then - ldflags='-Wl,-T../config-host.ld -Wl,-T,$(SRC_PATH)/$(ARCH).ld' + ldflags="$linker_script $ldflags" else # WARNING: this LDFLAGS is _very_ tricky : qemu is an ELF shared object # that the kernel ELF loader considers as an executable. I think this # is the simplest way to make it self virtualizable! - ldflags='-Wl,-shared' + ldflags="-Wl,-shared $ldflags" fi ;; sparc) # -static is used to avoid g1/g3 usage by the dynamic linker - ldflags='-Wl,-T../config-host.ld -Wl,-T,$(SRC_PATH)/$(ARCH).ld -static' + ldflags="$linker_script -static $ldflags" ;; ia64) - ldflags='-Wl,-G0 -Wl,-T../config-host.ld -Wl,-T,$(SRC_PATH)/$(ARCH).ld -static' + ldflags="-Wl,-G0 $linker_script -static $ldflags" ;; x86_64|ppc|ppc64|s390|sparc64|alpha|arm|m68k|mips|mips64) - ldflags='-Wl,-T../config-host.ld -Wl,-T,$(SRC_PATH)/$(ARCH).ld' + ldflags="$linker_script $ldflags" ;; esac fi if test "$target_softmmu" = "yes" ; then case "$ARCH" in ia64) - ldflags='-Wl,-G0 -Wl,-T../config-host.ld -Wl,-T,$(SRC_PATH)/$(ARCH).ld -static' + ldflags="-Wl,-G0 $linker_script -static $ldflags" ;; esac fi -if test "$ldflags" != "" ; then - echo "LDFLAGS+=$ldflags" >> $config_mak -fi +echo "LDFLAGS+=$ldflags" >> $config_mak +echo "QEMU_CFLAGS+=$cflags" >> $config_mak echo "/* Automatically generated by configure - do not modify */" > $config_h echo "#include \"../config-host.h\"" >> $config_h @@ -2117,5 +2250,5 @@ for hwlib in 32 64; do rm -f $d/Makefile ln -s $source_path/Makefile.hw $d/Makefile echo "HWLIB=libqemuhw$hwlib.a" > $d/config.mak - echo "CPPFLAGS=-DTARGET_PHYS_ADDR_BITS=$hwlib" >> $d/config.mak + echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" >> $d/config.mak done