update docs for MSVC port
This commit is contained in:
parent
2a941e3efb
commit
978b803d04
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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.
|
Loading…
Reference in New Issue