Set eol-style property to Unix (LF)
git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@301 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
@@ -1,87 +1,87 @@
|
||||
Building on Windows
|
||||
===================
|
||||
Visual C++ 8.0 Express is good, but more to the point, it's free.
|
||||
To build FLAIM, you will need to download and install VC8 Express and the
|
||||
latest Windows Platform SDK, as VC8 Express only comes with .NET libraries.
|
||||
You can get VC8 Express here:
|
||||
|
||||
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
|
||||
|
||||
Click the Download link on the right, and CAREFULLY follow steps 1 through
|
||||
4 on that page. The 4th step links to a page that indicates how to install
|
||||
the Windows Platform SDK. It looks painful, but it's really rather simple.
|
||||
|
||||
Once VC8 Express and the Platform SDK have been installed and configured
|
||||
to work correctly with each other (and after the obligatory set of reboots),
|
||||
you can simply double click on the flaim solution (flaim.sln) file to bring
|
||||
up the flaim project in the VC8 IDE. Use the main or context menu options
|
||||
to build the desired targets.
|
||||
|
||||
At some near future point, we hope to be able to build with autotools under
|
||||
Cygwin. Of course, VC8 Express (or Professional) will still be required, but
|
||||
at least the build process will be the same for all platforms.
|
||||
|
||||
FLAIM Runtime Library Use
|
||||
=========================
|
||||
FLAIM libraries - both static and dynamic - and the flaim utilities
|
||||
consume the dynamic (DLL) form of the VC8 runtime libraries. This is in
|
||||
alignment with the use of runtime libraries on Unix platforms. It's more
|
||||
efficient and flexible to use the DLL versions of these libraries, and
|
||||
it allows Microsoft to update these libraries as necessary to fix security
|
||||
holes and defects which may be found in the future.
|
||||
|
||||
With each new version of Windows and Microsoft tools, Microsoft
|
||||
platforms become more security minded - and more secure. This is
|
||||
generally done by copying features from Unix platforms into the Windows
|
||||
operating system and into the tools themselves. Visual Studio 2005 is no
|
||||
exception. The most significant security feature in VC8 (IMHO) is secure
|
||||
package deployment and executable module manifests. This is nothing less
|
||||
than the direct equivalent of RPATH's in Unix and Linux, and the usual
|
||||
security features - and annoying issues - come along with it.
|
||||
|
||||
The VC8 runtime libraries include MSVCR80.DLL, MSVCP80.DLL and
|
||||
MSVCM80.DLL, which represent the C standard library, the C++ standard
|
||||
library, and the C math library, respectively. These libraries may no
|
||||
longer be simply dropped into the same directory as your executable and
|
||||
consumed. Executables and consumer DLL's need to be configured to build
|
||||
with a manifest file (a default setting for new projects), and the runtime
|
||||
libraries need to be "deployed". Deployment consists of running a
|
||||
significant algorithm to determine platform requirements and features,
|
||||
and making the right decisions to install these runtime libraries.
|
||||
|
||||
Developers (like you) will not have a problem executing your own
|
||||
projects built against the FLAIM libraries because you've installed VC8,
|
||||
which consumes the VC8 runtime libraries, and so deploys it during its
|
||||
install process. For more information, see this excellent article on
|
||||
the CodeProjects website:
|
||||
|
||||
http://www.codeproject.com/cpp/vcredists_x86.asp
|
||||
|
||||
|
||||
Legacy Makefile
|
||||
===============
|
||||
There is also a legacy makefile that has been hand written to target
|
||||
flaim for all of the platforms that flaim currently supports. If you don't
|
||||
want to use autotools, and you don't feel comfortable in the VC8 IDE, then
|
||||
you may build for windows by simply running make from the root of the FLAIM
|
||||
project. This makefile accepts multiple auxilliary targets, which modify
|
||||
the build in various ways. These auxilliary targets include:
|
||||
|
||||
debug
|
||||
release
|
||||
32bit
|
||||
64bit
|
||||
verbose
|
||||
usegcc
|
||||
flm_dbg_log
|
||||
|
||||
True build targets include:
|
||||
|
||||
libs (default) - flaim libraries (static and dynamic)
|
||||
checkdb - checkdb.exe
|
||||
rebuild - rebuild.exe
|
||||
view - view.exe
|
||||
ut_basictest - basic unit tests
|
||||
sample - sample.exe
|
||||
|
||||
Enjoy!
|
||||
Building on Windows
|
||||
===================
|
||||
Visual C++ 8.0 Express is good, but more to the point, it's free.
|
||||
To build FLAIM, you will need to download and install VC8 Express and the
|
||||
latest Windows Platform SDK, as VC8 Express only comes with .NET libraries.
|
||||
You can get VC8 Express here:
|
||||
|
||||
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
|
||||
|
||||
Click the Download link on the right, and CAREFULLY follow steps 1 through
|
||||
4 on that page. The 4th step links to a page that indicates how to install
|
||||
the Windows Platform SDK. It looks painful, but it's really rather simple.
|
||||
|
||||
Once VC8 Express and the Platform SDK have been installed and configured
|
||||
to work correctly with each other (and after the obligatory set of reboots),
|
||||
you can simply double click on the flaim solution (flaim.sln) file to bring
|
||||
up the flaim project in the VC8 IDE. Use the main or context menu options
|
||||
to build the desired targets.
|
||||
|
||||
At some near future point, we hope to be able to build with autotools under
|
||||
Cygwin. Of course, VC8 Express (or Professional) will still be required, but
|
||||
at least the build process will be the same for all platforms.
|
||||
|
||||
FLAIM Runtime Library Use
|
||||
=========================
|
||||
FLAIM libraries - both static and dynamic - and the flaim utilities
|
||||
consume the dynamic (DLL) form of the VC8 runtime libraries. This is in
|
||||
alignment with the use of runtime libraries on Unix platforms. It's more
|
||||
efficient and flexible to use the DLL versions of these libraries, and
|
||||
it allows Microsoft to update these libraries as necessary to fix security
|
||||
holes and defects which may be found in the future.
|
||||
|
||||
With each new version of Windows and Microsoft tools, Microsoft
|
||||
platforms become more security minded - and more secure. This is
|
||||
generally done by copying features from Unix platforms into the Windows
|
||||
operating system and into the tools themselves. Visual Studio 2005 is no
|
||||
exception. The most significant security feature in VC8 (IMHO) is secure
|
||||
package deployment and executable module manifests. This is nothing less
|
||||
than the direct equivalent of RPATH's in Unix and Linux, and the usual
|
||||
security features - and annoying issues - come along with it.
|
||||
|
||||
The VC8 runtime libraries include MSVCR80.DLL, MSVCP80.DLL and
|
||||
MSVCM80.DLL, which represent the C standard library, the C++ standard
|
||||
library, and the C math library, respectively. These libraries may no
|
||||
longer be simply dropped into the same directory as your executable and
|
||||
consumed. Executables and consumer DLL's need to be configured to build
|
||||
with a manifest file (a default setting for new projects), and the runtime
|
||||
libraries need to be "deployed". Deployment consists of running a
|
||||
significant algorithm to determine platform requirements and features,
|
||||
and making the right decisions to install these runtime libraries.
|
||||
|
||||
Developers (like you) will not have a problem executing your own
|
||||
projects built against the FLAIM libraries because you've installed VC8,
|
||||
which consumes the VC8 runtime libraries, and so deploys it during its
|
||||
install process. For more information, see this excellent article on
|
||||
the CodeProjects website:
|
||||
|
||||
http://www.codeproject.com/cpp/vcredists_x86.asp
|
||||
|
||||
|
||||
Legacy Makefile
|
||||
===============
|
||||
There is also a legacy makefile that has been hand written to target
|
||||
flaim for all of the platforms that flaim currently supports. If you don't
|
||||
want to use autotools, and you don't feel comfortable in the VC8 IDE, then
|
||||
you may build for windows by simply running make from the root of the FLAIM
|
||||
project. This makefile accepts multiple auxilliary targets, which modify
|
||||
the build in various ways. These auxilliary targets include:
|
||||
|
||||
debug
|
||||
release
|
||||
32bit
|
||||
64bit
|
||||
verbose
|
||||
usegcc
|
||||
flm_dbg_log
|
||||
|
||||
True build targets include:
|
||||
|
||||
libs (default) - flaim libraries (static and dynamic)
|
||||
checkdb - checkdb.exe
|
||||
rebuild - rebuild.exe
|
||||
view - view.exe
|
||||
ut_basictest - basic unit tests
|
||||
sample - sample.exe
|
||||
|
||||
Enjoy!
|
||||
|
||||
Reference in New Issue
Block a user