From 6c7a4009458b4b005b3c5f19dc284f0fcc459bcc Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 11 Feb 2008 19:10:21 +0100 Subject: Support including files in the cflags.pl script. (This used to be commit 742e50aeb54d779d383cbf73132224bad3b09777) --- source4/script/cflags.pl | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'source4/script') diff --git a/source4/script/cflags.pl b/source4/script/cflags.pl index 7f435d46f5..f083cefb39 100755 --- a/source4/script/cflags.pl +++ b/source4/script/cflags.pl @@ -8,20 +8,31 @@ use strict; my $target = shift; -sub check_flags($) +my $vars = {}; + +sub check_flags($$) { - my ($name)=@_; - open (IN, "extra_cflags.txt"); - while ( =~ /^([^:]+): (.*)$/) { - next unless (grep(/^$target$/, (split / /, $1))); - $_ = $2; - s/^CFLAGS\+=//; - print "$_ "; + my ($path, $name)=@_; + open (IN, $path); + foreach my $line () { + if ($line =~ /^include (.*)$/) { + check_flags($1, $name); + } elsif ($line =~ /^([A-Za-z0-9_]+) = (.*)$/) { + $vars->{$1} = $2; + } elsif ($line =~ /^([^:]+): (.*)$/) { + next unless (grep(/^$target$/, (split / /, $1))); + my $data = $2; + $data =~ s/^CFLAGS\+=//; + foreach (keys %$vars) { + $data =~ s/\$($_)/$vars->{$_}/g; + } + print "$data "; + } } close(IN); - print "\n"; } -check_flags($target); +check_flags("extra_cflags.txt", $target); +print "\n"; exit 0; -- cgit From a3052e79f41afe91dc5a1c898868c632053ce599 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 11 Feb 2008 19:28:59 +0100 Subject: Use make variables in cflags file (now supported by cflags.pl) (This used to be commit d746fcde1006b4b7b33aa65bef9d2fea3ebc9162) --- source4/script/cflags.pl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'source4/script') diff --git a/source4/script/cflags.pl b/source4/script/cflags.pl index f083cefb39..37b5aa7e71 100755 --- a/source4/script/cflags.pl +++ b/source4/script/cflags.pl @@ -10,6 +10,7 @@ my $target = shift; my $vars = {}; +sub check_flags($$); sub check_flags($$) { my ($path, $name)=@_; @@ -17,15 +18,18 @@ sub check_flags($$) foreach my $line () { if ($line =~ /^include (.*)$/) { check_flags($1, $name); - } elsif ($line =~ /^([A-Za-z0-9_]+) = (.*)$/) { + } elsif ($line =~ /^([A-Za-z0-9_]+) =(.*)$/) { $vars->{$1} = $2; } elsif ($line =~ /^([^:]+): (.*)$/) { next unless (grep(/^$target$/, (split / /, $1))); my $data = $2; $data =~ s/^CFLAGS\+=//; - foreach (keys %$vars) { - $data =~ s/\$($_)/$vars->{$_}/g; + foreach my $key (keys %$vars) { + my $val = $vars->{$key}; + $data =~ s/\$\($key\)/$val/g; } + # Remove undefined variables + $data =~ s/\$\([A-Za-z0-9_]+\)//g; print "$data "; } } -- cgit