diff options
author | James Peach <jpeach@samba.org> | 2007-04-02 17:11:36 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:49:43 -0500 |
commit | 3e0f5d70709b30f4394c6539388d42168b7bbd51 (patch) | |
tree | 058e5fa29672a1576db539fd9ba9e445a87ad4c2 | |
parent | 7dc8e67f81d97efb297ce37896bb996f6d133f08 (diff) | |
download | samba-3e0f5d70709b30f4394c6539388d42168b7bbd51.tar.gz samba-3e0f5d70709b30f4394c6539388d42168b7bbd51.tar.bz2 samba-3e0f5d70709b30f4394c6539388d42168b7bbd51.zip |
r22031: Make sure we rewrite the include directives in CFLAGS to contain
paths from builddir and srcdir. builddir has precedence.
(This used to be commit af87c22ecf357c3e83b46cf38acec5b94686d3e9)
-rwxr-xr-x | source4/build/smb_build/cflags.pm | 20 | ||||
-rw-r--r-- | source4/build/smb_build/main.pl | 4 |
2 files changed, 20 insertions, 4 deletions
diff --git a/source4/build/smb_build/cflags.pm b/source4/build/smb_build/cflags.pm index 71898a582b..7ce3ba3555 100755 --- a/source4/build/smb_build/cflags.pm +++ b/source4/build/smb_build/cflags.pm @@ -6,9 +6,12 @@ package cflags; use strict; -sub create_cflags($$) +sub create_cflags($$$$) { - my ($CTX, $file) = @_; + my $CTX = shift; + my $srcdir = shift; + my $builddir = shift; + my $file = shift; open(CFLAGS_TXT,">$file") || die ("Can't open `$file'\n"); @@ -18,7 +21,18 @@ sub create_cflags($$) next unless defined ($key->{FINAL_CFLAGS}); next unless ($#{$key->{FINAL_CFLAGS}} >= 0); - my $cflags = join(' ', @{$key->{FINAL_CFLAGS}}); + # Rewrite CFLAGS so that both the source and the build + # directories are in the path. + my $cflags = ""; + foreach my $flag (@{$key->{FINAL_CFLAGS}}) { + my $dir; + if (($dir) = ($flag =~ /^-I([^\/].*)$/)) { + $cflags .= " -I$builddir/$dir"; + $cflags .= " -I$srcdir/$dir"; + } else { + $cflags .= " $flag"; + } + } foreach (@{$key->{OBJ_LIST}}) { my $ofile = $_; diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl index 765944cae1..90d99668dd 100644 --- a/source4/build/smb_build/main.pl +++ b/source4/build/smb_build/main.pl @@ -71,7 +71,9 @@ foreach my $key (values %$OUTPUT) { $mkenv->write("Makefile"); header::create_smb_build_h($OUTPUT, "include/build.h"); -cflags::create_cflags($OUTPUT, "extra_cflags.txt"); +cflags::create_cflags($OUTPUT, $config::config{srcdir}, + $config::config{builddir}, "extra_cflags.txt"); + summary::show($OUTPUT, \%config::config); |