From aac555108e1c5e8df6ae5e2c8bd3de4a61747b3e Mon Sep 17 00:00:00 2001 From: Konstantin Nosov Date: Tue, 25 Nov 2014 20:52:41 +0400 Subject: [PATCH] Win64 port. --- Core/Core.h | 13 ++++++++++--- Core/CoreWin32.cpp | 15 ++++++++++++++- Core/Win32Types.h | 23 +++++++++++++---------- Exporters/Exporters.cpp | 2 +- Tools/genmake | 20 +++++++++++++++----- UI/BaseDialog.cpp | 4 ++-- UmodelTool/res/umodel.manifest | 2 +- UmodelTool/res/umodel.rc | 5 +++++ UmodelTool/res/umodel64.manifest | 22 ++++++++++++++++++++++ UmodelTool/umodel.project | 2 +- Unreal/UnCoreCompression.cpp | 2 +- build.sh | 6 +++++- common.project | 12 ++++++++++-- libs/SDL2/x64/SDL2.lib | Bin 0 -> 113700 bytes libs/SDL2/x64/SDL2main.lib | Bin 0 -> 42824 bytes libs/SDL2/x86/SDL2.lib | Bin 0 -> 116400 bytes libs/SDL2/x86/SDL2main.lib | Bin 0 -> 40894 bytes makefile-vc-win32 | 6 +++--- 18 files changed, 103 insertions(+), 31 deletions(-) create mode 100644 UmodelTool/res/umodel64.manifest create mode 100644 libs/SDL2/x64/SDL2.lib create mode 100644 libs/SDL2/x64/SDL2main.lib create mode 100644 libs/SDL2/x86/SDL2.lib create mode 100644 libs/SDL2/x86/SDL2main.lib diff --git a/Core/Core.h b/Core/Core.h index 9a2e8c28..f6b08942 100644 --- a/Core/Core.h +++ b/Core/Core.h @@ -121,7 +121,7 @@ template<> struct CompileTimeError {}; # if _MSC_VER >= 1400 # define IS_POD(T) __is_pod(T) # endif -# pragma warning(disable : 4291) // no matched operator delete found +//# pragma warning(disable : 4291) // no matched operator delete found // this functions are smaller, when in intrinsic form (and, of course, faster): # pragma intrinsic(memcpy, memset, memcmp, abs, fabs, _rotl8, _rotl, _rotr8, _rotr) // allow nested inline expansions @@ -218,15 +218,16 @@ typedef size_t address_t; #define S_WHITE "^7" +// Using size_t typecasts - that's platform integer type template inline T OffsetPointer(const T ptr, int offset) { - return (T) ((unsigned)ptr + offset); + return (T) ((size_t)ptr + offset); } // Align integer or pointer of any type template inline T Align(const T ptr, int alignment) { - return (T) (((unsigned)ptr + alignment - 1) & ~(alignment - 1)); + return (T) (((size_t)ptr + alignment - 1) & ~(alignment - 1)); } template inline void Exchange(T& A, T& B) @@ -395,6 +396,12 @@ void appDumpMemoryAllocations(); unsigned win32ExceptFilter2(); #define EXCEPT_FILTER win32ExceptFilter2() // may use 1==EXCEPTION_EXECUTE_HANDLER or win32ExceptFilter2() +#if _WIN64 +//!! todo +#undef EXCEPT_FILTER +#define EXCEPT_FILTER 1 // EXCEPTION_EXECUTE_HANDLER +#endif + #define guard(func) \ { \ static const char __FUNC__[] = #func; \ diff --git a/Core/CoreWin32.cpp b/Core/CoreWin32.cpp index 4b6dc962..8a1ff8c9 100644 --- a/Core/CoreWin32.cpp +++ b/Core/CoreWin32.cpp @@ -31,6 +31,9 @@ #endif // VSTUDIO_INTEGRATION +#ifdef _WIN64 +#undef UNWIND_EBP_FRAMES //!! should review the code and perhaps adopt to Win64 +#endif #if USE_DBGHELP #include @@ -165,7 +168,7 @@ const char *appSymbolName(address_t addr) // *s = 0; if (s = strrchr(moduleName, '\\')) strcpy(moduleName, s+1); // remove "path\" part - appSprintf(ARRAY_ARG(buf), "%s+0x%X", moduleName, addr - (int)hModule); + appSprintf(ARRAY_ARG(buf), "%s+0x%X", moduleName, (int)(addr - (size_t)hModule)); return buf; #endif // GET_EXTENDED_INFO @@ -288,6 +291,7 @@ static void DumpSEH() static void DropSEHFrames() { +#ifndef _WIN64 __asm { push edx @@ -306,6 +310,7 @@ static void DropSEHFrames() pop ebx pop edx } +#endif // _WIN64 } @@ -432,9 +437,15 @@ long WINAPI win32ExceptFilter(struct _EXCEPTION_POINTERS *info) // log error CONTEXT* ctx = info->ContextRecord; +#ifndef _WIN64 appSprintf(ARRAY_ARG(GErrorHistory), "%s (%08X) at %s\n", excName, info->ExceptionRecord->ExceptionCode, appSymbolName(ctx->Eip) ); +#else + appSprintf(ARRAY_ARG(GErrorHistory), "%s (%08X) at %s\n", + excName, info->ExceptionRecord->ExceptionCode, appSymbolName(ctx->Rip) + ); +#endif // _WIN64 #if UNWIND_EBP_FRAMES UnwindEbpFrame((address_t*) ctx->Ebp); #endif // UNWIND_EBP_FRAMES @@ -445,6 +456,7 @@ long WINAPI win32ExceptFilter(struct _EXCEPTION_POINTERS *info) return EXCEPTION_EXECUTE_HANDLER; } +#ifndef _WIN64 __declspec(naked) unsigned win32ExceptFilter2() { __asm { @@ -453,6 +465,7 @@ __declspec(naked) unsigned win32ExceptFilter2() retn // return value from win32ExceptFilter() } } +#endif // _WIN64 #endif // WIN32_USE_SEH diff --git a/Core/Win32Types.h b/Core/Win32Types.h index 620bff5a..94760d24 100644 --- a/Core/Win32Types.h +++ b/Core/Win32Types.h @@ -19,23 +19,26 @@ # endif # ifndef WINGDIAPI # define WINGDIAPI -# ifdef _WIN64 -# error Review these types! -# endif + typedef void* HANDLE; + #ifndef _WIN64 + typedef int INT_PTR; + typedef long LONG_PTR; + #else + typedef __int64 INT_PTR; + typedef __int64 LONG_PTR; + #endif typedef unsigned HDC; - typedef unsigned HGLRC; + typedef HANDLE HGLRC; typedef const char * LPCSTR; typedef int BOOL; typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned int DWORD; typedef unsigned int UINT; - typedef void* HANDLE; - typedef void* HWND; - typedef void* HMENU; - typedef size_t WPARAM; - typedef long LPARAM; - typedef int INT_PTR; + typedef HANDLE HWND; + typedef HANDLE HMENU; + typedef INT_PTR WPARAM; + typedef LONG_PTR LPARAM; typedef int (APIENTRY *PROC)(); typedef void PIXELFORMATDESCRIPTOR; // structure typedef PIXELFORMATDESCRIPTOR * LPPIXELFORMATDESCRIPTOR; diff --git a/Exporters/Exporters.cpp b/Exporters/Exporters.cpp index 725aa5b3..28d99cc1 100644 --- a/Exporters/Exporters.cpp +++ b/Exporters/Exporters.cpp @@ -61,7 +61,7 @@ struct ExportedObjectEntry int GetHash() const { - return ( ((int)Package >> 3) ^ ExportIndex ^ (ExportIndex << 4) ) & (EXPORTED_LIST_HASH_SIZE - 1); + return ( ((size_t)Package >> 3) ^ ExportIndex ^ (ExportIndex << 4) ) & (EXPORTED_LIST_HASH_SIZE - 1); } }; diff --git a/Tools/genmake b/Tools/genmake index c498d55f..6dda54da 100644 --- a/Tools/genmake +++ b/Tools/genmake @@ -54,9 +54,9 @@ defined(var) will be replaced with 0 or 1 3. System variables: platform specification: - PLATFORM = win32 | cygwin | unix + PLATFORM = win32 | win64 | cygwin | unix COMPILER = VisualC | GnuC - TARGET = vc-win32 | mingw32 | cygwin | linux + TARGET = vc-win32 | vc-win64 | mingw32 | cygwin | linux Should specify either "TARGET" or "PLATFORM"+"COMPILER" global: @@ -451,6 +451,9 @@ sub InitCompiler { if ($TARGET eq "vc-win32") { $COMPILER = "VisualC"; $PLATFORM = "win32"; + } elsif ($TARGET eq "vc-win64") { + $COMPILER = "VisualC"; + $PLATFORM = "win64"; } elsif ($TARGET eq "mingw32") { $COMPILER = "GnuC"; $PLATFORM = "win32"; @@ -478,7 +481,7 @@ sub InitCompiler { } } elsif (defined($PLATFORM)) { # defaults for PLATFORM - if ($PLATFORM eq "win32") { + if ($PLATFORM eq "win32" || $PLATFORM eq "win64") { $COMPILER = "VisualC"; } elsif ($PLATFORM eq "cygwin") { $COMPILER = "GnuC"; @@ -507,7 +510,7 @@ sub InitCompiler { if ($PLATFORM eq "unix") { $ExeFileExt = ""; $DllFileExt = ".so"; - } elsif ($PLATFORM eq "win32" || $PLATFORM eq "cygwin") { + } elsif ($PLATFORM eq "win32" || $PLATFORM eq "win64" || $PLATFORM eq "cygwin") { $ExeFileExt = ".exe"; $DllFileExt = ".dll"; } @@ -518,7 +521,9 @@ sub EmitCompilerDefs { Splitter ("Compiler definitions"); if ($COMPILER eq "VisualC") { print "CPP = cl.exe -nologo -c -D WIN32 -D _WINDOWS\n"; - print "LINK = link.exe -nologo -filealign:512 -incremental:no\n"; + my $machine = "X86"; + $machine = "X64" if $PLATFORM eq "win64"; + print "LINK = link.exe -nologo -filealign:512 -incremental:no -machine:$machine\n"; print "AR = link.exe -lib -nologo\n"; # cannot use "LIB" name } elsif ($COMPILER eq "GnuC") { my $platf = "gcc"; @@ -1027,6 +1032,11 @@ sub FlushObjectFile { my $defs = ""; $inc = " ".GenerateOptions ($includes, "-I ") if $includes ne ""; $defs = " ".GenerateOptions ($defines, "-D ") if $defines ne ""; + if ($PLATFORM eq "win32") { + $defs .= " -D _WIN32 -D WIN32"; + } else { + $defs .= " -D _WIN64 -D WIN64"; + } $line = "rc.exe -l 0x409 -i ${srcDir}${inc}${defs} -fo\"$objFile\" -dNDEBUG"; } else { # C/C++ file diff --git a/UI/BaseDialog.cpp b/UI/BaseDialog.cpp index f9e9f184..83bd51d1 100644 --- a/UI/BaseDialog.cpp +++ b/UI/BaseDialog.cpp @@ -207,7 +207,7 @@ HWND UIElement::Window(const char* className, const char* text, DWORD style, DWO if (Visible) style |= WS_VISIBLE; HWND wnd = CreateWindowEx(exstyle, className, text, style | WS_CHILDWINDOW, x, y, w, h, - dialogWnd, (HMENU)id, hInstance, NULL); + dialogWnd, (HMENU)(size_t)id, hInstance, NULL); // convert int -> size_t -> HANDLE to avoid warnings on 64-bit platform #if DEBUG_WINDOWS_ERRORS if (!wnd) appNotify("CreateWindow failed, GetLastError returned %d\n", GetLastError()); #endif @@ -229,7 +229,7 @@ HWND UIElement::Window(const wchar_t* className, const wchar_t* text, DWORD styl if (Visible) style |= WS_VISIBLE; HWND wnd = CreateWindowExW(exstyle, className, text, style | WS_CHILDWINDOW, x, y, w, h, - dialogWnd, (HMENU)id, hInstance, NULL); + dialogWnd, (HMENU)(size_t)id, hInstance, NULL); #if DEBUG_WINDOWS_ERRORS if (!wnd) appNotify("CreateWindow failed, GetLastError returned %d\n", GetLastError()); #endif diff --git a/UmodelTool/res/umodel.manifest b/UmodelTool/res/umodel.manifest index c5026a0e..2cac7af5 100644 --- a/UmodelTool/res/umodel.manifest +++ b/UmodelTool/res/umodel.manifest @@ -3,7 +3,7 @@ wxWindows application diff --git a/UmodelTool/res/umodel.rc b/UmodelTool/res/umodel.rc index 9395a35d..90a27934 100644 --- a/UmodelTool/res/umodel.rc +++ b/UmodelTool/res/umodel.rc @@ -3,5 +3,10 @@ // Enable themes for GUI elements // http://www.angelfire.com/hi5/delphizeus/theme_xp.html +#ifndef _WIN64 1 RT_MANIFEST "umodel.manifest" +#else +1 RT_MANIFEST "umodel64.manifest" +#endif + IDC_MAIN_ICON ICON "umodel.ico" diff --git a/UmodelTool/res/umodel64.manifest b/UmodelTool/res/umodel64.manifest new file mode 100644 index 00000000..8d16e342 --- /dev/null +++ b/UmodelTool/res/umodel64.manifest @@ -0,0 +1,22 @@ + + + +wxWindows application + + + + + + diff --git a/UmodelTool/umodel.project b/UmodelTool/umodel.project index f88d462e..88af4870 100644 --- a/UmodelTool/umodel.project +++ b/UmodelTool/umodel.project @@ -16,7 +16,7 @@ sources(MAIN) = { Core/*.cpp UI/*.cpp $UMODEL/*.cpp -!if "$PLATFORM" eq "win32" +!if "$PLATFORM" eq "win32" || "$PLATFORM" eq "win64" $UMODEL/res/umodel.rc !endif } diff --git a/Unreal/UnCoreCompression.cpp b/Unreal/UnCoreCompression.cpp index aef7e495..3059a175 100644 --- a/Unreal/UnCoreCompression.cpp +++ b/Unreal/UnCoreCompression.cpp @@ -232,7 +232,7 @@ int appDecompress(byte *CompressedBuffer, int CompressedSize, byte *Uncompressed int r; r = lzo_init(); if (r != LZO_E_OK) appError("lzo_init() returned %d", r); - unsigned long newLen = UncompressedSize; + lzo_uint newLen = UncompressedSize; r = lzo1x_decompress_safe(CompressedBuffer, CompressedSize, UncompressedBuffer, &newLen, NULL); if (r != LZO_E_OK) appError("lzo_decompress(%d,%d) returned %d", CompressedSize, UncompressedSize, r); if (newLen != UncompressedSize) appError("len mismatch: %d != %d", newLen, UncompressedSize); diff --git a/build.sh b/build.sh index 11bf4222..25c00438 100644 --- a/build.sh +++ b/build.sh @@ -33,7 +33,8 @@ last_revision=${last_revision##* } # cut "#define ..." #------------------------------------------------------------- PLATFORM="vc-win32" -#PLATFORM="mingw32" +#PLATFORM="vc-win64" +#PLATFORM="mingw32" - not implemented yet # force PLATFORM=linux under Linux OS #?? check this, when cross-compile under wine @@ -65,6 +66,9 @@ case "$PLATFORM" in "vc-win32") vc32tools --make $makefile || exit 1 ;; + "vc-win64") + vc32tools --64 --make $makefile || exit 1 + ;; "mingw32"|"cygwin") PATH=/bin:/usr/bin:$PATH # configure paths for Cygwin gccfilt make -f $makefile || exit 1 diff --git a/common.project b/common.project index 94bb880c..24213200 100644 --- a/common.project +++ b/common.project @@ -13,7 +13,7 @@ OLDCRT = 1 # Compiler-specific options #------------------------------------------------ -!if "$PLATFORM" ne "win32" +!if ("$PLATFORM" ne "win32") && ("$PLATFORM" ne "win64") # linux/cygwin + GCC STDLIBS = stdc++ m GL # libm for math.h functions !if "$PLATFORM" ne "cygwin" @@ -24,6 +24,11 @@ OLDCRT = 1 !if "$COMPILER" eq "VisualC" CPP_EXCEPT = 0 # used with WIN32_USE_SEH in Core.h OPTIONS = -GS- -GR- #?? VC8+ + # -Wp64 enables 64-bit portability warnings. Note: this option is deprecated, it will display a command line warning. + # More information here: + # https://connect.microsoft.com/VisualStudio/feedback/details/806763/warnings-c4311-and-c4312-require-wp64-which-is-documented-as-deprecated + # http://blogs.msdn.com/b/vcblog/archive/2014/06/13/compiler-switch-deprecation-removal-changes-in-visual-studio-14.aspx +# OPTIONS += -Wp64 # 64-bit portability warnings; note: deprecated option, will display a command line warning # OPTIONS += -FS # VS2013+, required for parallel build to work (jom.exe) DEFINES += _USING_V110_SDK71_ # avoid some warnings, perhaps affects something else # see http://tedwvc.wordpress.com/2014/01/01/how-to-target-xp-with-vc2012-or-vc2013-and-continue-to-use-the-windows-8-x-sdk/ @@ -108,10 +113,13 @@ sources(IOS_LIBS) = { #------------------------------------------------ OBJDIR = $R/obj/$PRJ-$PLATFORM -LIBRARIES = $R/libs STDLIBS += SDL2 SDL2main INCLUDES += . $R/Core $R/Unreal $R/libs/include $R/libs/nvtt $R/libs/PowerVR !if "$PLATFORM" eq "win32" INCLUDES += $R/libs/includewin32 + LIBRARIES = $R/libs/SDL2/x86 +!elif "$PLATFORM" eq "win64" + INCLUDES += $R/libs/includewin32 + LIBRARIES = $R/libs/SDL2/x64 !endif diff --git a/libs/SDL2/x64/SDL2.lib b/libs/SDL2/x64/SDL2.lib new file mode 100644 index 0000000000000000000000000000000000000000..6faf131fb97eed99ed0d78923112618dee1f2fb5 GIT binary patch literal 113700 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 literal 0 HcmV?d00001 diff --git a/libs/SDL2/x64/SDL2main.lib b/libs/SDL2/x64/SDL2main.lib new file mode 100644 index 0000000000000000000000000000000000000000..699f8f6d80e4daad791121146d4234eda4fabc9d GIT binary patch literal 42824 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�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 literal 0 HcmV?d00001 diff --git a/libs/SDL2/x86/SDL2.lib b/libs/SDL2/x86/SDL2.lib new file mode 100644 index 0000000000000000000000000000000000000000..05a108b136f9463d875db9ae177ffd7c06c99475 GIT binary patch literal 116400 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 Yq4t*RG3^?lR4SQFZGJvS33^Qb5BFn+a literal 0 HcmV?d00001 diff --git a/libs/SDL2/x86/SDL2main.lib b/libs/SDL2/x86/SDL2main.lib new file mode 100644 index 0000000000000000000000000000000000000000..37c2c8b49497e4b03df850c93f69ab8b907a1020 GIT binary patch literal 40894 zcmdsAd09Q_A!*v8KuFuPMB1h#X$z=W#~s9F z93A)F!F^m9S5#CKRNNI@XLMX=)EUvy5uK6mckc3%mzRb`|N0)J_r2da_uPBWJ$HHU z-FMHFIlfTKvg6Z_%hDftg?WX!MFoYq#dHC45a z8neB&ysjrwRupV2E9&%j21Bb5p|q^X*BlH*0$uI8SPn$0sIFrzNRx1 zl=gfIR~$3x{{6qzR-C%_W?=tRR@ZAQ!=Ophy`5OMbP!Q!f)st4=rm9=Jv)jc(f%yAcf({bWqrcBD3W!55RD0mW@ zS$L5>&>W_gou89GBX>r@qJ}`Y$Jb#Yh&tOv`_Ki<)DJL+s+zxtXk`uXTU BI73ok-@$k&-w1wrAg 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 ZWu>nrjGbzg3akB*m@Ud0%X3-!{{j0wqCWrt literal 0 HcmV?d00001 diff --git a/makefile-vc-win32 b/makefile-vc-win32 index 818ce571..c8ba08f8 100644 --- a/makefile-vc-win32 +++ b/makefile-vc-win32 @@ -6,7 +6,7 @@ #------------------------------------------------------------------------------ CPP = cl.exe -nologo -c -D WIN32 -D _WINDOWS -LINK = link.exe -nologo -filealign:512 -incremental:no +LINK = link.exe -nologo -filealign:512 -incremental:no -machine:X86 AR = link.exe -lib -nologo #------------------------------------------------------------------------------ @@ -113,7 +113,7 @@ IOS_LIBS_FILES = \ umodel.exe : $(OUT) $(OUT_1) $(MAIN_FILES) $(NV_LIBS_FILES) $(UE3_LIBS_FILES) $(IOS_LIBS_FILES) echo Creating executable "umodel.exe" ... - $(LINK) -out:"umodel.exe" -libpath:./libs SDL2.lib SDL2main.lib -debug -pdb:"umodel.pdb" -opt:ref -opt:icf $(MAIN_FILES) $(NV_LIBS_FILES) $(UE3_LIBS_FILES) $(IOS_LIBS_FILES) -nodefaultlib:libcmt.lib -nodefaultlib:msvcprt.lib -manifest:no ./../Libs/msvcrt/startup/crtexe2.obj ./../Libs/msvcrt/lib/Win32/msvcrt.lib ./../Libs/msvcrt/lib/Win32/wdk_msvcrt_win2000.obj -subsystem:console + $(LINK) -out:"umodel.exe" -libpath:./libs/SDL2/x86 SDL2.lib SDL2main.lib -debug -pdb:"umodel.pdb" -opt:ref -opt:icf $(MAIN_FILES) $(NV_LIBS_FILES) $(UE3_LIBS_FILES) $(IOS_LIBS_FILES) -nodefaultlib:libcmt.lib -nodefaultlib:msvcprt.lib -manifest:no ./../Libs/msvcrt/startup/crtexe2.obj ./../Libs/msvcrt/lib/Win32/msvcrt.lib ./../Libs/msvcrt/lib/Win32/wdk_msvcrt_win2000.obj -subsystem:console #------------------------------------------------------------------------------ # compiling source files @@ -1191,7 +1191,7 @@ DEPENDS = \ UmodelTool/res/resource.h $(OUT_1)/umodel.res : UmodelTool/res/umodel.rc $(DEPENDS) - rc.exe -l 0x409 -i UmodelTool/res/ -I . -I ./Core -I ./Unreal -I ./libs/include -I ./libs/nvtt -I ./libs/PowerVR -I ./libs/includewin32 -I UmodelTool -I UI -D _USING_V110_SDK71_ -D OLDCRT -fo"$(OUT_1)/umodel.res" -dNDEBUG UmodelTool/res/umodel.rc + rc.exe -l 0x409 -i UmodelTool/res/ -I . -I ./Core -I ./Unreal -I ./libs/include -I ./libs/nvtt -I ./libs/PowerVR -I ./libs/includewin32 -I UmodelTool -I UI -D _USING_V110_SDK71_ -D OLDCRT -D _WIN32 -D WIN32 -fo"$(OUT_1)/umodel.res" -dNDEBUG UmodelTool/res/umodel.rc OPT_IOS_LIBS = -GS- -GR- -O1 -EHs- -Zi -Fd"$(OUT)/" -D _USING_V110_SDK71_ -D OLDCRT