[ruby-oci8-devel] Macro : RUNTIME_API_CHECK

KUBO Takehiro kubo at jiubao.org
Wed Jul 2 23:50:10 EDT 2008


Hi,

On Wed, Jul 2, 2008 at 4:51 PM, Liming Lian <liming.lian at oracle.com> wrote:
> Hi Kubo,
>
> I see the macro "RUNTIME_API_CHECK" many places in Ruby-oci8 c codes. For
> example, the xmldb.c:
>
> #if defined RUNTIME_API_CHECK || ORACLE_CLIENT_VERSION >= 1000
>
> I am wondering what this macro is used for. Any hints?

The macro is defined when ruby-oci8 is configured with --with-runtime-check
  cd ruby-oci8
  ruby setup.rb config -- --with-runtime-check
  make

If --with-runtime-check is set, the compiled oci8lib.so works with all
supported Oracle versions as if it is compiled for the currently used
Oracle client library. It checks available OCI functions by using
LoadLibrary() and GetProcAddress() (or dlopen() and dlsym() on UNIX).

See also:  http://ruby-oci8.rubyforge.org/en/dev_APIWrap.html#l1
                (I should rewrite this. I cannot understand what I wrote...)

-- 
KUBO Takehoro
kubo at jiubao.org


More information about the ruby-oci8-devel mailing list