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:
dsandersoremutah
2006-04-05 19:13:49 +00:00
parent 47ad2fe4a0
commit 6aa37ce81b

View File

@@ -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!