r20645: Commit the build system changes to allow scripts in config.mk files.
authorAndrew Bartlett <abartlet@samba.org>
Wed, 10 Jan 2007 08:50:03 +0000 (08:50 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:37:23 +0000 (14:37 -0500)
Andrew Bartlett
(This used to be commit 14b485ba9c72a654e5cf9e61f71fd0fb502d603b)

source4/build/smb_build/config_mk.pm

index f89e817f5f53062cb524bfd7a3d2776f9efc7a64..42c96f17927767b3a81d5602d0f5a4cbe9c7a40c 100644 (file)
@@ -117,7 +117,7 @@ use vars qw(@parsed_files);
 ###########################################################
 # The parsing function which parses the file
 #
-# $result = _parse_config_mk($filename)
+# $result = _parse_config_mk($input, $srcdir, $builddir, $filename)
 #
 # $filename -  the path of the config.mk file
 #              which should be parsed
@@ -133,6 +133,7 @@ sub run_config_mk($$$$)
 
        my $parsing_file = $filename;
        my $retry_parsing_file = undef;
+       my $basedir;
 
        $ENV{samba_builddir} = $builddir;
        $ENV{samba_srcdir} = $srcdir;
@@ -157,8 +158,12 @@ sub run_config_mk($$$$)
                }
        }
 
-       push (@parsed_files, $parsing_file);
-       
+        if ($parsing_file =~ /\|$/) { 
+               $basedir = $builddir;
+       } else {
+               $basedir = dirname($filename);
+               push (@parsed_files, $parsing_file);
+       }
        
        my @lines = <CONFIG_MK>;
        close(CONFIG_MK);
@@ -236,7 +241,7 @@ sub run_config_mk($$$$)
                $input->{$name}{NAME} = $name;
                $input->{$name}{TYPE} = $type;
                $input->{$name}{MK_FILE} = $parsing_file;
-               $input->{$name}{BASEDIR} = dirname($filename);
+               $input->{$name}{BASEDIR} = $basedir;
 
                foreach my $key (values %{$result->{$section}}) {
                        $key->{VAL} = smb_build::input::strtrim($key->{VAL});