elsif ($myodbc eq 'esodbc') {
-> my @ilibs = <$odbchome/lib/*esoobclient.*>;
print "Located library @ilibs\n";
@ilibs = grep { /($Config{so}|$Config{dlext}|$Config{lib_ext})$/ } @ilibs;
-> die "That's odd, I can't see any esoobclient libs in $odbchome/lib" unless @ilibs;
print "We expect to find the sql.h and sqlext.h files (which were\n";
print "supplied with esoobclient) in \$ODBCHOME/include directory alongside\n";
print "the @ilibs library.\n\n";
my $ilibpath = $ilibs[0]; # XXX if both .so and .a, pick based on LINKTYPE?
my $ilibname = basename($ilibpath);
print "Using library $ilibname\n";
$opts{INC} .= " -I$odbchome/include";
$opts{CCFLAGS} .= "/warnings=informational=(outtypelen,ptrmismatch,promotmatchw)"
if ($Config{cc} =~ /DECC/ && $^O eq 'VMS' );
if ($ilibname =~ /^esoobclient/) { # no "lib" prefix
$opts{LIBS} = "";
$opts{dynamic_lib} = { OTHERLDFLAGS => "$ilibpath" };
}
else {
my $extralibs="";
if (($^O eq 'VMS') && ($ilibname =~ /$Config{lib_ext}$/)) {
-> $extralibs = " -lcs_share -lsupport -leasyrpc -lextras";
print "Adding libraries $extralibs\n";
}
$ilibname =~ s/^lib(esoobclient.*?)\.\w+$/$1/;
-> $opts{LIBS} = "-L$odbchome/lib -l$ilibname $extralibs";
if ($^O ne "VMS") {
warn "Warning: LD_LIBRARY_PATH doesn't include $odbchome\n"
unless $ENV{LD_LIBRARY_PATH} =~ /\Q$odbchome/;
}
}
print SQLH qq{#define FAR \n#define EXPORT \n#define CALLBACK \n};
print SQLH qq{#include <sqlext.h>\n};
print SQLH qq{#include <sqlucode.h>\n};
print SQLH qq{#include <sql.h>\n};
print SQLH qq{#include <sqltypes.h>\n};
}