Updating documentation
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
|
||||||
Information about what's new in this release can be found in docs/ReleaseNotes.html
|
Information about what's new in this release can be found in docs/ReleaseNotes.html
|
||||||
|
|
||||||
Instructions on building this project can be found in docs/HowToBuild.html
|
Instructions on building this project can be found in docs/HowToBuild.html
|
||||||
|
Detailed instructions on creating a build configuration file are in build.xml
|
||||||
|
|
||||||
This project is hosted on Sourceforge http://sourceforge.net/project/jacob-project
|
This project is hosted on Sourceforge http://sourceforge.net/project/jacob-project
|
||||||
|
|||||||
71
build.xml
71
build.xml
@@ -1,32 +1,46 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!-- ======================================================================
|
<!-- ======================================================================
|
||||||
Feb 4, 2005 1:23:05 PM
|
|
||||||
|
|
||||||
Ant build file for JACOB.
|
Ant build file for JACOB.
|
||||||
Tested on Eclipse 3.0.1 and Ant 1.6.1, with MS Visual C++ 6.0
|
|
||||||
|
Created Feb 4, 2005 1:23:05 PM as part of migration from ANT
|
||||||
|
Last Modified October 13, 2005
|
||||||
|
|
||||||
Eclipse users are pretty lucky. This works with the version of ANT
|
Tested on Eclipse 3.1.0 with the CDT plugin, Ant 1.6.1 and MS Visual C++ 6.0
|
||||||
that comes with Eclipse 3.0.1 (maybe 3.0.0). The whole project
|
Eclipse users are pretty lucky because the whole project
|
||||||
can be built inside eclipse.
|
can be built inside eclipse due to their built in ANT support.
|
||||||
|
|
||||||
If you do not have a C++ environment check out the following sites
|
Developers will need to find a copy of MS Visual C++ 6.0.
|
||||||
http://msdn.microsoft.com/visualc/vctoolkit2003/
|
The build proces defined in this build.xml file does support
|
||||||
http://www.eclipse.org/cdt/
|
MS Visual C++ 8.0 (Visual C++ 2005 Express) when combined with the M SDK.
|
||||||
http://eclipsewiki.editme.com/InstallingCDTWithMSVisualC
|
The problem is that SafeArray.cpp will not compile
|
||||||
|
with that 64 bit aware environment.
|
||||||
|
|
||||||
====================================================================== -->
|
====================================================================== -->
|
||||||
<project name="jacob" default="default" basedir=".">
|
<project name="jacob" default="default" basedir=".">
|
||||||
<property file="compilation_tools.properties" />
|
<property file="compilation_tools.properties" />
|
||||||
|
<!-- sets a default for properties that were not in the file -->
|
||||||
|
<!-- relies on the fact that properties cannot be reset once set -->
|
||||||
|
<property name="JDK" value="JDK not set in compilation_tools properties file"/>
|
||||||
|
<property name="MSDEVDIR" value="MSDEVDIR not set in compilation_tools properties file"/>
|
||||||
|
<property name="MSSDKDIR" value="${MSDEVDIR}"/>
|
||||||
|
<echo message="MSDEVDIR=${MSDEVDIR} MSSDKDIR=${MSSDKDIR}"/>
|
||||||
<!-- =v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=
|
<!-- =v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=v=
|
||||||
YOU MUST define a file named compilation_tools.properties
|
YOU MUST define a file named compilation_tools.properties!
|
||||||
and looking like this:
|
The file for MS Visual C++ 6.0 looks something like
|
||||||
|
|
||||||
JDK=D:/J2SDK-1_4_2
|
JDK=d:/j2sdk1.4.2_09
|
||||||
MSDEVDIR=C:/Program Files/Microsoft Visual Studio/VC98
|
MSDEVDIR=d:\\apps\\Microsoft Visual Studio\\VC98
|
||||||
version=1.9
|
version=1.11-pre1
|
||||||
|
|
||||||
DO NOT check this file into source control as the values are specific
|
The file for MS Visual Studio 8 Express with SDK looks something like:
|
||||||
to YOUR environment.
|
|
||||||
|
JDK=d:/j2sdk1.4.2_09
|
||||||
|
MSDEVDIR=D:\\Apps\\Microsoft Visual Studio 8\\VC
|
||||||
|
MSSDKDIR=D:\\Apps\\Microsoft Platform SDK for Windows Server 2003 R2
|
||||||
|
version=1.11-pre1
|
||||||
|
|
||||||
|
DO NOT check compilation_tools.properties into source control as the
|
||||||
|
values are specific to YOUR environment.
|
||||||
|
|
||||||
the version.properties file is now completely autogenerated
|
the version.properties file is now completely autogenerated
|
||||||
|
|
||||||
@@ -66,6 +80,8 @@
|
|||||||
Writes out a version file to be included in the jar
|
Writes out a version file to be included in the jar
|
||||||
================================================================== -->
|
================================================================== -->
|
||||||
<target name="IncrementBuildNumber">
|
<target name="IncrementBuildNumber">
|
||||||
|
<!-- sets a default for properties that were not in the file -->
|
||||||
|
<!-- relies on the fact that properties cannot be reset once set -->
|
||||||
<property name="version" value="version not set in compilation_tools properties file"/>
|
<property name="version" value="version not set in compilation_tools properties file"/>
|
||||||
<propertyfile file="version.properties">
|
<propertyfile file="version.properties">
|
||||||
<entry key="version" type="string" value="${version}" />
|
<entry key="version" type="string" value="${version}" />
|
||||||
@@ -168,16 +184,31 @@
|
|||||||
<apply executable="${compiler}" dir="${cpp.bin}" parallel="false" verbose="true" failonerror="true">
|
<apply executable="${compiler}" dir="${cpp.bin}" parallel="false" verbose="true" failonerror="true">
|
||||||
<arg value="-c" />
|
<arg value="-c" />
|
||||||
<arg value="/nologo" />
|
<arg value="/nologo" />
|
||||||
|
<!-- create a multi threaded library -->
|
||||||
|
<!-- <arg value="/MT" /> -->
|
||||||
|
<!-- raise the warning level from the default -->
|
||||||
|
<arg value="/W2" />
|
||||||
|
<!-- sets the exception model -->
|
||||||
|
<arg value="/EHsc" />
|
||||||
<!-- optimize build for speed. (is this VC specific? -->
|
<!-- optimize build for speed. (is this VC specific? -->
|
||||||
<arg value="/O2" />
|
<arg value="/O2" />
|
||||||
|
<!-- next two wipe out a lot of deprecated warnings about strings when using VC++ 8.0 and SDK-->
|
||||||
|
<arg value="/D" />
|
||||||
|
<arg value="_CRT_SECURE_NO_DEPRECATE" />
|
||||||
|
<arg value="/D" />
|
||||||
|
<arg value="_CRT_NONSTDC_NO_DEPRECATE" />
|
||||||
|
<arg value="/D" />
|
||||||
|
<arg value="_STATIC_CPPLIB" />
|
||||||
<arg value="-I" />
|
<arg value="-I" />
|
||||||
<arg value="${JDK}\include" />
|
<arg value="${JDK}\include" />
|
||||||
<arg value="-I" />
|
<arg value="-I" />
|
||||||
<arg value="${JDK}\include\win32" />
|
<arg value="${JDK}\include\win32" />
|
||||||
<arg value="-I" />
|
<arg value="-I" /> <!-- hopefully 6.0 won't barf including same dir twice -->
|
||||||
<arg value="${MSDEVDIR}\Include" />
|
<arg value="${MSDEVDIR}\Include" />
|
||||||
<arg value="-I" />
|
<arg value="-I" />
|
||||||
<arg value="${MSDEVDIR}\ATL\Include" />
|
<arg value="${MSSDKDIR}\Include" />
|
||||||
|
<arg value="-I" />
|
||||||
|
<arg value="${MSSDKDIR}\\Include\\ATL" />
|
||||||
<fileset dir="${cpp.src}">
|
<fileset dir="${cpp.src}">
|
||||||
<include name="*.cpp" />
|
<include name="*.cpp" />
|
||||||
</fileset>
|
</fileset>
|
||||||
@@ -195,7 +226,7 @@
|
|||||||
<arg value="/dll" />
|
<arg value="/dll" />
|
||||||
<arg value="/version:${version}" />
|
<arg value="/version:${version}" />
|
||||||
<arg value="/out:${dll_fullpath}" />
|
<arg value="/out:${dll_fullpath}" />
|
||||||
<arg value="/libpath:${MSDEVDIR}/lib" />
|
<arg value="/libpath:${MSSDKDIR}/lib" />
|
||||||
<srcfile />
|
<srcfile />
|
||||||
<arg value="${JDK}\lib\jvm.lib" />
|
<arg value="${JDK}\lib\jvm.lib" />
|
||||||
<arg value="oleaut32.lib" />
|
<arg value="oleaut32.lib" />
|
||||||
|
|||||||
80
docs/HowToBuild.html
Normal file
80
docs/HowToBuild.html
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
<HTML>
|
||||||
|
<BODY>
|
||||||
|
<H1>Development Environment</h1>
|
||||||
|
The simplest installation involves MS Visual C++ 6.0, Eclipse 3.1 and JDK 1.4.
|
||||||
|
In that situation, you would just create the <i>compilation_tools.properties</i>
|
||||||
|
using the example build.xml as a template. All of the releases, up through 1.11,
|
||||||
|
were built using Visual C++ 6.0.
|
||||||
|
<UL>
|
||||||
|
<li> Microsoft Visual C++ 6.0 and it's included library. (to D:\apps in my case)
|
||||||
|
<li> Eclipse 3.1 or later from www.eclipse.org.
|
||||||
|
<li> Java JDK 1.4 (this was built using 1.4.2.09)
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
A more complicated set up would involve:
|
||||||
|
<UL>
|
||||||
|
<li> Microsoft Visual Studio 2005 Express, available from the MS web site.<BR>
|
||||||
|
if you get an <b>mspdb80.dll not found</b> then you didn't set the environment variables
|
||||||
|
%PATH% during the install. You can either add the Common\IDE directory to your path in
|
||||||
|
the EnvironmentVariables configuration panel or you can do a quick hack (like I did).
|
||||||
|
You can just copy Common7\IDE\*.dll to VC\bin.
|
||||||
|
<li> Microsoft SDK with the following components
|
||||||
|
<ul>
|
||||||
|
<li>Windows Core SDK
|
||||||
|
<li>Microsoft Web Workshop (IE) SDK is required because it is referenced in atlbase.h
|
||||||
|
<li>(optional) Some folks also install the Debugging tools.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<li> Eclipse 3.1 or later from www.eclipse.org.
|
||||||
|
<li> Java JDK 1.4 (this was built using 1.4.2.09)
|
||||||
|
</ul>
|
||||||
|
Compilation using JDK 1.5 has not been tested
|
||||||
|
<H1>Build Process</H1>
|
||||||
|
This project has been converted completely from MAKE to ANT. You can
|
||||||
|
run ANT from inside of eclipse or from the command line.
|
||||||
|
The ant process is driven off of a configuration file named
|
||||||
|
<i>compilation_tools.properties</i> that describes the locations of the JDK and Microsoft
|
||||||
|
C++ tools. The build.xml file in the root directory contains examples of the contents
|
||||||
|
of this file.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Running ANT via build.xml will do the following with the default target.
|
||||||
|
<UL>
|
||||||
|
<li> Build the Java code
|
||||||
|
<li> Build the jni code
|
||||||
|
<li> create the dll
|
||||||
|
<li> create jar file
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
Running the "package" ANT target runs the above listed steps and then
|
||||||
|
builds the javadoc and then the zip files.
|
||||||
|
<p>
|
||||||
|
<H1>Eclipse Java IDE</h1>
|
||||||
|
<p>
|
||||||
|
Eclipse users will have to do some minor tweaks to their project if they
|
||||||
|
want to use the integrated build process. This is because the unit
|
||||||
|
tests are files located in the "unittest" directory while
|
||||||
|
the project source files themselves are in "src" the root directory.
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li> Eclipse automatically adds the whole project as a source directory
|
||||||
|
<li> Remove the root of the project from the build path
|
||||||
|
<li> Add folders samples, src and unittest to the build path
|
||||||
|
<li> Exclude *.txt from each of the newly added folders.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h1> Repository Organization </h1>
|
||||||
|
<p>
|
||||||
|
Unpack the source archive or check the files out of CVS into d:\jacob
|
||||||
|
<p>
|
||||||
|
The java code is in .\src.<BR>
|
||||||
|
The C++ code is in .\jni.
|
||||||
|
<p>
|
||||||
|
The Servlet examples that required j2ee libraries to compile have temporarily
|
||||||
|
been removed.
|
||||||
|
<p>
|
||||||
|
Last Modified 10/2005
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
To build and run:
|
|
||||||
|
|
||||||
Unpack the source archive or check the files out of CVS into d:\jacob
|
|
||||||
|
|
||||||
Install the following tools
|
|
||||||
Microsoft Visual C++ 2005 Express Edition, free from Microsoft on their web site.
|
|
||||||
Eclipse from www.eclipse.org.
|
|
||||||
Java JDK 1.4 (this was built using 1.4.2.09)
|
|
||||||
|
|
||||||
|
|
||||||
This project has been converted completely from MAKE to ANT. You can
|
|
||||||
run ANT from inside of eclipse or from the command line.
|
|
||||||
The ant process is driven off of a configuration file named
|
|
||||||
compilation_tools.properties that describes the locations of the JDK and Microsoft
|
|
||||||
C++ tools. Instructions on the information required
|
|
||||||
in that file are contained in build.xml in the root directory.
|
|
||||||
|
|
||||||
The following configuration used by the development team
|
|
||||||
using VC++ 6.0 installed in D:\apps:
|
|
||||||
JDK=d:/j2sdk1.4.2_09
|
|
||||||
MSDEVDIR=d:\\apps\\Microsoft Visual Studio\\VC98
|
|
||||||
version=1.11-pre1
|
|
||||||
|
|
||||||
Running ANT via build.xml will do the following with the default target.
|
|
||||||
Build the Java code
|
|
||||||
Build the jni code
|
|
||||||
create the dll
|
|
||||||
create jar file
|
|
||||||
|
|
||||||
Running the "package" ANT target runs the above listed steps and then
|
|
||||||
builds the javadoc and then the zip files.
|
|
||||||
|
|
||||||
ECLIPSE
|
|
||||||
|
|
||||||
Eclipse users will have to do some minor tweaks to their project if they
|
|
||||||
want to use the integrated build process. This is because the unit
|
|
||||||
tests are files located in the "unittest" directory while
|
|
||||||
the project source files themselves are in "src" the root directory.
|
|
||||||
Eclipse automatically adds the whole project as a source directory
|
|
||||||
Remove the root of the project from the build path
|
|
||||||
Add folders samples, src and unittest to the build path
|
|
||||||
Exclude *.txt from each of the newly added folders.
|
|
||||||
|
|
||||||
The Servlet examples that required j2ee libraries to compile have temporarily
|
|
||||||
been removed.
|
|
||||||
|
|
||||||
The java code is in .\src.
|
|
||||||
The C++ code is in .\jni.
|
|
||||||
|
|
||||||
Last Modified 10/2005
|
|
||||||
Reference in New Issue
Block a user