diff --git a/include/unicorn/platform.h b/include/unicorn/platform.h index 80f1a796..4b9233d1 100644 --- a/include/unicorn/platform.h +++ b/include/unicorn/platform.h @@ -168,8 +168,9 @@ static int gettimeofday(struct timeval* t, void* timezone) // unistd.h compatibility #if defined(_MSC_VER) -// TODO: add unistd stuff here ... +// horrible kludge requiring winsock to get microsecond sleep resolution. +// if this is removed then all winsock references can also be removed. static int usleep(uint32_t t) { int ret, err_code; @@ -183,14 +184,6 @@ static int usleep(uint32_t t) err_code = WSAGetLastError(); return ret==0 ? 0 : -1; } -/* -#include -#include -static void usleep(const int64_t &t) -{ - std::this_thread::sleep_for(std::chrono::microseconds(t)); -} -*/ #else #include diff --git a/include/unicorn/unicorn.h b/include/unicorn/unicorn.h index 938807f4..6308f56b 100644 --- a/include/unicorn/unicorn.h +++ b/include/unicorn/unicorn.h @@ -8,10 +8,6 @@ extern "C" { #endif -#ifdef _MSC_VER -#pragma comment(lib, "unicorn.lib") -#endif - #include "platform.h" #include diff --git a/msvc/.gitignore b/msvc/.gitignore index b36bb9f8..6b23e351 100644 --- a/msvc/.gitignore +++ b/msvc/.gitignore @@ -1,2 +1,3 @@ unicorn.VC.VC.opendb unicorn.VC.db +distro diff --git a/msvc/readme.txt b/msvc/readme.txt index 9630c541..22a65d0d 100644 --- a/msvc/readme.txt +++ b/msvc/readme.txt @@ -1,22 +1,71 @@ -TODO: fix mips translate.c file where case OPC_DALIGN ... OPC_DALIGN_END: has many in between cases!!! - - -*** TODO: this file needs work *** - - - - Unicorn-Engine MSVC Native Port Notes +Zak Escano - January 2017 + These notes are to help myself and others with the upkeep of the msvc native port of unicorn-engine. +:: Build settings + +Visual Studio Version: Visual Studio 2012 v11.061219.00 Update 5 +Platform Toolset: Visual Studio 2012 - Windows XP (v110_xp) +Character Set: Use Multi-Byte Character Set +Runtime Library Debug: Multi-threaded Debug (/MTd) +Runtime Library Release: Multi-threaded (/MT) +Precompiled Header: Not Using Precompiled Headers +Additional Options: /wd4018 /wd4244 /wd4267 + + + + +:: Winsock inclusion + +One of the hacks done for this was to implement usleep() in windows using a +sockets select() function. This then forces the inclusion of winsock stuff +that would otherwise not be required. + +usleep() is only used in the second thread that is executed in order to +timeout code that would otherwise continue to execute. So if this is ever +changed to no longer require the usleep() calls, the winsock related code +can be removed entirely. + + + + +:: Changes porting unicorn from GNU/GCC to MSVC. + +There were many many many changes to make this also build in MSVC +while still retaining the ability to build in GNU/GCC. +Most were due to either GCC specific things or MSVC lack of decent +standard C support especially in VS2012. Also some were for +posix/platform specific stuff that is not present in windows. + +Some of the more common changes were: + +* Compatibility for GCC style __attribute__'s. + +* Change GCC switch case ranges to specify every case individually, ie: + "case 1 ... 3:" changes to "case 1: case 2: case 3:" + +* Change GCC struct member initialisation to the more generic + initialisation of all members in order, ie: + { .value = 1, .stuff = 2 } to { 1, 2 } + +* Remove GCC style macro return values which MSVC does not support, ie: + #define RETURN_ONE(x) ({ some stuff; (void)1; }) + +* Compatibility for posix headers that are missing in windows, ie: + stdbool.h, stdint.h, sys/time.h, unistd.h + + + + :: CPU specific libraries The gnu/gcc way of building the qemu portion of unicorn-engine involves makefile magic @@ -45,26 +94,17 @@ For each supported CPU type -* cpu specific config -there is a "config-target.h" inside each ???-softmmu dir. -there is a "config-target.h-timestamp" inside each ???-softmmu dir. -"config-target.h" is only included in "qemu/include/config.h". - -"config-target.mak" looks like target specific makefile stuff. (very simple) -"qemu/configure" appears to generate these -"qemu/Makefile.target" appears to be used as the template for "qemu/????-softmmu/Makefile" - - - :: Other things -* GNU seems to rely on __i386__ or __x86_64__ defined if the host is 32bit or 64bit respectively. +* The Qemu code for GNU/GCC seems to rely on __i386__ or __x86_64__ defined if + the host is 32bit or 64bit respectively. So when building 32bit libs in msvc we define __i386__. And when building 64bit libs in msvc we define __x86_64__. * There is a tcg-target.c for each target that is included into tcg.c. - It is NOT built separately as part of the *.c files built for the project. + This is done using "#include tcg-target.c" + It is NOT built separately as part of the *.c files for the project. @@ -72,7 +112,7 @@ there is a "config-target.h-timestamp" inside each ???-softmmu dir. :: Info from makefiles This info is compiled here together to help with deciding on the build settings to use. -It may or may not be of use to anyone else once this builds ok :) +It may or may not be of use to anyone in the future once this all builds ok :) QEMU_INCLUDES=-I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/$(ARCH) -I. -I$(SRC_PATH) -I$(SRC_PATH)/include QEMU_CFLAGS=-m32 -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -DUNICORN_HAS_X86 -DUNICORN_HAS_ARM -DUNICORN_HAS_M68K -DUNICORN_HAS_ARM64 -DUNICORN_HAS_MIPS -DUNICORN_HAS_MIPSEL -DUNICORN_HAS_MIPS64 -DUNICORN_HAS_MIPS64EL -DUNICORN_HAS_SPARC -fPIC diff --git a/msvc/samples/mem_apis/mem_apis.vcxproj b/msvc/samples/mem_apis/mem_apis.vcxproj index 991123e5..890c9cc9 100644 --- a/msvc/samples/mem_apis/mem_apis.vcxproj +++ b/msvc/samples/mem_apis/mem_apis.vcxproj @@ -99,6 +99,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -116,6 +117,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -137,6 +139,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -158,6 +161,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/sample_arm/sample_arm.vcxproj b/msvc/samples/sample_arm/sample_arm.vcxproj index bfad03ba..78bb80d4 100644 --- a/msvc/samples/sample_arm/sample_arm.vcxproj +++ b/msvc/samples/sample_arm/sample_arm.vcxproj @@ -99,6 +99,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -116,6 +117,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -137,6 +139,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -158,6 +161,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/sample_arm64/sample_arm64.vcxproj b/msvc/samples/sample_arm64/sample_arm64.vcxproj index 38e04b36..d2382ae7 100644 --- a/msvc/samples/sample_arm64/sample_arm64.vcxproj +++ b/msvc/samples/sample_arm64/sample_arm64.vcxproj @@ -99,6 +99,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -116,6 +117,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -137,6 +139,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -158,6 +161,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/sample_batch_reg/sample_batch_reg.vcxproj b/msvc/samples/sample_batch_reg/sample_batch_reg.vcxproj index 73e171ee..90513b52 100644 --- a/msvc/samples/sample_batch_reg/sample_batch_reg.vcxproj +++ b/msvc/samples/sample_batch_reg/sample_batch_reg.vcxproj @@ -99,6 +99,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -116,6 +117,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -137,6 +139,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -158,6 +161,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/sample_m68k/sample_m68k.vcxproj b/msvc/samples/sample_m68k/sample_m68k.vcxproj index 35a49fa0..33096572 100644 --- a/msvc/samples/sample_m68k/sample_m68k.vcxproj +++ b/msvc/samples/sample_m68k/sample_m68k.vcxproj @@ -102,6 +102,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -119,6 +120,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -140,6 +142,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -161,6 +164,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/sample_mips/sample_mips.vcxproj b/msvc/samples/sample_mips/sample_mips.vcxproj index 474710bf..41929764 100644 --- a/msvc/samples/sample_mips/sample_mips.vcxproj +++ b/msvc/samples/sample_mips/sample_mips.vcxproj @@ -99,6 +99,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -116,6 +117,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -137,6 +139,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -158,6 +161,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/sample_sparc/sample_sparc.vcxproj b/msvc/samples/sample_sparc/sample_sparc.vcxproj index 3e5dc384..165fb848 100644 --- a/msvc/samples/sample_sparc/sample_sparc.vcxproj +++ b/msvc/samples/sample_sparc/sample_sparc.vcxproj @@ -99,6 +99,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -116,6 +117,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -137,6 +139,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -158,6 +161,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/sample_x86/sample_x86.vcxproj b/msvc/samples/sample_x86/sample_x86.vcxproj index 24aef9a5..bc614356 100644 --- a/msvc/samples/sample_x86/sample_x86.vcxproj +++ b/msvc/samples/sample_x86/sample_x86.vcxproj @@ -99,6 +99,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -120,6 +121,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -145,6 +147,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -170,6 +173,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/sample_x86_32_gdt_and_seg_regs/sample_x86_32_gdt_and_seg_regs.vcxproj b/msvc/samples/sample_x86_32_gdt_and_seg_regs/sample_x86_32_gdt_and_seg_regs.vcxproj index 3f3cd866..ff75afb3 100644 --- a/msvc/samples/sample_x86_32_gdt_and_seg_regs/sample_x86_32_gdt_and_seg_regs.vcxproj +++ b/msvc/samples/sample_x86_32_gdt_and_seg_regs/sample_x86_32_gdt_and_seg_regs.vcxproj @@ -99,6 +99,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -116,6 +117,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -137,6 +139,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -158,6 +161,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/samples/shellcode/shellcode.vcxproj b/msvc/samples/shellcode/shellcode.vcxproj index 1c72b06c..ef7dd36c 100644 --- a/msvc/samples/shellcode/shellcode.vcxproj +++ b/msvc/samples/shellcode/shellcode.vcxproj @@ -102,6 +102,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -119,6 +120,7 @@ Console true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -140,6 +142,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib @@ -161,6 +164,7 @@ true true $(SolutionDir)$(Platform)\$(Configuration)\ + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);unicorn_static.lib diff --git a/msvc/unicorn.sln b/msvc/unicorn.sln index c623976b..a67744e2 100644 --- a/msvc/unicorn.sln +++ b/msvc/unicorn.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x86_64-softmmu", "unicorn\x86_64-softmmu\x86_64-softmmu.vcxproj", "{17077E86-AE7C-41AF-86ED-2BAC03B019BC}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicorn", "unicorn\unicorn\unicorn.vcxproj", "{B6EFD6D7-C2D4-4FBB-B363-2E08CE09CC96}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicorn_static", "unicorn\unicorn_static\unicorn_static.vcxproj", "{B6EFD6D7-C2D4-4FBB-B363-2E08CE09CC96}" ProjectSection(ProjectDependencies) = postProject {006A7908-ABF3-4D18-BC35-0A29E39B95F9} = {006A7908-ABF3-4D18-BC35-0A29E39B95F9} {63050112-E486-4396-B5E4-303C3BC12D39} = {63050112-E486-4396-B5E4-303C3BC12D39} @@ -89,6 +89,20 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shellcode", "samples\shellc {B6EFD6D7-C2D4-4FBB-B363-2E08CE09CC96} = {B6EFD6D7-C2D4-4FBB-B363-2E08CE09CC96} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicorn", "unicorn\unicorn\unicorn.vcxproj", "{ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}" + ProjectSection(ProjectDependencies) = postProject + {006A7908-ABF3-4D18-BC35-0A29E39B95F9} = {006A7908-ABF3-4D18-BC35-0A29E39B95F9} + {63050112-E486-4396-B5E4-303C3BC12D39} = {63050112-E486-4396-B5E4-303C3BC12D39} + {8804AD29-E398-480C-AC0F-98EC1B7A51CB} = {8804AD29-E398-480C-AC0F-98EC1B7A51CB} + {2A7F483F-CD19-4F84-BBDA-B6A1865E2773} = {2A7F483F-CD19-4F84-BBDA-B6A1865E2773} + {2C5AD347-6E34-463B-8289-00578E43B255} = {2C5AD347-6E34-463B-8289-00578E43B255} + {4A9F9353-DB63-460A-BB1C-9CB519DFD414} = {4A9F9353-DB63-460A-BB1C-9CB519DFD414} + {698C2D54-475C-446F-B879-F629BBEF75FE} = {698C2D54-475C-446F-B879-F629BBEF75FE} + {17077E86-AE7C-41AF-86ED-2BAC03B019BC} = {17077E86-AE7C-41AF-86ED-2BAC03B019BC} + {4478909E-6983-425C-9D9F-558CF258E61E} = {4478909E-6983-425C-9D9F-558CF258E61E} + {F67EB1EA-DCFA-4758-A2AA-4B570BA78036} = {F67EB1EA-DCFA-4758-A2AA-4B570BA78036} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -265,6 +279,14 @@ Global {F113B460-4B21-4014-9A15-D472FAA9E3F9}.Release|Win32.Build.0 = Release|Win32 {F113B460-4B21-4014-9A15-D472FAA9E3F9}.Release|x64.ActiveCfg = Release|x64 {F113B460-4B21-4014-9A15-D472FAA9E3F9}.Release|x64.Build.0 = Release|x64 + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}.Debug|Win32.ActiveCfg = Debug|Win32 + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}.Debug|Win32.Build.0 = Debug|Win32 + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}.Debug|x64.ActiveCfg = Debug|x64 + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}.Debug|x64.Build.0 = Debug|x64 + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}.Release|Win32.ActiveCfg = Release|Win32 + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}.Release|Win32.Build.0 = Release|Win32 + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}.Release|x64.ActiveCfg = Release|x64 + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj b/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj index 6a5c1418..836b9ae2 100644 --- a/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj +++ b/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj @@ -143,7 +143,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-arm;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -164,7 +164,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-arm;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -187,7 +187,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-arm;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -212,7 +212,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-arm;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj b/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj index 1578b24e..7f1cf0d4 100644 --- a/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj +++ b/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj @@ -139,7 +139,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-arm;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -160,7 +160,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-arm;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -183,7 +183,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-arm;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -208,7 +208,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-arm;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj b/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj index 48c746f1..e43f0676 100644 --- a/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj +++ b/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj @@ -130,7 +130,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-m68k;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -151,7 +151,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-m68k;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -174,7 +174,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-m68k;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -199,7 +199,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-m68k;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/mips-softmmu/mips-softmmu.vcxproj b/msvc/unicorn/mips-softmmu/mips-softmmu.vcxproj index 022c72e7..1adec62d 100644 --- a/msvc/unicorn/mips-softmmu/mips-softmmu.vcxproj +++ b/msvc/unicorn/mips-softmmu/mips-softmmu.vcxproj @@ -141,7 +141,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -162,7 +162,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -185,7 +185,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -210,7 +210,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/mips64-softmmu/mips64-softmmu.vcxproj b/msvc/unicorn/mips64-softmmu/mips64-softmmu.vcxproj index b27454b6..8ff601a4 100644 --- a/msvc/unicorn/mips64-softmmu/mips64-softmmu.vcxproj +++ b/msvc/unicorn/mips64-softmmu/mips64-softmmu.vcxproj @@ -141,7 +141,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -162,7 +162,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -185,7 +185,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -210,7 +210,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/mips64el-softmmu/mips64el-softmmu.vcxproj b/msvc/unicorn/mips64el-softmmu/mips64el-softmmu.vcxproj index e3137490..bf72fd6d 100644 --- a/msvc/unicorn/mips64el-softmmu/mips64el-softmmu.vcxproj +++ b/msvc/unicorn/mips64el-softmmu/mips64el-softmmu.vcxproj @@ -141,7 +141,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -162,7 +162,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -185,7 +185,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -210,7 +210,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/mipsel-softmmu/mipsel-softmmu.vcxproj b/msvc/unicorn/mipsel-softmmu/mipsel-softmmu.vcxproj index 71f8f484..eab23bad 100644 --- a/msvc/unicorn/mipsel-softmmu/mipsel-softmmu.vcxproj +++ b/msvc/unicorn/mipsel-softmmu/mipsel-softmmu.vcxproj @@ -141,7 +141,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -162,7 +162,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -185,7 +185,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -210,7 +210,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-mips;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/unicorn/qapi-types.c b/msvc/unicorn/qapi-types.c similarity index 100% rename from msvc/unicorn/unicorn/qapi-types.c rename to msvc/unicorn/qapi-types.c diff --git a/msvc/unicorn/unicorn/qapi-visit.c b/msvc/unicorn/qapi-visit.c similarity index 100% rename from msvc/unicorn/unicorn/qapi-visit.c rename to msvc/unicorn/qapi-visit.c diff --git a/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj b/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj index 97005ae0..069ee041 100644 --- a/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj +++ b/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj @@ -134,7 +134,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-sparc;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -155,7 +155,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-sparc;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -178,7 +178,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-sparc;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -203,7 +203,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-sparc;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj b/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj index e6fa323e..1f3f2dfa 100644 --- a/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj +++ b/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj @@ -135,7 +135,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-sparc;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -156,7 +156,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-sparc;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreadedDebug @@ -179,7 +179,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-sparc;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded @@ -204,7 +204,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-sparc;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) MultiThreaded diff --git a/msvc/unicorn/unicorn/dllmain.cpp b/msvc/unicorn/unicorn/dllmain.cpp new file mode 100644 index 00000000..3d0eb145 --- /dev/null +++ b/msvc/unicorn/unicorn/dllmain.cpp @@ -0,0 +1,18 @@ +#include + +BOOL APIENTRY DllMain( HMODULE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + diff --git a/msvc/unicorn/unicorn/unicorn.vcxproj b/msvc/unicorn/unicorn/unicorn.vcxproj index fe4fb932..f4e397bc 100644 --- a/msvc/unicorn/unicorn/unicorn.vcxproj +++ b/msvc/unicorn/unicorn/unicorn.vcxproj @@ -18,6 +18,179 @@ x64 + + {ACB78BBB-E8F4-4EAD-B981-9C6155DE100B} + Win32Proj + unicorn + unicorn + + + + DynamicLibrary + true + v110_xp + MultiByte + + + DynamicLibrary + true + v110_xp + MultiByte + + + DynamicLibrary + false + v110_xp + true + MultiByte + + + DynamicLibrary + false + v110_xp + true + MultiByte + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)$(Platform)\$(Configuration)\ + $(ProjectDir)$(Platform)\$(Configuration)\ + + + true + $(ProjectDir)$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)$(Platform)\$(Configuration)\ + $(ProjectDir)$(Platform)\$(Configuration)\ + + + false + $(ProjectDir)$(Platform)\$(Configuration)\ + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;UNICORN_DLL_EXPORTS;UNICORN_SHARED;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86;WIN32_LEAN_AND_MEAN + .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg + /wd4018 /wd4244 /wd4267 %(AdditionalOptions) + MultiThreadedDebug + false + + + Windows + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib + $(SolutionDir)$(Platform)\$(Configuration)\ + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;UNICORN_DLL_EXPORTS;UNICORN_SHARED;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86;WIN32_LEAN_AND_MEAN + .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg + /wd4018 /wd4244 /wd4267 %(AdditionalOptions) + MultiThreadedDebug + false + + + Windows + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib + $(SolutionDir)$(Platform)\$(Configuration)\ + + + + + Level3 + NotUsing + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;UNICORN_DLL_EXPORTS;UNICORN_SHARED;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86;WIN32_LEAN_AND_MEAN + .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg + /wd4018 /wd4244 /wd4267 %(AdditionalOptions) + MultiThreaded + false + + + Windows + true + true + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib + $(SolutionDir)$(Platform)\$(Configuration)\ + + + mkdir $(SolutionDir)distro\ +mkdir $(SolutionDir)distro\include +mkdir $(SolutionDir)distro\include\unicorn +mkdir $(SolutionDir)distro\$(Platform) + +copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).dll $(SolutionDir)distro\$(Platform)\ +copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib $(SolutionDir)distro\$(Platform)\ + +copy $(SolutionDir)..\include\*.h $(SolutionDir)distro\include\ +copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\ + + + + + + Level3 + NotUsing + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;UNICORN_DLL_EXPORTS;UNICORN_SHARED;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86;WIN32_LEAN_AND_MEAN + .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg + /wd4018 /wd4244 /wd4267 %(AdditionalOptions) + MultiThreaded + false + + + Windows + true + true + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib + $(SolutionDir)$(Platform)\$(Configuration)\ + + + mkdir $(SolutionDir)distro\ +mkdir $(SolutionDir)distro\include +mkdir $(SolutionDir)distro\include\unicorn +mkdir $(SolutionDir)distro\$(Platform) + +copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).dll $(SolutionDir)distro\$(Platform)\ +copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib $(SolutionDir)distro\$(Platform)\ + +copy $(SolutionDir)..\include\*.h $(SolutionDir)distro\include\ +copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\ + + + @@ -58,8 +231,22 @@ - - + + + + false + false + + + + + false + false + + + + + @@ -169,172 +356,6 @@ - - {B6EFD6D7-C2D4-4FBB-B363-2E08CE09CC96} - Win32Proj - unicorn - - - - StaticLibrary - true - v110_xp - MultiByte - - - StaticLibrary - true - v110_xp - MultiByte - - - StaticLibrary - false - v110_xp - true - MultiByte - - - StaticLibrary - false - v110_xp - true - MultiByte - - - - - - - - - - - - - - - - - - - $(ProjectDir)$(Platform)\$(Configuration)\ - $(SolutionDir)$(Platform)\$(Configuration)\ - - - $(SolutionDir)$(Platform)\$(Configuration)\ - $(ProjectDir)$(Platform)\$(Configuration)\ - - - $(ProjectDir)$(Platform)\$(Configuration)\ - - - $(ProjectDir)$(Platform)\$(Configuration)\ - - - - - - Level3 - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86 - MultiThreadedDebug - .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg - /wd4018 /wd4244 /wd4267 %(AdditionalOptions) - false - - - Windows - true - - - $(SolutionDir)$(Platform)\$(Configuration)\ - ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib - - - ..\prebuild_script.bat - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86 - MultiThreadedDebug - .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg - /wd4018 /wd4244 /wd4267 %(AdditionalOptions) - false - - - Windows - true - - - $(SolutionDir)$(Platform)\$(Configuration)\ - ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib - - - ..\prebuild_script.bat - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86 - MultiThreaded - .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg - /wd4018 /wd4244 /wd4267 %(AdditionalOptions) - false - - - Windows - true - true - true - - - $(SolutionDir)$(Platform)\$(Configuration)\ - ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib - - - ..\prebuild_script.bat - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86 - MultiThreaded - .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg - /wd4018 /wd4244 /wd4267 %(AdditionalOptions) - false - - - Windows - true - true - true - - - $(SolutionDir)$(Platform)\$(Configuration)\ - ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib - - - ..\prebuild_script.bat - - diff --git a/msvc/unicorn/unicorn/unicorn.vcxproj.filters b/msvc/unicorn/unicorn/unicorn.vcxproj.filters index 20b07da6..149590fc 100644 --- a/msvc/unicorn/unicorn/unicorn.vcxproj.filters +++ b/msvc/unicorn/unicorn/unicorn.vcxproj.filters @@ -1,77 +1,7 @@  - - {13755027-3a13-46c3-9468-ed380fcef603} - - - {4f904f9f-fd99-4ebe-8db7-2ee2c644c6e4} - - - {1f3288bd-38e9-49c1-ae30-6ac4bc1b86c4} - - - {d98a987f-6e81-4454-9bb4-f79d49d1d8fa} - - - {9b261303-0cae-4e60-8bc9-c63cd6abd5bc} - - - {4078dd72-489d-48e6-a7c7-e27149f9513d} - - - {9264dcdf-55d8-4416-9b53-7962937b4db5} - - - {973f87b6-2729-473f-bda6-d61d8c799a77} - - - {235236d2-79fa-48f5-b496-cb79a9290f6b} - - - {4bb86c12-fd75-40be-9891-e4a84ca60703} - - - {b210c6e7-454a-400c-84c4-d2a10d96db1d} - - - {8bdec3ae-c802-4443-a6f4-e26bd030a1cf} - - - {e7cfa963-4fb5-4c9a-a264-402decbea01d} - - - {1890ac05-1098-492d-bc0d-50b6e8dd7fc0} - - - {76e19a4b-1143-456a-900c-9ce6c9c0d267} - - - {0e879645-49d7-4d24-9736-f85d69acceda} - - - {9ecedd1d-44a7-40d1-ad99-f06e49b39aa8} - - - {50ff932c-1464-4742-af74-fc9b42e4ef3a} - - - {ea61989d-dc0a-4146-87a0-63e5131d5302} - - - {044502cd-501d-40eb-86d0-4c8db24104c7} - - - {b1debb6d-f445-4f95-9778-d6b926541606} - - - {c5faa816-aae6-41b7-ac8d-40a9783786e0} - - - {62c5db3f-0d6d-4a3a-92b7-0cd602058a62} - - - + priv @@ -93,6 +23,45 @@ qemu + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + qemu\hw\core @@ -147,53 +116,85 @@ qemu\qom - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - - qemu\util - - + qemu - + qemu + + + {1d58ccd1-7ea5-40e0-ba38-304ac34bf08e} + + + {438f79b0-21e5-4a21-8e61-271b88a3130d} + + + {88e75519-13ca-431e-8b6d-d915d5e12231} + + + {669d34d7-8f38-47ac-ac1b-1f485bc9d6eb} + + + {2182308b-b1c8-4ac4-a779-c9d86c3cf97d} + + + {70273f5a-23c0-4274-acc8-0c398ec327e7} + + + {b84e89c5-c18f-4505-a2b9-b6cacbf97d1a} + + + {c0e7454f-a22a-4410-87e9-bd8668a2fc5b} + + + {0d15a173-37a6-4507-a128-de4316618e68} + + + {fcbdd971-b481-4edc-a96a-3cdaeeadf2e9} + + + {01269629-99a8-41ee-9595-b1c745b1a044} + + + {e1755d99-2324-43b4-9896-2400610e0b31} + + + {daf8ad72-5390-43b2-8c7b-082ce1084aed} + + + {da199412-30ad-4c72-9a5a-a7b280c00021} + + + {5f01eb28-ffe0-4371-a677-32ded26a33e2} + + + {dfebfef7-1435-4d09-89f6-94fb929f3488} + + + {969bee88-382e-4c05-9205-074f24bdaf82} + + + {7195ce60-b300-4dbe-8072-3e812167a036} + + + {0f13072a-571c-4c81-bef3-513758b38832} + + + {0ae19983-bbd0-448f-a319-574d45f59dfe} + + + {5653dd50-a557-4573-8f43-7ef26d0d4190} + + + {36443fca-61fc-4f64-a872-2ddd3d823cb9} + + + {5e47a1c2-85ab-48d6-921e-8915438c2cbf} + + priv @@ -207,6 +208,15 @@ qemu + + qemu + + + qemu + + + qemu + qemu\include @@ -231,15 +241,15 @@ qemu\include\exec + + qemu\include\exec + qemu\include\exec qemu\include\exec - - qemu\include\exec - qemu\include\exec @@ -484,18 +494,9 @@ + - - - qemu - - - qemu - - - qemu - \ No newline at end of file diff --git a/msvc/unicorn/unicorn_static/unicorn_static.vcxproj b/msvc/unicorn/unicorn_static/unicorn_static.vcxproj new file mode 100644 index 00000000..860a158e --- /dev/null +++ b/msvc/unicorn/unicorn_static/unicorn_static.vcxproj @@ -0,0 +1,366 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {B6EFD6D7-C2D4-4FBB-B363-2E08CE09CC96} + Win32Proj + unicorn_static + unicorn_static + + + + StaticLibrary + true + v110_xp + MultiByte + + + StaticLibrary + true + v110_xp + MultiByte + + + StaticLibrary + false + v110_xp + true + MultiByte + + + StaticLibrary + false + v110_xp + true + MultiByte + + + + + + + + + + + + + + + + + + + $(ProjectDir)$(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(ProjectDir)$(Platform)\$(Configuration)\ + + + $(ProjectDir)$(Platform)\$(Configuration)\ + + + $(ProjectDir)$(Platform)\$(Configuration)\ + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86;WIN32_LEAN_AND_MEAN + MultiThreadedDebug + .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg + /wd4018 /wd4244 /wd4267 %(AdditionalOptions) + false + + + Windows + true + + + $(SolutionDir)$(Platform)\$(Configuration)\ + ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib + + + ..\prebuild_script.bat + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86;WIN32_LEAN_AND_MEAN + MultiThreadedDebug + .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg + /wd4018 /wd4244 /wd4267 %(AdditionalOptions) + false + + + Windows + true + + + $(SolutionDir)$(Platform)\$(Configuration)\ + ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib + + + ..\prebuild_script.bat + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86;WIN32_LEAN_AND_MEAN + MultiThreaded + .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg + /wd4018 /wd4244 /wd4267 %(AdditionalOptions) + false + + + Windows + true + true + true + + + $(SolutionDir)$(Platform)\$(Configuration)\ + ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib + + + ..\prebuild_script.bat + + + mkdir $(SolutionDir)distro\ +mkdir $(SolutionDir)distro\include +mkdir $(SolutionDir)distro\include\unicorn +mkdir $(SolutionDir)distro\$(Platform) + +copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib $(SolutionDir)distro\$(Platform)\ + +copy $(SolutionDir)..\include\*.h $(SolutionDir)distro\include\ +copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\ + + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_ARM;UNICORN_HAS_ARM64;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86;WIN32_LEAN_AND_MEAN + MultiThreaded + .;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg + /wd4018 /wd4244 /wd4267 %(AdditionalOptions) + false + + + Windows + true + true + true + + + $(SolutionDir)$(Platform)\$(Configuration)\ + ws2_32.lib;aarch64-softmmu.lib;arm-softmmu.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib + + + ..\prebuild_script.bat + + + mkdir $(SolutionDir)distro\ +mkdir $(SolutionDir)distro\include +mkdir $(SolutionDir)distro\include\unicorn +mkdir $(SolutionDir)distro\$(Platform) + +copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib $(SolutionDir)distro\$(Platform)\ + +copy $(SolutionDir)..\include\*.h $(SolutionDir)distro\include\ +copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\ + + + + + + + \ No newline at end of file diff --git a/msvc/unicorn/unicorn_static/unicorn_static.vcxproj.filters b/msvc/unicorn/unicorn_static/unicorn_static.vcxproj.filters new file mode 100644 index 00000000..8dd77e0a --- /dev/null +++ b/msvc/unicorn/unicorn_static/unicorn_static.vcxproj.filters @@ -0,0 +1,501 @@ + + + + + {13755027-3a13-46c3-9468-ed380fcef603} + + + {4f904f9f-fd99-4ebe-8db7-2ee2c644c6e4} + + + {1f3288bd-38e9-49c1-ae30-6ac4bc1b86c4} + + + {d98a987f-6e81-4454-9bb4-f79d49d1d8fa} + + + {9b261303-0cae-4e60-8bc9-c63cd6abd5bc} + + + {4078dd72-489d-48e6-a7c7-e27149f9513d} + + + {9264dcdf-55d8-4416-9b53-7962937b4db5} + + + {973f87b6-2729-473f-bda6-d61d8c799a77} + + + {235236d2-79fa-48f5-b496-cb79a9290f6b} + + + {4bb86c12-fd75-40be-9891-e4a84ca60703} + + + {b210c6e7-454a-400c-84c4-d2a10d96db1d} + + + {8bdec3ae-c802-4443-a6f4-e26bd030a1cf} + + + {e7cfa963-4fb5-4c9a-a264-402decbea01d} + + + {1890ac05-1098-492d-bc0d-50b6e8dd7fc0} + + + {76e19a4b-1143-456a-900c-9ce6c9c0d267} + + + {0e879645-49d7-4d24-9736-f85d69acceda} + + + {9ecedd1d-44a7-40d1-ad99-f06e49b39aa8} + + + {50ff932c-1464-4742-af74-fc9b42e4ef3a} + + + {ea61989d-dc0a-4146-87a0-63e5131d5302} + + + {044502cd-501d-40eb-86d0-4c8db24104c7} + + + {b1debb6d-f445-4f95-9778-d6b926541606} + + + {c5faa816-aae6-41b7-ac8d-40a9783786e0} + + + {62c5db3f-0d6d-4a3a-92b7-0cd602058a62} + + + + + priv + + + qemu + + + qemu + + + qemu + + + qemu + + + qemu + + + qemu + + + qemu\hw\core + + + qemu\hw\core + + + qemu\qapi + + + qemu\qapi + + + qemu\qapi + + + qemu\qapi + + + qemu\qapi + + + qemu\qobject + + + qemu\qobject + + + qemu\qobject + + + qemu\qobject + + + qemu\qobject + + + qemu\qobject + + + qemu\qobject + + + qemu\qom + + + qemu\qom + + + qemu\qom + + + qemu\qom + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + qemu\util + + + + qemu + + + qemu + + + + + priv + + + priv + + + priv + + + qemu + + + qemu\include + + + qemu\include + + + qemu\include + + + qemu\include + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\exec + + + qemu\include\fpu + + + qemu\include\hw + + + qemu\include\hw + + + qemu\include\hw + + + qemu\include\hw + + + qemu\include\hw + + + qemu\include\hw\arm + + + qemu\include\hw\cpu + + + qemu\include\hw\i386 + + + qemu\include\hw\i386 + + + qemu\include\hw\i386 + + + qemu\include\hw\m68k + + + qemu\include\hw\m68k + + + qemu\include\hw\mips + + + qemu\include\hw\mips + + + qemu\include\hw\mips + + + qemu\include\hw\sparc + + + qemu\include\hw\sparc + + + qemu\include\hw\sparc + + + qemu\include\hw\sparc + + + qemu\include\qapi + + + qemu\include\qapi + + + qemu\include\qapi + + + qemu\include\qapi + + + qemu\include\qapi + + + qemu\include\qapi + + + qemu\include\qapi + + + qemu\include\qapi + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qapi\qmp + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qemu + + + qemu\include\qom + + + qemu\include\qom + + + qemu\include\qom + + + qemu\include\sysemu + + + qemu\include\sysemu + + + qemu\include\sysemu + + + qemu\include\sysemu + + + qemu\include\sysemu + + + + + + + + + + + qemu + + + qemu + + + qemu + + + \ No newline at end of file diff --git a/msvc/unicorn/x86_64-softmmu/x86_64-softmmu.vcxproj b/msvc/unicorn/x86_64-softmmu/x86_64-softmmu.vcxproj index 472c24f6..98f1826d 100644 --- a/msvc/unicorn/x86_64-softmmu/x86_64-softmmu.vcxproj +++ b/msvc/unicorn/x86_64-softmmu/x86_64-softmmu.vcxproj @@ -147,7 +147,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN MultiThreadedDebug .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-i386;../../../include x86_64.h @@ -168,7 +168,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;_DEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN MultiThreadedDebug .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-i386;../../../include x86_64.h @@ -191,7 +191,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__i386__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN MultiThreaded .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-i386;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions) @@ -216,7 +216,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H + WIN32;NDEBUG;_LIB;__x86_64__;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;NEED_CPU_H;WIN32_LEAN_AND_MEAN MultiThreaded .;..;../../../qemu;../../../qemu/include;../../../qemu/tcg;../../../qemu/tcg/i386;../../../qemu/target-i386;../../../include /wd4018 /wd4244 /wd4267 %(AdditionalOptions)