- changes for better MSVC support based on patch #735990

* support for different resource compilers added (rc / windres)
  * bochs must be linked with advapi.lib for registry access
  * optimization flag changed to /Ox
  * symbols BX_HAVE_MKSTEMP, BX_HAVE_SYS_MMAN_H and HAVE_ETHERTAP must be set to 0
  * BX_HAVE_REALTIME_USEC definition fixed for MSVC
  * vmware3.h: definition of COW_Header fixed for MSVC
This commit is contained in:
Volker Ruppert 2003-06-06 19:57:25 +00:00
parent d1e2ddae5d
commit 4d25b39655
5 changed files with 463 additions and 459 deletions

View File

@ -76,6 +76,7 @@ ZIP=zip
UNIX2DOS=unix2dos
LIBTOOL=@LIBTOOL@
DLLTOOL=dlltool
RC_CMD=@RC_CMD@
@SUFFIX_LINE@
@ -106,7 +107,7 @@ GUI_LINK_OPTS_RFB = @RFB_LIBS@
GUI_LINK_OPTS_AMIGAOS =
GUI_LINK_OPTS_WIN32 = -luser32 -lgdi32 -lcomdlg32 -lcomctl32
GUI_LINK_OPTS_WIN32_VCPP = user32.lib gdi32.lib winmm.lib \
comdlg32.lib comctl32.lib wsock32.lib
comdlg32.lib comctl32.lib wsock32.lib advapi.lib
GUI_LINK_OPTS_MACOS =
GUI_LINK_OPTS_CARBON = -framework Carbon
GUI_LINK_OPTS_NOGUI =
@ -241,7 +242,7 @@ $(BX_OBJS): $(BX_INCLUDES)
bxversion.h:
$(RM) -f bxversion.h
echo '/////////////////////////////////////////////////////////////////////////' > bxversion.h
echo '// $$Id: Makefile.in,v 1.151 2003-05-25 09:48:08 vruppert Exp $$' >> bxversion.h
echo '// $$Id: Makefile.in,v 1.152 2003-06-06 19:57:17 vruppert Exp $$' >> bxversion.h
echo '/////////////////////////////////////////////////////////////////////////' >> bxversion.h
echo '// This file is generated by "make bxversion.h"' >> bxversion.h
echo "#define VER_STRING \"$(VER_STRING)\"" >> bxversion.h
@ -303,7 +304,7 @@ wxbochs_resources.o: wxbochs.rc
# for win32 gui
win32res.o: win32res.rc
windres $(srcdir)/win32res.rc -o $@
$(RC_CMD)$@ $(srcdir)/win32res.rc
#####################################################################
# Install target for all platforms.

View File

@ -195,7 +195,11 @@
#define BX_HAVE_SOCKLEN_T 0
#define BX_HAVE_SOCKADDR_IN_SIN_LEN 0
#define BX_HAVE_GETTIMEOFDAY 0
#define BX_HAVE_REALTIME_USEC (BX_HAVE_GETTIMEOFDAY || defined(WIN32))
#if defined(WIN32)
#define BX_HAVE_REALTIME_USEC 1
#else
#define BX_HAVE_REALTIME_USEC (BX_HAVE_GETTIMEOFDAY)
#endif
#define BX_HAVE_MKSTEMP 0
#define BX_HAVE_SYS_MMAN_H 0

875
bochs/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@ dnl // Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
AC_INIT(bochs.h)
AC_REVISION([[$Id: configure.in,v 1.213 2003-05-30 08:57:25 sshwarts Exp $]])
AC_REVISION([[$Id: configure.in,v 1.214 2003-06-06 19:57:25 vruppert Exp $]])
AC_CONFIG_HEADER(config.h)
AC_CONFIG_HEADER(ltdlconf.h)
@ -1689,6 +1689,7 @@ AC_SUBST(NONINLINE_VAR)
AC_SUBST(INLINE_VAR)
AC_SUBST(EXTERNAL_DEPENDENCY)
AC_SUBST(EXT_DEBUG_OBJS)
AC_SUBST(RC_CMD)
AC_ARG_WITH(x11,
@ -1856,7 +1857,12 @@ if test "$with_sdl" = yes; then
GUI_LINK_OPTS="$GUI_LINK_OPTS \$(GUI_LINK_OPTS_SDL)"
if test "$with_win32" != yes; then
case $target in
*-pc-windows*)
RC_CMD="rc /fo"
EXTRA_BX_OBJS="$EXTRA_BX_OBJS win32res.o"
;;
*-cygwin* | *-mingw32*)
RC_CMD="windres -o "
EXTRA_BX_OBJS="$EXTRA_BX_OBJS win32res.o"
;;
esac
@ -1894,9 +1900,12 @@ if test "$with_win32" = yes; then
SPECIFIC_GUI_OBJS="$SPECIFIC_GUI_OBJS \$(GUI_OBJS_WIN32)"
case $target in
*-pc-windows*)
RC_CMD="rc /fo"
EXTRA_BX_OBJS="$EXTRA_BX_OBJS win32res.o"
GUI_LINK_OPTS="$GUI_LINK_OPTS \$(GUI_LINK_OPTS_WIN32_VCPP)"
;;
*-cygwin* | *-mingw32*)
RC_CMD="windres -o "
EXTRA_BX_OBJS="$EXTRA_BX_OBJS win32res.o"
GUI_LINK_OPTS="$GUI_LINK_OPTS \$(GUI_LINK_OPTS_WIN32)"
;;
@ -2041,7 +2050,7 @@ case "$target" in
CC="cl"
CXX="$CC"
#C_OPT="/Zi" # for debugging
C_OPT="/O2" # optimize for speed
C_OPT="/Ox" # optimize for speed
CFLAGS="/nologo /G6 /MT /W3 /GX /DNDEBUG /DWIN32 /D_WINDOWS $C_OPT"
CXXFLAGS="$CFLAGS"
DASH="/"
@ -2077,6 +2086,9 @@ case "$target" in
AC_DEFINE(HAVE_LIBREADLINE, 0)
AC_DEFINE(BX_HAVE_GETTIMEOFDAY, 0)
AC_DEFINE(BX_HAVE_DLFCN_H, 0)
AC_DEFINE(BX_HAVE_MKSTEMP, 0)
AC_DEFINE(BX_HAVE_SYS_MMAN_H, 0)
AC_DEFINE(HAVE_ETHERTAP, 0)
;;
*-beos*)
PRIMARY_TARGET=.bochs_beos_target

View File

@ -39,7 +39,14 @@ class vmware3_image_t : public device_image_t
private:
static const off_t INVALID_OFFSET = (off_t)-1;
typedef struct _COW_Header {
#if (_MSC_VER<1300)
#pragma pack(push, 1)
#endif
typedef
#if (_MSC_VER>=1300)
__declspec(align(1))
#endif
struct _COW_Header {
char id[4];
unsigned header_version;
unsigned flags;
@ -65,7 +72,14 @@ class vmware3_image_t : public device_image_t
char PAD2[8];
unsigned vmware_version;
char PAD3[364];
} COW_Header __attribute__((packed));
} COW_Header
#if !defined(_MSC_VER)
__attribute__((packed))
#endif
;
#if (_MSC_VER<1300)
#pragma pack(pop)
#endif
struct COW_Image {
int fd;