update docs for MSVC port

This commit is contained in:
Nguyen Anh Quynh 2017-01-24 23:20:19 +08:00
parent 2a941e3efb
commit 978b803d04
2 changed files with 5 additions and 18 deletions

View file

@ -1,4 +1,8 @@
We also show steps to cross-compile Unicorn for Microsoft Windows. To build Unicorn on Windows natively using Visual Studio, see docs under "msvc"
directory in root directory.
The rest of this manual shows how to cross-compile Unicorn for Windows using
either MingW or Msys2.
To compile for Linux, Mac OS X and Unix-based OS, see [COMPILE-NIX.md](COMPILE-NIX.md) To compile for Linux, Mac OS X and Unix-based OS, see [COMPILE-NIX.md](COMPILE-NIX.md)

View file

@ -1,6 +1,3 @@
Unicorn-Engine MSVC Native Port Notes Unicorn-Engine MSVC Native Port Notes
Zak Escano - January 2017 Zak Escano - January 2017
@ -8,9 +5,6 @@ Zak Escano - January 2017
These notes are to help myself and others with the upkeep of the msvc native port These notes are to help myself and others with the upkeep of the msvc native port
of unicorn-engine. of unicorn-engine.
:: Build settings :: Build settings
Visual Studio Version: Visual Studio 2012 v11.061219.00 Update 5 Visual Studio Version: Visual Studio 2012 v11.061219.00 Update 5
@ -22,8 +16,6 @@ Precompiled Header: Not Using Precompiled Headers
Additional Options: /wd4018 /wd4244 /wd4267 Additional Options: /wd4018 /wd4244 /wd4267
:: Winsock inclusion :: Winsock inclusion
One of the hacks done for this was to implement usleep() in windows using a One of the hacks done for this was to implement usleep() in windows using a
@ -36,8 +28,6 @@ changed to no longer require the usleep() calls, the winsock related code
can be removed entirely. can be removed entirely.
:: Changes porting unicorn from GNU/GCC to MSVC. :: Changes porting unicorn from GNU/GCC to MSVC.
There were many many many changes to make this also build in MSVC There were many many many changes to make this also build in MSVC
@ -64,8 +54,6 @@ Some of the more common changes were:
stdbool.h, stdint.h, sys/time.h, unistd.h stdbool.h, stdint.h, sys/time.h, unistd.h
:: CPU specific libraries :: CPU specific libraries
The gnu/gcc way of building the qemu portion of unicorn-engine involves makefile magic The gnu/gcc way of building the qemu portion of unicorn-engine involves makefile magic
@ -85,7 +73,6 @@ The way I handle this in MSVC is to build a seperate cpu specific library, conta
this set of repeatedly used sourcecode files, for each supported cpu type. this set of repeatedly used sourcecode files, for each supported cpu type.
These cpu specific libraries are then linked together to build the unicorn library. These cpu specific libraries are then linked together to build the unicorn library.
For each supported CPU type For each supported CPU type
* Each CPU specific lib has a "forced include" file specified at: * Each CPU specific lib has a "forced include" file specified at:
@ -93,8 +80,6 @@ For each supported CPU type
so for x86-64 this is "the file "x86_64.h" which is a generated file. so for x86-64 this is "the file "x86_64.h" which is a generated file.
:: Other things :: Other things
* The Qemu code for GNU/GCC seems to rely on __i386__ or __x86_64__ defined if * The Qemu code for GNU/GCC seems to rely on __i386__ or __x86_64__ defined if
@ -107,8 +92,6 @@ For each supported CPU type
It is NOT built separately as part of the *.c files for the project. It is NOT built separately as part of the *.c files for the project.
:: Info from makefiles :: Info from makefiles
This info is compiled here together to help with deciding on the build settings to use. This info is compiled here together to help with deciding on the build settings to use.