Made README and README.W32 files more project specific.

git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@1077 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
jcalcote
2008-07-02 23:01:23 +00:00
parent 1640f62c49
commit 80a19892fb
9 changed files with 206 additions and 246 deletions

4
README
View File

@@ -46,6 +46,10 @@ Both of these techniques work with all three of the higher level projects.
Autotools Build
---------------
IMPORTANT: You must have installed Autoconf version 2.62, Automake version
1.10 and Libtool version 2.2. These are the latest versions of these three
tools, as of this writing (July 2, 2008).
To build the flaim-projects from a Subversion working copy, just create
a clean working copy from the Subversion repository at:

View File

@@ -32,16 +32,12 @@ to build the desired targets.
The flaim project solution files are located in the win32 directories
in the following locations:
flaim-projects
flaim
win32 - flaim.sln
ftk
win32 - flaimtk.sln
sql
win32 - flaimsql.sln
xflaim
win32 - xflaim.sln
win32 - flaim-projects.sln
trunk\flaim
flaim\win32\flaim - flaim.sln
ftk\win32\ftk - flaimtk.sln
sql\win32\sql - flaimsql.sln
xflaim\win32\xflaim - xflaim.sln
win32\flaim-projects - flaim-projects.sln
The projects may be build individually from each of the lower-level
solution files, or all at once from the flaim-projects solution file.
@@ -90,51 +86,45 @@ the CodeProjects website:
GUI or Command-Line Build
-------------------------
The flaim-projects repository is divided into four sub-projects, named
for the sub-directories in which they reside:
The flaim SVN repository is divided into four sub-projects, named for the
sub-directories in which they reside:
* flaim
* ftk
* sql
* xflaim
Each of these sub-projects is a complete project in its own right. The only
inter-project dependencies among them are that the flaim, sql and xflaim
projects depend on the FLAIM Tool Kit library (flaimtk) and header file
(flaimtk.h) provided by the ftk project.
Each of these sub-projects is a complete project in its own right. However,
the flaim, sql and xflaim projects each depend on the flaimtk libraries built
by the ftk project, and on the flaimtk.h header file.
When these four projects are built from the flaim\trunk\win32\flaim-projects
directory, using the flaim-projects.sln solution file or the buildall.cmd
file in that directory, the dependencies are managed for you by the umbrella
solution.
When one of these higher-level projects is is built from the
flaim\win32\flaim-projects directory, using the flaim-projects.sln solution
file or the buildall.cmd file in that directory, the dependencies are managed
for you by this umbrella solution.
However, each of the four sub-projects may also be built as separate projects,
simply by changing into the desired win32\<project> sub-directory, and then
running ONE of the following two commands:
c:> buildall.cmd [debug|release]
c:> devenv <project-name>.sln
The latter will bring up the Visual C++ 2008 IDE, so you can build in a
"GUI" fashion. The former will use devenv command line options to build
from the commnand line.
When you build a sub-project by itself in this manner, you need to provide
the location of the flaimtk library by setting a few environment variables:
However, when you build one of these three higher-level database projects by
themselves, using the <project>\win32\<project>\<project>.sln solution file,
then you need to provide the location of the flaimtk libraries and the
flaimtk.h header file by setting a few environment variables in the
environment from which you launch the VC++ 2008 IDE, via the "devenv" command,
as in the following command sequence:
c:> set FTKINC=c:\full\path\to\ftk\src\directory
c:> set FTKLIB_STATIC_DEBUG=c:\full\path\to\debug\flaimtk_static.lib
c:> set FTKLIB_STATIC_RELEASE=c:\full\path\to\release\flaimtk_static.lib
c:> set FTKLIB_DEBUG=c:\full\path\to\debug\flaimtk.lib
c:> set FTKLIB_RELEASE=c:\full\path\to\release\flaimtk.lib
c:> devenv <project>.sln
This technique works with all three of the higher level projects.
(or)
CAVEAT: Currently, the include directory location for flaimtk.h is hard-coded
into the three higher-level projects, so the ftk project must be located in
the relative path specified above -- that is, ftk must be co-located in the
same parent directory as the flaim, sql and xflaim directories. This will be
fixed soon to work with environment variables in the same manner as the
library paths.
c:> buildall.cmd [debug|release]
NOTE: You may also use relative paths in these variables, but this is tricky,
because each project is built from the directory containing the solution
(.sln) file, so you'll have to calculate these paths relative to the
flaim/win32/flaim directory, as that's where the flaim.sln file is located.
Legacy Makefile
---------------

View File

@@ -47,6 +47,10 @@ called "ut_basictest", which is built and executed during "make check".
Building FLAIM
--------------
IMPORTANT: You must have installed Autoconf version 2.62, Automake version
1.10 and Libtool version 2.2. These are the latest versions of these three
tools, as of this writing (July 2, 2008).
Building FLAIM on Unix and Linux systems is as simple as with any other
Autotools-based project. If you're building from an SVN working directory,
enter the following command first, immediately after a clean check-out:

View File

@@ -1,5 +1,5 @@
flaim-projects README.W32 file
==============================
flaim project README for Windows
================================
Contents:
--------
@@ -7,144 +7,124 @@ Contents:
2. FLAIM Runtime Library Use
3. GUI or Command-Line Build
4. Legacy Makefile
5. A Word About the Utilities
Tools for Building on Windows
-----------------------------
Visual C++ 2008 Express is good, but more to the point, it's free.
To build the FLAIM projects, you will need to download and install
Visual C++ 2008 Express (which now thankfully comes with a reasonably
late version of the Windows Platform SDK).
Visual C++ 2008 Express is good, but more to the point, it's free. To build
the FLAIM projects, you will need to download and install Visual C++ 2008
Express (which now thankfully comes with a reasonably late version of the
Windows Platform SDK).
You can get Visual C++ 2008 Express here:
http://www.microsoft.com/express/vc
The ">> Download Now!" link on that page, and decide whether you want to
install from the web (slow) or install off-line (also slow - there's no
fast solution, sorry).
The ">> Download Now!" link on that page, and decide whether you want to
install from the web (slow) or install off-line (also slow - there's no fast
solution, sorry).
Once Visual C++ 2008 Express has been installed you may simply double
click on any of the flaim project solution files to bring up the flaim
project in the Visual C++ 2008 IDE. Use the main or context menu options
to build the desired targets.
The flaim project solution files are located in the win32 directories
in the following locations:
flaim-projects
flaim
win32 - flaim.sln
ftk
win32 - flaimtk.sln
sql
win32 - flaimsql.sln
xflaim
win32 - xflaim.sln
win32 - flaim-projects.sln
The projects may be build individually from each of the lower-level
solution files, or all at once from the flaim-projects solution file.
WARNING: The flaim-projects solution file refers to the same project
files as the individual lower-level solution files, so if you make
changes in one of these, they'll be reflected in the other.
Once Visual C++ 2008 Express has been installed you may simply double click
on the flaim\win32\flaim\flaim.sln solution file to bring up the flaim project
in the Visual C++ 2008 IDE. Use the main or context menu options to build the
desired targets.
FLAIM Runtime Library Use
-------------------------
FLAIM libraries - both static and dynamic - and the flaim utilities
consume the dynamic (DLL) form of the Visual C++ 2008 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.
The flaim libraries - both static and dynamic - and the flaim utility programs
consume the dynamic (DLL) form of the Visual C++ 2008 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 2008 is no
exception. The most significant security feature in Visual C++ 2008 (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.
With each new version of Windows and Microsoft tools, Microsoft platforms
become more security minded - and consequently more secure. This is generally
done by copying features from Unix platforms into the Windows operating system
and into the tools themselves. Visual Studio 2008 is no exception. The most
significant security feature in Visual C++ 2008 (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 Visual C++ 2008 runtime libraries include MSVCR90.DLL, MSVCP90.DLL and
MSVCM90.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.
MSVCM90.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:
Developers (like you) will not have a problem executing your own projects
built against the FLAIM libraries because you've installed VC++ 2008,
(actually VC9) which consumes the VC9 runtime libraries, and so deploys them
during its install process. For more information, see this excellent article
on the CodeProjects website:
http://www.codeproject.com/cpp/vcredists_x86.asp
GUI or Command-Line Build
-------------------------
The flaim-projects repository is divided into four sub-projects, named
for the sub-directories in which they reside:
The flaim project is a complete VC++ 2008 project in its own right, and may be
used to build the flaim libraries and utilities by simply by changing into the
flaim\win32\flaim sub-directory and then running ONE of the following two
commands:
c:> buildall.cmd [debug|release]
c:> devenv flaim.sln
The latter will bring up the Visual C++ 2008 IDE, so you can build in a "GUI"
fashion. The former will use devenv command line options to build from the
command line.
The flaim SVN repository is divided into four sub-projects, named for the
sub-directories in which they reside:
* flaim
* ftk
* sql
* xflaim
Each of these sub-projects is a complete project in its own right. The only
inter-project dependencies among them are that the flaim, sql and xflaim
projects depend on the FLAIM Tool Kit library (flaimtk) and header file
(flaimtk.h) provided by the ftk project.
Each of these sub-projects is a complete project in its own right. However,
the flaim, sql and xflaim projects each depend on the flaimtk libraries built
by the ftk project, and on the flaimtk.h header file.
When these four projects are built from the flaim\trunk\win32\flaim-projects
When the flaim project is is built from the flaim\trunk\win32\flaim-projects
directory, using the flaim-projects.sln solution file or the buildall.cmd
file in that directory, the dependencies are managed for you by the umbrella
file in that directory, the dependencies are managed for you by this umbrella
solution.
However, each of the four sub-projects may also be built as separate projects,
simply by changing into the desired win32\<project> sub-directory, and then
running ONE of the following two commands:
c:> buildall.cmd [debug|release]
c:> devenv <project-name>.sln
The latter will bring up the Visual C++ 2008 IDE, so you can build in a
"GUI" fashion. The former will use devenv command line options to build
from the commnand line.
When you build a sub-project by itself in this manner, you need to provide
the location of the flaimtk library by setting a few environment variables:
When you build the flaim sub-project by itself in this manner, you need to
provide the location of the flaimtk library by setting a few environment
variables in the environment from which you launch the VC++ 2008 IDE, via
the "devenv" command, as in the following command sequence:
c:> set FTKINC=c:\full\path\to\ftk\src\directory
c:> set FTKLIB_STATIC_DEBUG=c:\full\path\to\debug\flaimtk_static.lib
c:> set FTKLIB_STATIC_RELEASE=c:\full\path\to\release\flaimtk_static.lib
c:> set FTKLIB_DEBUG=c:\full\path\to\debug\flaimtk.lib
c:> set FTKLIB_RELEASE=c:\full\path\to\release\flaimtk.lib
c:> devenv
This technique works with all three of the higher level projects.
CAVEAT: Currently, the include directory location for flaimtk.h is hard-coded
into the three higher-level projects, so the ftk project must be located in
the relative path specified above -- that is, ftk must be co-located in the
same parent directory as the flaim, sql and xflaim directories. This will be
fixed soon to work with environment variables in the same manner as the
library paths.
NOTE: You may also use relative paths in these variables, but this is tricky,
because each project is built from the directory containing the solution
(.sln) file, so you'll have to calculate these paths relative to the
flaim/win32/flaim directory, as that's where the flaim.sln file is located.
Legacy Makefile
---------------
There is also a legacy makefile (GNUMakefile) 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 Visual C++
2008 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:
There is also a legacy makefile (GNUMakefile) 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 Visual C++
2008 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
@@ -165,8 +145,34 @@ True build targets include:
CAVEAT: We're trying to phase out the legacy GNU makefile build system, so:
1) Don't expect it to last forever, and
2) Don't be surprised if it doesn't work all the time
a) Don't expect it to last forever, and
b) Don't be surprised if it doesn't work all the time
A Word About the Utilities
--------------------------
The flaim console utility programs include the following:
* flmcheckdb.exe,
* flmrebuild.exe,
* flmview.exe,
* flmdbshell.exe and
* flmgigatest.exe
Additionally, there is a single unit test (which may also be executed from
the Windows command prompt) in the flaim project called:
* ut_basictest
These utilities and tests are currently statically linked to the flaim and
flaimtk libraries, because they access internal functionality that is not
part of the public interfaces of either of these libraries.
They do well what they were designed to do, and from that angle, they are
very useful utilities. But they are NOT good examples of FLAIM database
applications. The reason they access internal functionality is because they
need to be able to analyze and display information about flaim databases that
is not generally useful from the perspective of a normal database application.
Enjoy!

View File

@@ -30,6 +30,10 @@ directory. The test utility is currently only built when you enter
Building the FLAIM Tool Kit
---------------------------
IMPORTANT: You must have installed Autoconf version 2.62, Automake version
1.10 and Libtool version 2.2. These are the latest versions of these three
tools, as of this writing (July 2, 2008).
Building FTK on Unix and Linux systems is as simple as with any other
Autotools-based project. If you're building from an SVN working directory,
enter the following command first, immediately after a clean check-out:

View File

@@ -1,140 +1,84 @@
flaim-projects README.W32 file
ftk project README for Windows
==============================
Contents:
--------
1. Tools for Building on Windows
2. FLAIM Runtime Library Use
2. FTK Runtime Library Use
3. GUI or Command-Line Build
4. Legacy Makefile
Tools for Building on Windows
-----------------------------
Visual C++ 2008 Express is good, but more to the point, it's free.
To build the FLAIM projects, you will need to download and install
Visual C++ 2008 Express (which now thankfully comes with a reasonably
late version of the Windows Platform SDK).
Visual C++ 2008 Express is good, but more to the point, it's free. To build
the FLAIM projects, you will need to download and install Visual C++ 2008
Express (which now thankfully comes with a reasonably late version of the
Windows Platform SDK).
You can get Visual C++ 2008 Express here:
http://www.microsoft.com/express/vc
The ">> Download Now!" link on that page, and decide whether you want to
install from the web (slow) or install off-line (also slow - there's no
fast solution, sorry).
The ">> Download Now!" link on that page, and decide whether you want to
install from the web (slow) or install off-line (also slow - there's no fast
solution, sorry).
Once Visual C++ 2008 Express has been installed you may simply double
click on any of the flaim project solution files to bring up the flaim
project in the Visual C++ 2008 IDE. Use the main or context menu options
to build the desired targets.
Once Visual C++ 2008 Express has been installed you may simply double click
on the ftk\win32\ftk\ftk.sln solution file to bring up the ftk project in the
Visual C++ 2008 IDE. Use the main or context menu options to build the desired
targets.
The flaim project solution files are located in the win32 directories
in the following locations:
FTK Runtime Library Use
-----------------------
flaim-projects
flaim
win32 - flaim.sln
ftk
win32 - flaimtk.sln
sql
win32 - flaimsql.sln
xflaim
win32 - xflaim.sln
win32 - flaim-projects.sln
The flaimtk libraries - both static and dynamic - and the ftktest program
consume the dynamic (DLL) form of the Visual C++ 2008 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.
The projects may be build individually from each of the lower-level
solution files, or all at once from the flaim-projects solution file.
WARNING: The flaim-projects solution file refers to the same project
files as the individual lower-level solution files, so if you make
changes in one of these, they'll be reflected in the other.
FLAIM Runtime Library Use
-------------------------
FLAIM libraries - both static and dynamic - and the flaim utilities
consume the dynamic (DLL) form of the Visual C++ 2008 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 2008 is no
exception. The most significant security feature in Visual C++ 2008 (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.
With each new version of Windows and Microsoft tools, Microsoft platforms
become more security minded - and consequently more secure. This is generally
done by copying features from Unix platforms into the Windows operating system
and into the tools themselves. Visual Studio 2008 is no exception. The most
significant security feature in Visual C++ 2008 (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 Visual C++ 2008 runtime libraries include MSVCR90.DLL, MSVCP90.DLL and
MSVCM90.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.
MSVCM90.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:
Developers (like you) will not have a problem executing your own projects
built against the FLAIM libraries because you've installed VC++ 2008,
(actually VC9) which consumes the VC9 runtime libraries, and so deploys them
during its install process. For more information, see this excellent article
on the CodeProjects website:
http://www.codeproject.com/cpp/vcredists_x86.asp
GUI or Command-Line Build
-------------------------
The flaim-projects repository is divided into four sub-projects, named
for the sub-directories in which they reside:
* flaim
* ftk
* sql
* xflaim
Each of these sub-projects is a complete project in its own right. The only
inter-project dependencies among them are that the flaim, sql and xflaim
projects depend on the FLAIM Tool Kit library (flaimtk) and header file
(flaimtk.h) provided by the ftk project.
When these four projects are built from the flaim\trunk\win32\flaim-projects
directory, using the flaim-projects.sln solution file or the buildall.cmd
file in that directory, the dependencies are managed for you by the umbrella
solution.
However, each of the four sub-projects may also be built as separate projects,
simply by changing into the desired win32\<project> sub-directory, and then
running ONE of the following two commands:
The ftk project is a complete VC++ 2008 project in its own right, and may be
used to build the FLAIM toolkit by simply by changing into the ftk\win32\ftk
sub-directory and then running ONE of the following two commands:
c:> buildall.cmd [debug|release]
c:> devenv <project-name>.sln
c:> devenv ftk.sln
The latter will bring up the Visual C++ 2008 IDE, so you can build in a
"GUI" fashion. The former will use devenv command line options to build
from the commnand line.
When you build a sub-project by itself in this manner, you need to provide
the location of the flaimtk library by setting a few environment variables:
c:> set FTKLIB_STATIC_DEBUG=c:\full\path\to\debug\flaimtk_static.lib
c:> set FTKLIB_STATIC_RELEASE=c:\full\path\to\release\flaimtk_static.lib
c:> set FTKLIB_DEBUG=c:\full\path\to\debug\flaimtk.lib
c:> set FTKLIB_RELEASE=c:\full\path\to\release\flaimtk.lib
This technique works with all three of the higher level projects.
CAVEAT: Currently, the include directory location for flaimtk.h is hard-coded
into the three higher-level projects, so the ftk project must be located in
the relative path specified above -- that is, ftk must be co-located in the
same parent directory as the flaim, sql and xflaim directories. This will be
fixed soon to work with environment variables in the same manner as the
library paths.
The latter will bring up the Visual C++ 2008 IDE, so you can build in a "GUI"
fashion. The former will use devenv command line options to build from the
command line.
Legacy Makefile
---------------

View File

@@ -30,6 +30,10 @@ the "src" directory.
Building FLAIMSQL
-----------------
IMPORTANT: You must have installed Autoconf version 2.62, Automake version
1.10 and Libtool version 2.2. These are the latest versions of these three
tools, as of this writing (July 2, 2008).
Building FLAIMSQL on Unix and Linux systems is as simple as with any other
Autotools-based project. If you're building from an SVN working directory,
enter the following command first, immediately after a clean check-out:

View File

@@ -1,10 +1,10 @@
flaim-projects README.W32 file
==============================
flaimsql README file for Windows
================================
Contents:
--------
1. Tools for Building on Windows
2. FLAIM Runtime Library Use
2. FLAIMSQL Runtime Library Use
3. GUI or Command-Line Build
4. Legacy Makefile

View File

@@ -40,6 +40,10 @@ command line on your host system.
Building XFLAIM
---------------
IMPORTANT: You must have installed Autoconf version 2.62, Automake version
1.10 and Libtool version 2.2. These are the latest versions of these three
tools, as of this writing (July 2, 2008).
Building XFLAIM on Unix and Linux systems is as simple as with any other
Autotools-based project. If you're building from an SVN working directory,
enter the following command first, immediately after a clean check-out: