[3/3] winemaker: Try to find the real case of a given filename or path from project files
André Hentschel
nerv at dawncrow.de
Wed Jun 12 16:00:45 CDT 2013
---
tools/winemaker | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/tools/winemaker b/tools/winemaker
index 611a490..dc94f7d 100755
--- a/tools/winemaker
+++ b/tools/winemaker
@@ -21,7 +21,7 @@ use strict;
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
#
-my $version="0.8.3";
+my $version="0.8.4";
use Cwd;
use File::Basename;
@@ -683,6 +683,11 @@ sub source_scan_project_file($$$)
# Additional Include Directories
$sfilet=$1;
$sfilet=~s/\\/\//g;
+ my @compinc=split /\/+/, $sfilet;
+ my $realinc=search_from($path, \@compinc);
+ if (defined $realinc) {
+ $sfilet=$realinc;
+ }
if ($sfilet=~/^\w:/) {
print STDERR "warning: Can't fix path $sfilet\n"
} else {
@@ -894,6 +899,11 @@ sub source_scan_project_file($$$)
$sfilet=~s/\\\\/\\/g; #remove double backslash
$sfilet=~s/^\.\\//; #remove starting 'this directory'
$sfilet=~s/\\/\//g; #make slashes out of backslashes
+ my @compsrc=split(/\/+/, $sfilet);
+ my $realsrc=search_from($path, \@compsrc);
+ if (defined $realsrc) {
+ $sfilet=$realsrc;
+ }
if ($sfilet =~ /\.c$/i and $sfilet !~ /\.(dbg|spec)\.c$/) {
push @sources_c,$sfilet;
} elsif ($sfilet =~ /\.cpp$/i) {
@@ -961,6 +971,11 @@ sub source_scan_project_file($$$)
$configt=~s/\\/\//g;
my @addincl = split(/\s*;\s*/, $configt);
foreach $configt (@addincl) {
+ my @compinc=split(/\/+/, $configt);
+ my $realinc=search_from($path, \@compinc);
+ if (defined $realinc) {
+ $configt=$realinc;
+ }
push @{@$project_settings[$T_INCLUDE_PATH]},"-I".$configt;
}
}
--
1.8.1.2
More information about the wine-patches
mailing list