mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
fix to figure out the "real" windows path when built and run with mingw
Andrs Garca helped out!
This commit is contained in:
parent
4b49b2e3cf
commit
712d0374f7
@ -659,11 +659,50 @@ sub checkcurl {
|
||||
|
||||
if($_ =~ /^curl/) {
|
||||
$curl = $_;
|
||||
|
||||
$curl =~ s/^(.*)(libcurl.*)/$1/g;
|
||||
$libcurl = $2;
|
||||
if($curl =~ /mingw32/) {
|
||||
# This is a windows minw32 build, we need to translate the
|
||||
# given path to the "actual" windows path.
|
||||
|
||||
if ($curl =~ /win32/)
|
||||
my @m = `mount`;
|
||||
my $matchlen;
|
||||
my $bestmatch;
|
||||
my $mount;
|
||||
|
||||
# example mount output:
|
||||
# C:\DOCUME~1\Temp on /tmp type user (binmode,noumount)
|
||||
# c:\ActiveState\perl on /perl type user (binmode)
|
||||
# C:\msys\1.0\bin on /usr/bin type user (binmode,cygexec,noumount)
|
||||
# C:\msys\1.0\bin on /bin type user (binmode,cygexec,noumount)
|
||||
|
||||
foreach $mount (@m) {
|
||||
if( $mount =~ /(.*) on ([^ ]*) type /) {
|
||||
my ($mingw, $real)=($2, $1);
|
||||
if($pwd =~ /^$mingw/) {
|
||||
# the path we got from pwd starts with the path
|
||||
# we found on this line in the mount output
|
||||
|
||||
my $len = length($real);
|
||||
if($len > $matchlen) {
|
||||
# we remember the match that is the longest
|
||||
$matchlen = $len;
|
||||
$bestmatch = $real;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!$matchlen) {
|
||||
print "Serious error, can't find our \"real\" path!\n";
|
||||
}
|
||||
else {
|
||||
# now prepend the prefix from the mount command to build
|
||||
# our "actual path"
|
||||
$pwd = "$bestmatch$pwd";
|
||||
}
|
||||
$pwd =~ s#\\#/#g;
|
||||
}
|
||||
elsif ($curl =~ /win32/)
|
||||
{
|
||||
# Native Windows builds don't understand the
|
||||
# output of cygwin's pwd. It will be
|
||||
|
Loading…
Reference in New Issue
Block a user