File perl-DBD-ODBC-1.22-Makefile.diff of Package perl-DBD-ODBC
--- Makefile.PL
+++ Makefile.PL
@@ -85,6 +85,7 @@
COMPRESS => 'gzip -v9', SUFFIX => 'gz'
},
OBJECT => '$(O_FILES)',
+ OPTIMIZE => "$ENV{RPM_OPT_FLAGS}",
DEFINE => ''
);
my $eumm = $ExtUtils::MakeMaker::VERSION;
@@ -223,6 +224,7 @@
print "Overriding ODBC Directory with command line option: $opt_o\n" if $opt_o ;
my $odbchome= $opt_o || $ENV{ODBCHOME};
+ my $lib=$ENV{LIB};
$odbchome = VMS::Filespec::unixify($odbchome) if $^O eq 'VMS';
@@ -235,7 +237,7 @@
$tmp_odbchome =~ s/^([A-Za-z]):*$/\/\/$1/;
$tmp_odbchome =~ s/\\/\//g;
$odbchome = $tmp_odbchome if (-e "$tmp_odbchome/odbc.ini")
- } elsif (-f '/opt/sapdb/interfaces/odbc/lib/libsqlod.a') {
+ } elsif (-f '/opt/sapdb/interfaces/odbc/lib/libsqlod.a' || -f '/opt/sapdb/interfaces/odbc/lib/lib64/libsqlod.a') {
$odbchome = '/opt/sapdb/interfaces/odbc/';
} elsif ($^O !~ /MSWin/) {
# unixODBC - would have liked to use odbc_config but it did not
@@ -328,7 +330,7 @@
# Try to work out which driver manager is being used.
# Feel free to come up with neat (or un-neat) hacks to get your's to build!
- my $lib_d1 = "$odbchome/lib";
+ my $lib_d1 = "$odbchome/$lib";
my $lib_d2 = "$odbchome/dlls";
my $libs = "odbc";
$opts{LIBS} = " -L$lib_d1 -R$lib_d1 -L$lib_d2 -R$lib_d2 -l$libs";
@@ -347,36 +349,36 @@
$arext =~ s/^\.//;
$myodbc = 'unixodbc'
- if !$myodbc && glob "$odbchome/lib/libodbc.*";
+ if !$myodbc && glob "$odbchome/$lib/libodbc.*";
$myodbc = 'iodbc'
if !$myodbc && ((glob "$odbchome/*iodbc*") ||
- (glob "$odbchome/lib/*iodbc*"));
+ (glob "$odbchome/$lib/*iodbc*"));
$myodbc = 'empress'
- if !$myodbc && glob "$odbchome/lib/libempodbc.*";
+ if !$myodbc && glob "$odbchome/$lib/libempodbc.*";
$myodbc = 'intersolve'
if !$myodbc && -f "$odbchome/include/qeodbc.h";
$myodbc = 'sapdb'
- if !$myodbc && -f "$odbchome/lib/libsqlod.$arext";
+ if !$myodbc && -f "$odbchome/$lib/libsqlod.$arext";
$myodbc = 'adabas'
if !$myodbc && $ENV{DBROOT} && $odbchome eq $ENV{DBROOT} && -f "$odbchome/lib/odbclib.$arext";
$myodbc = 'udbc'
- if !$myodbc && -f "$odbchome/lib/libudbc.$arext";
+ if !$myodbc && -f "$odbchome/$lib/libudbc.$arext";
$myodbc = 'solid'
- if !$myodbc && -f "$odbchome/lib/libsolcli.$dlext";
+ if !$myodbc && -f "$odbchome/$lib/libsolcli.$dlext";
# JL 2002-12-16: This test is accurate on Unix (Solaris 7) with IBM
# Informix ClientSDK 2.80.UC1, which includes IBM Informix CLI
# v3.81.000, an ODBC 3.x driver.
# NB: The correct value for $ODBCHOME is $INFORMIXDIR.
$myodbc = 'informix'
- if !$myodbc && -f "$odbchome/lib/cli/libifcli.$dlext";
+ if !$myodbc && -f "$odbchome/$lib/cli/libifcli.$dlext";
if (!$myodbc) {
local($") = ", ";
@@ -402,7 +404,7 @@
$opts{dynamic_lib} = {OTHERLDFLAGS => "-lodbc32"};
}
elsif ($myodbc eq 'iodbc') {
- my $ilibdir = "$odbchome/lib";
+ my $ilibdir = "$odbchome/$lib";
my @ilibs = glob "$ilibdir/*iodbc*.*";
@ilibs = grep { /\.($Config{so}|$Config{dlext}|a)$/ } @ilibs;
die "That's odd, I can't see any iodbc libs in $ilibdir" unless @ilibs;
@@ -427,7 +429,7 @@
# changed /\Q$ilibpath/ to /\Q$ilibdir/ per recommendation
# by Ron Savage
- warn "Warning: LD_LIBRARY_PATH doesn't include $odbchome/lib\n"
+ warn "Warning: LD_LIBRARY_PATH doesn't include $odbchome/$lib\n"
unless $ENV{LD_LIBRARY_PATH} =~ /\Q$ilibdir/;
}
#print $sqlhfh qq{#define FAR \n#define EXPORT \n#define CALLBACK \n};
@@ -472,7 +474,7 @@
} else {
print " odbc_config not found - ok\n";
}
- my @libs = glob "$odbchome/lib/libodbc.*";
+ my @libs = glob "$odbchome/$lib/libodbc.*";
my @ilibs = grep { /\.($Config{so}|$Config{dlext}|a)$/ } @libs;
if (scalar(@ilibs) == 0) {
die "That's odd, I can't see any unixodbc libs in $odbchome." .
@@ -497,10 +499,10 @@
else {
# remove lib prefix and .so suffix so "-l" style link can be used
$ilibname =~ s/^lib(odbc.*?)\.\w+$/$1/;
- $opts{LIBS} = "-L$odbchome/lib -l$ilibname";
+ $opts{LIBS} = "-L$odbchome/$lib -l$ilibname";
warn "Warning: LD_LIBRARY_PATH doesn't include $odbchome\n"
unless (exists($ENV{LD_LIBRARY_PATH}) &&
- ($ENV{LD_LIBRARY_PATH} =~ /\Q$odbchome\/lib/));
+ ($ENV{LD_LIBRARY_PATH} =~ /\Q$odbchome\/$lib/));
}
print $sqlhfh qq{#include <sql.h>\n};
print $sqlhfh qq{#include <sqlucode.h>\n};
@@ -572,7 +574,7 @@
#$opts{DEFINE} .= "";
print $sqlhfh qq{#include <odbcsys.h>\n};
print $sqlhfh qq{#include <sql.h>\n#include <sqlext.h>\n};
- $opts{LIBS} = "-L$odbchome/lib -R$odbchome/lib -lempodbc";
+ $opts{LIBS} = "-L$odbchome/$lib -R$odbchome/$lib -lempodbc";
}
elsif ($myodbc eq 'sapdb') {
print $sqlhfh "#include <WINDOWS.H>\n";
@@ -585,7 +587,11 @@
print $sqlhfh qq{#define DBD_ODBC_NO_DATASOURCES\n}; # unless ($^O eq 'MSWin32');
$opts{INC} .= " -I$odbchome/incl";
- $opts{LDFROM} = "\$(OBJECT) $odbchome/lib/libsqlod.a";
+ if (-f "$odbchome/lib/libsqlod.a" ) {
+ $opts{LDFROM} = "\$(OBJECT) $odbchome/lib/libsqlod.a";
+ } else {
+ $opts{LDFROM} = "\$(OBJECT) $odbchome/lib/lib64/libsqlod.a";
+ }
}
elsif ($myodbc eq 'adabas') {
print $sqlhfh "#define FAR \n#define EXPORT \n#define CALLBACK \n";
@@ -593,23 +599,23 @@
print $sqlhfh "#include <sql.h>\n";
print $sqlhfh "#include <sqlext.h>\n";
$opts{INC} .= " -I$odbchome/incl";
- $opts{LIBS} = "-L$odbchome/lib -lsqlrte -lsqlptc";
- $opts{LDFROM} = "\$(OBJECT) $odbchome/lib/odbclib.a";
+ $opts{LIBS} = "-L$odbchome/$lib -lsqlrte -lsqlptc";
+ $opts{LDFROM} = "\$(OBJECT) $odbchome/$lib/odbclib.a";
}
elsif ($myodbc eq 'udbc') {
print $sqlhfh qq{#include <libudbc.h>\n};
$opts{INC} .= " -I$odbchome/include";
#$opts{DEFINE} .= "";
- $opts{LIBS} = "-L$odbchome/lib -R$odbchome/lib -ludbc";
+ $opts{LIBS} = "-L$odbchome/$lib -R$odbchome/$lib -ludbc";
}
elsif ($myodbc eq 'easysoft') {
$opts{INC} .= " -I$odbchome/include";
- $opts{LIBS} = "-L$odbchome/lib -lesoobclient";
+ $opts{LIBS} = "-L$odbchome/$lib -lesoobclient";
print $sqlhfh qq{#include <sql.h>\n#include <sqlext.h>\n};
}
elsif ($myodbc eq 'solid') {
$opts{INC} .= " -I$odbchome/include";
- $opts{LIBS} = "-L$odbchome/lib -lsolcli";
+ $opts{LIBS} = "-L$odbchome/$lib -lsolcli";
# Solid does not support DataSources
print $sqlhfh qq{#define DBD_ODBC_NO_DATASOURCES\n};
# Solid does not support DataSources
@@ -619,7 +625,7 @@
elsif ($myodbc eq 'informix') {
# JL 2002-12-16: See comments above for environment details.
$opts{INC} = "-I$odbchome/incl/cli $opts{INC}";
- $opts{LIBS} = "-L$odbchome/lib/cli -lifcli -lifdmr";
+ $opts{LIBS} = "-L$odbchome/$lib/cli -lifcli -lifdmr";
$opts{DEFINE} .= " -DNO_WIN32"; # Applies to Unix only, of course
print $sqlhfh qq{#include <stddef.h>\n};
print $sqlhfh qq{#include <infxcli.h>\n};