| timbo@cvs.perl.org 2005-11-20, 8:24 pm |
| Author: timbo
Date: Sun Nov 20 14:54:09 2005
New Revision: 2246
Modified:
dbd-oracle/branches/pythian/Makefile.PL
Log:
Add support for Oracle XE to Makefile.PL
Modified: dbd-oracle/branches/pythian/Makefile.PL
====================
====================
====================
==================
--- dbd-oracle/branches/pythian/Makefile.PL (original)
+++ dbd-oracle/branches/pythian/Makefile.PL Sun Nov 20 14:54:09 2005
@@ -327,6 +327,31 @@ elsif ($::opt_l and # use -l to enable t
my $inc = join " ", map { "-I$OH/$_" } @h_dirs;
$opts{INC} = "$inc -I$dbi_arch_dir";
}
+
+elsif (-e "$OH/rdbms/demo/demo_xe.mk") { # Oracle XE
+
+ print "Looks like Oracle XE\n";
+
+ fetch_oci_macros("$OH/rdbms/demo/demo_xe.mk");
+ $MK{CCINCLUDES} = '-I$(ICINCHOME)'; # undo odd refinition in demo_xe.mk
+
+ # From linux Oracle XE (10.2.0):
+ # ICINCHOME=$(ORACLE
_HOME)/rdbms/public/
+ # ICLIBHOME=$(ORACLE
_HOME)/lib/
+ # ICLIBPATH=-L$(ICLIBHOME)
+ # THREADLIBS=-lpthread [initially -lthread then redefined]
+ # CCLIB=$(ICLIBPATH)
-lclntsh $(THREADLIBS)
+ # CCINCLUDES = -I$(ICINCHOME) [see above]
+ # CCFLAGS=$(CCINCLUDES
) -DLINUX -D_GNU_SOURCE -D_REENTRANT -g [initially without -DLINUX -D_GNU_SOURCE]
+ my $cclib = expand_mkvars($MK{CCLIB}, 0, 1);
+ my $ccflags = expand_mkvars($MK{CCFLAGS}, 0, 1);
+
+ $linkwith_msg = "$cclib";
+ $opts{LIBS} = [ $cclib ];
+ $opts{INC} = "-I$dbi_arch_dir $ccflags";
+ $opts{dynamic_lib} = { OTHERLDFLAGS => "$::opt_g" };
+}
+
# --- special case for Oracle 10g instant client
elsif (-e "$OH/libclntsh.so.10.1") {
@@ -1017,6 +1042,7 @@ sub find_mkfile {
'proc16/lib/proc16.mk',
);
my @mk_oci = (
+ 'rdbms/demo/demo_xe.mk',
'rdbms/lib/oracle.mk',
'rdbms/demo/oracle.mk',
'rdbms/demo/demo_rdbms.mk',
@@ -1237,6 +1263,9 @@ sub fetch_oci_macros {
$linkvia = '-locic $(TTLIBS)'; # XXX GUESS HACK
}
}
+ elsif (!$linkvia && $MK{CCLIB}) { # Oracle XE
+ $linkvia = '$(CCLIB)';
+ }
unless ($linkvia){
die "ERROR parsing $file: Unable to determine what to link with.\n"
."Please send me copies of these files (one per mail message):\n@mkfiles\
n";
|