Author: byterock
Date: Thu Apr 17 09:05:48 2008
New Revision: 11103
Modified:
dbd-oracle/trunk/Makefile.PL
Log:
Will now work without flags for 11.1.0.6 instant client
Modified: dbd-oracle/trunk/Makefile.PL
==============================================================================
--- dbd-oracle/trunk/Makefile.PL (original)
+++ dbd-oracle/trunk/Makefile.PL Thu Apr 17 09:05:48 2008
@@ -388,11 +388,17 @@
if !defined $ENV{ORA_CLIENT_LIB}
&& ($opts{LINKTYPE}||'') ne 'static' && @shared && !$::opt_c;
+
my $linkvia = fetch_oci_macros($mkfile) if -f $mkfile;
+ my $libhome="$OH/lib";
+
+ if ($MK{LIBHOME}){
+ my $libhome = expand_mkvars($MK{LIBHOME}, 0, 1) || "$OH/lib";
+ }
- my $libhome = expand_mkvars($MK{LIBHOME}, 0, 1) || "$OH/lib";
$linkwith = expand_mkvars($linkvia, 0, 1);
+
#now use logic based of oracle version
$linkwith =~ s!/lib\b!/$libdir!g;
$libhome =~ s!/lib\b!/$libdir!g;
@@ -1047,31 +1053,40 @@
sub find_mkfile {
- my @mk_proc = (
+
+ my $mkfile;
+ my @mkplaces;
+ if ($client_version>=11.1){
+
+ my $proc_dir=~ s/lib/share/g;
+ $mkfile=$proc_dir."/demo.mk";
+ } else {
+ my @mk_proc = (
'precomp/demo/proc/proc.mk',
'precomp/demo/proc/demo_proc.mk',
'proc/lib/proc.mk',
'proc16/lib/proc16.mk',
- );
- my @mk_oci = (
+ );
+ my @mk_oci = (
'rdbms/demo/demo_xe.mk',
'rdbms/lib/oracle.mk',
'rdbms/demo/oracle.mk',
'rdbms/demo/demo_rdbms.mk',
- );
- my @mkplaces = ($::opt_p) ? (@mk_proc,@mk_oci) : (@mk_oci,@mk_proc);
- if ($::opt_m) {
- $::opt_m = cwd()."/$::opt_m" unless $::opt_m =~ m:^/:;
- die "-m $::opt_m: not found" unless -f $::opt_m;
- unshift @mkplaces, $::opt_m;
- }
- my $mkfile;
- foreach my $place (@mkplaces) {
- $place = "$OH/$place"
- unless $place =~ m:^[/\.]:; # abs or relative path
- next unless -f $place;
- $mkfile ||= $place; # use first one found
- print "Found $place\n";
+ );
+ my @mkplaces = ($::opt_p) ? (@mk_proc,@mk_oci) : (@mk_oci,@mk_proc);
+ if ($::opt_m) {
+ $::opt_m = cwd()."/$::opt_m" unless $::opt_m =~ m:^/:;
+ die "-m $::opt_m: not found" unless -f $::opt_m;
+ unshift @mkplaces, $::opt_m;
+ }
+
+ foreach my $place (@mkplaces) {
+ $place = "$OH/$place"
+ unless $place =~ m:^[/\.]:; # abs or relative path
+ next unless -f $place;
+ $mkfile ||= $place; # use first one found
+ print "Found $place\n";
+ }
}
die qq{
Unable to locate an oracle.mk, proc.mk or other suitable *.mk
@@ -1087,11 +1102,11 @@
In the unlikely event that a suitable *.mk file is installed
somewhere non-standard you can specify where it is using the -m option:
- perl Makefile.PL -m /path/to/your.mk
+ Perl Makefile.PL -m /path/to/your.mk
See the appropriate README file for your OS for more information and
some alternatives.
- } unless ($os eq 'MSWin32') || ($os eq 'VMS') || ($mkfile && -f $mkfile)
|| $::opt_F;
+ } unless ($os eq 'MSWin32') || ($os eq 'VMS') || ($mkfile && -f $mkfile)
|| $::opt_F || ($client_version>=11.1);
print "Using $mkfile\n";
return $mkfile;
@@ -1424,6 +1439,8 @@
"/usr/include/oracle/$client_version_trim/client", # Instant Client for
RedHat FC4
"/include/oracle/$client_version_full/client", # Instant Client for
RedHat FC3
"/include/oracle/$client_version_trim/client", # Instant Client for
RedHat FC3
+ "/usr/include/oracle/11.1.0.1/client/" #Instant Client for RedHat FC3
11.1.0.6 bad hack I know
+
);
unshift @try, $::opt_h if $::opt_h;
@try = grep { -d $_ } @try;