HTCondor Project List Archives



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-devel] What does Condor _really_ depend on?



On Tue, Jul 31, 2007 at 11:41:27AM -0500, Matthew Farrellee wrote:
> 
> >>Conditionally Compiling Code:
> >>When it comes to externals, it seems we have a number of different ways 
> >>of deciding if code should be compiled. There are a number of 
> >>WANT_/USE_/HAS_/HAVE_/DOES_ options (I understand many are *OLD*) in 
> >>different configuration files (site.def, <platform>.cf, 
> >>configure.cf.in/externals.cf.in), and little consistency as to what 
> >>should be used for new code. Speaking with Derek I've been told that 
> >>code should be conditionally compiled by HAVE_EXT_'s, but I've seen 
> >>recent code additions (including my proposed patch below) checking for 
> >>WANT_'s. Do people find that HAVE_EXT_'s are not good enough? Maybe 
> >>quill is a good example of this since it can work with multiple 
> >>databases (i.e. #if WANT_QUILL (above) vs #if HAVE_EXT_POSTGRESQL).
> 
> You would be fine changing most all your #if WANT_QUILL tests to #if 
> HAVE_EXT_POSTGRESQL? Surely not, since you can use Oracle. Does Quill 
> add anything to Condor if there is no DB back-end? Could we remove all 
> #if WANT_QUILL tests and just have more specific #if HAVE_EXT_POSTGRESQL 
> or #if HAVE_EXT_ORACLE, where relevant?
>

Quill's parser uses no database library and was at least marginally useful.

In Quill's case, we're at least part of the way to having a C++ class
that is abstract from any database. I doubt this actually works, but the
idea would be that if HAVE_EXT_POSTGRES and HAVE_EXT_ORACLE are both NO, 
then all of Quill still compiles, it just doesn't do anything useful. 
Very few places would have to be wrapped in HAVE_EXT_ORACLE/POSTGRES.

-Erik