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};
openSUSE Build Service is sponsored by