Drop Table
Support Forum for database administrators and web based access to important newsgroups related to databasesAuthor: timbo
Date: Mon Jan 2 15:28:14 2006
New Revision: 2352
Modified:
dbd-oracle/trunk/Changes
dbd-oracle/trunk/Makefile.PL
Log:
Changed Makefile.PL to improve cygwin build thanks to Andy Hassall.
Modified: dbd-oracle/trunk/Changes
====================
====================
====================
================
==
--- dbd-oracle/trunk/Changes (original)
+++ dbd-oracle/trunk/Changes Mon Jan 2 15:28:14 2006
@@ -15,6 +15,7 @@
and more reliably use correct sqlplus thanks to Honza Pazdziora.
Changed Makefile.PL to prefer ~/rdbms/public over other ~/rdbms/* for .h fil
es.
Changed Makefile.PL to improve build rule detection.
+ Changed Makefile.PL to improve cygwin build thanks to Andy Hassall.
Changed Makefile.PL to Instant Client build support thanks to Hilmar Lapp.
Changed Makefile.PL to do VMS logical name checks thanks to Jakob Snoer.
Updated README.vms re logical name tables thanks to Jakob Snoer.
Modified: dbd-oracle/trunk/Makefile.PL
====================
====================
====================
================
==
--- dbd-oracle/trunk/Makefile.PL (original)
+++ dbd-oracle/trunk/Makefile.PL Mon Jan 2 15:28:14 2006
@@ -1383,6 +1383,7 @@ sub read_file {
sub find_bin{
+ use filetest 'access';
my $bin = shift;
my $path_sep = $Config{path_sep};
foreach (split(/\Q$path_sep/, $ENV{PATH})){
@@ -1433,8 +1434,21 @@ sub get_client_version {
my $client_version_full
= '';
- my $sqlplus_exe = ($os eq 'Win32' || $os eq 'MSWin32') ? "sqlplus.exe"
: "sqlplus";
- local $ENV{PATH} = join $Config{path_sep}, "$OH/bin", $OH, $E
NV{PATH};
+ my $sqlplus_exe = ($os eq 'Win32' || $os eq 'MSWin32' || $os eq 'cygwin
') ? "sqlplus.exe" : "sqlplus";
+
+ my $OH_path = $OH;
+
+ # When building under Cygwin, ORACLE_HOME must be a native Windows
+ # path so Oracle itself can use it, but it needs to be translated
+ # to a Cygwin path so it can be joined into the PATH.
+ # Otherwise, the colon in the drive specification (e.g. "c:") is
+ # treated as a separator.
+
+ if ($os eq 'cygwin') {
+ chomp($OH_path = `/usr/bin/cygpath -u $OH_path`)
+ }
+
+ local $ENV{PATH} = join $Config{path_sep}, "$OH_path/bin", $O
H_path, $ENV{PATH};
local $ENV{SQLPATH} = ""; # avoid $SQLPATH/login.sql causing sqlplus to
hang
print "path=$ENV{PATH}\n";
if (find_bin($sqlplus_e
xe)) {
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread