[Mono-list] Automake: System.Data.OracleClient

Rodrigo Moya rodrigo@ximian.com
11 Feb 2003 12:44:43 +0100


On Tue, 2003-02-11 at 05:27, tim@timcoleman.com wrote:
> Howdy folks,
> 
> I picked up where Daniel Morgan left off with the Mono OracleClient,
> and this client uses a "glue" library to connect the managed provider
> with the unmanaged Oracle call interface (OCI).  This is written in
> C.  Daniel had written makefiles for Borland and Visual C; I created
> a simple make file that works with GCC on my system.  
> 
> I was wondering how easy it would be to create some sort of automake
> solution that would build this automatically as part of the class
> library build.  I know very little about automake, so I'm willing
> to take any suggestions, code, whatever.  If you want to do it yourself,
> you're more than welcome.
> 
> Before we build the code, I think that it should probably be moved
> from its present home, but for now it works where it is.  It's
> in mcs/class/System.Data.OracleClient/System.Data.OracleClient.
> The two source files are ociglue.c and ociglue.h.
> 
> The makefile must make use of the user's install Oracle client libraries,
> and if these aren't detected, then the glue library probably shouldn't
> be built.  In fact, in light of this, maybe the OCI glue library should
> be in a separate module.  I'm not really sure what the best policy is
> for something like this.
> 
that is not difficult at all to do with an automake/autoconf setup. The
problem is that mcs doesn't use auto*, so we shouldn't use it.

The best way then would be to add detection code to the current
makefiles. We could add code to them to detect the oracle libs, and
build things depending on whether it's been found or not. There is code
to do this in libgda's configure.in, if you want to get it (search for
--with-oracle).

cheers
-- 
Rodrigo Moya <rodrigo@ximian.com>