]> git.proxmox.com Git - mirror_qemu.git/commitdiff
win32 cross compile fix
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 2 Apr 2004 20:55:59 +0000 (20:55 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 2 Apr 2004 20:55:59 +0000 (20:55 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@694 c046a42c-6fe2-441c-8c8c-71466251a162

Makefile
Makefile.target
configure
dyngen.c

index f2be1f6f8a033a3785e1ea96a2561f9f91b075c8..fc9d74f9c6b61076f7c402f01d5ffb8f8d60ecc7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -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
index 1b578d0fd2c56ebf278b9f16fd46799d5c34542e..9fe3e83ed48600f4478b0dedf6d58c8e951e4748 100644 (file)
@@ -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),)
index 75340eae13e305546ba9550f6a6d4a26bea28fb8..4f66317e46cb3130f57ce5533cbb610d1ee1973f 100755 (executable)
--- a/configure
+++ b/configure
@@ -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
index a817d62c9310ff497764fd81a325712c5742dc45..b10909e78d1a26cde79ea8cc750c0fd8272c5366 100644 (file)
--- a/dyngen.c
+++ b/dyngen.c
@@ -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