diff options
-rw-r--r-- | Makefile | 15 | ||||
-rw-r--r-- | block.c | 2 | ||||
-rwxr-xr-x | configure | 82 |
3 files changed, 56 insertions, 43 deletions
@@ -46,7 +46,10 @@ recurse-all: $(SUBDIR_RULES) BLOCK_OBJS=cutils.o qemu-malloc.o BLOCK_OBJS+=block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o BLOCK_OBJS+=block-dmg.o block-bochs.o block-vpc.o block-vvfat.o -BLOCK_OBJS+=block-qcow2.o block-parallels.o block-nbd.o +BLOCK_OBJS+=block-qcow2.o block-parallels.o +ifndef CONFIG_WIN32 +BLOCK_OBJS+=block-nbd.o +endif ###################################################################### # libqemu_common.a: Target independent part of system emulation. The @@ -54,10 +57,14 @@ BLOCK_OBJS+=block-qcow2.o block-parallels.o block-nbd.o # system emulation, i.e. a single QEMU executable should support all # CPUs and machines. -OBJS=nbd.o $(BLOCK_OBJS) +OBJS=$(BLOCK_OBJS) OBJS+=readline.o console.o OBJS+=block.o +ifndef CONFIG_WIN32 +OBJS+=nbd.o +endif + OBJS+=irq.o OBJS+=i2c.o smbus.o smbus_eeprom.o max7310.o max111x.o wm8750.o OBJS+=ssd0303.o ssd0323.o ads7846.o stellaris_input.o twl92230.o @@ -166,11 +173,11 @@ libqemu_user.a: $(USER_OBJS) rm -f $@ $(AR) rcs $@ $(USER_OBJS) -QEMU_IMG_BLOCK_OBJS = nbd.o $(BLOCK_OBJS) +QEMU_IMG_BLOCK_OBJS = $(BLOCK_OBJS) ifdef CONFIG_WIN32 QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-win32.o else -QEMU_IMG_BLOCK_OBJS += qemu-img-block-raw-posix.o +QEMU_IMG_BLOCK_OBJS += nbd.o qemu-img-block-raw-posix.o endif ###################################################################### @@ -1332,7 +1332,9 @@ void bdrv_init(void) bdrv_register(&bdrv_vvfat); bdrv_register(&bdrv_qcow2); bdrv_register(&bdrv_parallels); +#ifndef _WIN32 bdrv_register(&bdrv_nbd); +#endif } void *qemu_aio_get(BlockDriverState *bs, BlockDriverCompletionFunc *cb, @@ -283,8 +283,6 @@ for opt do ;; --disable-vnc-tls) vnc_tls="no" ;; - --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no" - ;; --disable-slirp) slirp="no" ;; --disable-vde) vde="no" @@ -347,13 +345,6 @@ for opt do esac done -if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then - AIOLIBS= -else - # Some Linux architectures (e.g. s390) don't imply -lpthread automatically. - AIOLIBS="-lrt -lpthread" -fi - # default flags for all hosts CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing" LDFLAGS="$LDFLAGS -g" @@ -423,7 +414,6 @@ echo " --static enable static build [$static]" echo " --disable-werror disable compilation abort on warning" echo " --disable-sdl disable SDL" echo " --enable-cocoa enable COCOA (Mac OS X only)" -echo " --enable-mingw32 enable Win32 cross compilation with mingw32" echo " --audio-drv-list=LIST set audio drivers list:" echo " Available drivers: $audio_possible_drivers" echo " --audio-card-list=LIST set list of additional emulated audio cards" @@ -467,10 +457,31 @@ else exit 1 fi +# check compiler to see if we're on mingw32 +cat > $TMPC <<EOF +#include <windows.h> +#ifndef _WIN32 +#error not windows +#endif +int main(void) {} +EOF + +if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then + mingw32="yes" +fi + if test "$mingw32" = "yes" ; then linux="no" EXESUF=".exe" oss="no" + linux_user="no" +fi + +if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then + AIOLIBS= +else + # Some Linux architectures (e.g. s390) don't imply -lpthread automatically. + AIOLIBS="-lrt -lpthread" fi # Check for gcc4, error if pre-gcc4 @@ -700,42 +711,35 @@ if test -z "$sdl" ; then sdl=no sdl_static=no - if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then - # win32 cross compilation case - sdl_config="i386-mingw32msvc-sdl-config" - sdl=yes - else - # normal SDL probe cat > $TMPC << EOF #include <SDL.h> #undef main /* We don't want SDL to override our main() */ int main( void ) { return SDL_Init (SDL_INIT_VIDEO); } EOF - if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then - _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'` - if test "$_sdlversion" -lt 121 ; then - sdl_too_old=yes - else - if test "$cocoa" = "no" ; then - sdl=yes - fi + if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then + _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'` + if test "$_sdlversion" -lt 121 ; then + sdl_too_old=yes + else + if test "$cocoa" = "no" ; then + sdl=yes fi + fi - # static link with sdl ? - if test "$sdl" = "yes" ; then - aa="no" - `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes" - sdl_static_libs=`$sdl_config --static-libs 2>/dev/null` - if [ "$aa" = "yes" ] ; then - sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`" - fi - - if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then - sdl_static=yes - fi - fi # static link - fi # sdl compile test - fi # cross compilation + # static link with sdl ? + if test "$sdl" = "yes" ; then + aa="no" + `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes" + sdl_static_libs=`$sdl_config --static-libs 2>/dev/null` + if [ "$aa" = "yes" ] ; then + sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`" + fi + + if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then + sdl_static=yes + fi + fi # static link + fi # sdl compile test else # Make sure to disable cocoa if sdl was set if test "$sdl" = "yes" ; then |