summaryrefslogtreecommitdiff
path: root/source4/build/smb_build
diff options
context:
space:
mode:
authorJames Peach <jpeach@samba.org>2007-04-02 17:11:36 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:49:43 -0500
commit3e0f5d70709b30f4394c6539388d42168b7bbd51 (patch)
tree058e5fa29672a1576db539fd9ba9e445a87ad4c2 /source4/build/smb_build
parent7dc8e67f81d97efb297ce37896bb996f6d133f08 (diff)
downloadsamba-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)
Diffstat (limited to 'source4/build/smb_build')
-rwxr-xr-xsource4/build/smb_build/cflags.pm20
-rw-r--r--source4/build/smb_build/main.pl4
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);