Commit 11d9f695 authored by Fabrice Bellard's avatar Fabrice Bellard
Browse files

win32 cross compile fix


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@694 c046a42c-6fe2-441c-8c8c-71466251a162
parent 0c607d57
Loading
Loading
Loading
Loading
+14 −13
Original line number Diff line number Diff line
@@ -16,14 +16,11 @@ all: dyngen$(EXESUF) $(TOOLS) qemu-doc.html qemu.1
	make -C $$d $@ || exit 1 ; \
        done

qemu-mkcow: qemu-mkcow.o
	$(HOST_CC) -o $@ $^  $(LIBS)
qemu-mkcow: qemu-mkcow.c
	$(CC) $(CFLAGS) $(DEFINES) -o $@ $^ $(LIBS)

dyngen$(EXESUF): dyngen.o
	$(HOST_CC) -o $@ $^  $(LIBS)

%.o: %.c
	$(HOST_CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
dyngen$(EXESUF): dyngen.c
	$(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^

clean:
# avoid old build problems by removing potentially incorrect old files
@@ -41,13 +38,17 @@ distclean: clean
        done

install: all 
	mkdir -p $(prefix)/bin
	install -m 755 -s $(TOOLS) $(prefix)/bin
	mkdir -p $(sharedir)
	mkdir -p "$(bindir)"
ifndef CONFIG_WIN32
	install -m 755 -s $(TOOLS) "$(bindir)"
endif
	mkdir -p "$(sharedir)"
	install -m 644 pc-bios/bios.bin pc-bios/vgabios.bin \
                       pc-bios/linux_boot.bin $(sharedir)
	mkdir -p $(mandir)/man1
	install qemu.1 qemu-mkcow.1 $(mandir)/man1
                       pc-bios/linux_boot.bin "$(sharedir)"
ifndef CONFIG_WIN32
	mkdir -p "$(mandir)/man1"
	install qemu.1 qemu-mkcow.1 "$(mandir)/man1"
endif
	for d in $(TARGET_DIRS); do \
	make -C $$d $@ || exit 1 ; \
        done
+5 −2
Original line number Diff line number Diff line
@@ -246,9 +246,12 @@ endif
ifndef CONFIG_SOFTMMU
VL_LDFLAGS+=-Wl,-T,$(SRC_PATH)/i386-vl.ld 
endif
ifndef CONFIG_WIN32
VL_LIBS=-lutil
endif

$(QEMU_SYSTEM): $(VL_OBJS) libqemu.a
	$(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) -lutil 
	$(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VL_LIBS)

sdl.o: sdl.c
	$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
@@ -309,7 +312,7 @@ clean:

install: all 
ifneq ($(PROGS),)
	install -m 755 -s $(PROGS) $(prefix)/bin
	install -m 755 -s $(PROGS) "$(bindir)"
endif

ifneq ($(wildcard .depend),)
+45 −24
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"

# default parameters
prefix="/usr/local"
prefix=""
interp_prefix="/usr/gnemul/qemu-%M"
static="no"
cross_prefix=""
@@ -81,26 +81,6 @@ mingw32="yes"
*) ;;
esac

##########################################
# 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

sdl_too_old=no
sdl=no
if $cc -o $TMPE `sdl-config --cflags` $TMPC `sdl-config --libs`  2> /dev/null  ; then
_sdlversion=`sdl-config --version | sed 's/[^0-9]//g'`
if test "$_sdlversion" -lt 121 ; then
sdl_too_old=yes
else
sdl=yes
fi
fi

# find source path
# XXX: we assume an absolute path is given when launching configure, 
# except in './configure' case.
@@ -157,9 +137,7 @@ ar="${cross_prefix}${ar}"
strip="${cross_prefix}${strip}"

if test "$mingw32" = "yes" ; then
    host_cc="$cc"
    target_list="i386-softmmu"
    prefix="/c/Program Files/Qemu"
    EXESUF=".exe"
    gdbstub="no"
fi
@@ -202,6 +180,31 @@ if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/nu
   have_gcc3_options="yes"
fi

##########################################
# SDL probe

sdl_too_old=no

if test -z "$sdl" ; then

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

sdl=no
if $cc -o $TMPE `sdl-config --cflags` $TMPC `sdl-config --libs`  2> /dev/null  ; then
_sdlversion=`sdl-config --version | sed 's/[^0-9]//g'`
if test "$_sdlversion" -lt 121 ; then
sdl_too_old=yes
else
sdl=yes
fi
fi

fi

if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
cat << EOF

@@ -228,13 +231,29 @@ echo "NOTE: The object files are build at the place where configure is launched"
exit 1
fi

if test "$mingw32" = "yes" ; then
if test -z "$prefix" ; then
    prefix="/c/Program Files/Qemu"
fi
mandir="$prefix"
sharedir="$prefix"
bindir="$prefix"
else
if test -z "$prefix" ; then
    prefix="/usr/local"
fi
mandir="$prefix/share/man"
sharedir="$prefix/share/qemu"
bindir="$prefix/bin"
fi

echo "Install prefix    $prefix"
echo "Manual directory  $mandir"
echo "BIOS directory    $sharedir"
echo "binary directory  $bindir"
if test "$mingw32" = "no" ; then
echo "Manual directory  $mandir"
echo "ELF interp prefix $interp_prefix"
fi
echo "Source path       $source_path"
echo "C compiler        $cc"
echo "make              $make"
@@ -259,6 +278,7 @@ echo "# Automatically generated by configure - do not modify" > $config_mak
echo "/* Automatically generated by configure - do not modify */" > $config_h

echo "prefix=$prefix" >> $config_mak
echo "bindir=$bindir" >> $config_mak
echo "mandir=$mandir" >> $config_mak
echo "sharedir=$sharedir" >> $config_mak
echo "#define CONFIG_QEMU_SHAREDIR \"$sharedir\"" >> $config_h
@@ -316,6 +336,7 @@ if test "$bigendian" = "yes" ; then
fi
if test "$mingw32" = "yes" ; then
  echo "CONFIG_WIN32=yes" >> $config_mak
  echo "#define CONFIG_WIN32 1" >> $config_h
else
  echo "#define HAVE_BYTESWAP_H 1" >> $config_h
fi
+3 −1
Original line number Diff line number Diff line
@@ -30,7 +30,9 @@

#include "config-host.h"

#if defined(_WIN32)
/* NOTE: we test CONFIG_WIN32 instead of _WIN32 to enabled cross
   compilation */
#if defined(CONFIG_WIN32)
#define CONFIG_FORMAT_COFF
#else
#define CONFIG_FORMAT_ELF