Subject Class 2 driver - build system for native code.
Author Ryan Baldwin

I've been looking at the build system for the native code using the ant c++
compilation tasks that David pointed me at. It seems to be working very well
and I have now built the native library for windows using msvc and solaris
sparc using gcc using these ant tasks. The solaris sparc stuff should easily
generalise to work with any unix variant that implements the dlopen function
and company(Which I believe covers most paltforms of interest).

I am almost ready to check in a modification to build.xml that will provide
a target 'compile-native' that should allow people to build the shared
library on there platform as long as gcc is installed for unixalikes or msvc
on windows. We will also need to check 'cpptasks.jar' into the lib directory
for it to work. I have a number of questions first though:

1) Does this sound like a good idea ?

2) What should we call the native libarary ? I've thought maybe

3) Should the source for this go directly under src/native/{fbjavaclient}
rather then src/native/jaygds/source where I put it initially(therefore
should I move it)? Any opinions would be appreciated.

4) I guess output/native/{fbjavaclient}/object and
output/native/{fbjavaclient}/library would be appropriate places for this to
build too ?

5) Should we set up an area under src to place pre-built binaries which will
operate against the corrisponding cvs version of the javacode, because
people will only be able to build easily for the platform they are running
on - to be able to easily build a distibution for all supported platforms it
would be handy to have pre-built binaries available. I was thiking perahps
src/native/{fbjavaclient}/binaries under which perhaps a directory structure
along the lines of


and a set under release too.

I think that pretty much covers the questions I have regarding the build
system for native code. Once thie build system for the native code is in and
working for a reasonable varity of platforms I will get the java side of the
changes ready for review probarbly within a fortnight(after a few more
questions too probarbly) - then we should have the class 2 modifications
intergrated and working cross platform straight away(with any luck).