Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-local
[kai/samba.git] / source4 / build / smb_build / config_mk.pm
index d8ec646910a49472634ae0240019ce8c62d88556..81c3363cfbfcfd0ccfb014a594ffe7a373600e3c 100644 (file)
@@ -23,14 +23,11 @@ my $section_types = {
                SWIG_FILE => "string",
                "PRIVATE_DEPENDENCIES"  => "list",
                "PUBLIC_DEPENDENCIES"   => "list",
-               "OBJ_FILES" => "list",
                "ENABLE"                => "bool",
                "LDFLAGS"               => "list",
                "CFLAGS"                => "list",
        },
        "SUBSYSTEM" => {
-               "OBJ_FILES"             => "list",
-
                "PRIVATE_DEPENDENCIES"  => "list",
                "PUBLIC_DEPENDENCIES"   => "list",
 
@@ -47,7 +44,6 @@ my $section_types = {
                "SUBSYSTEM"             => "string",
 
                "INIT_FUNCTION"         => "string",
-               "OBJ_FILES"             => "list",
 
                "PRIVATE_DEPENDENCIES"  => "list",
 
@@ -62,7 +58,6 @@ my $section_types = {
                "CFLAGS"                => "list"
                },
        "BINARY" => {
-               "OBJ_FILES"             => "list",
 
                "PRIVATE_DEPENDENCIES"  => "list",
 
@@ -78,18 +73,12 @@ my $section_types = {
                "USE_HOSTCC"            => "bool"
                },
        "LIBRARY" => {
-               "VERSION"               => "string",
-               "SO_VERSION"            => "string",
                "LIBRARY_REALNAME" => "string",
 
-               "PC_FILE" => "string",
-               
                "INIT_FUNCTION_TYPE"    => "string",
                "INIT_FUNCTION_SENTINEL" => "string",
                "OUTPUT_TYPE"           => "list",
 
-               "OBJ_FILES"             => "list",
-
                "PRIVATE_DEPENDENCIES"  => "list",
                "PUBLIC_DEPENDENCIES"   => "list",
 
@@ -223,6 +212,9 @@ sub run_config_mk($$$$)
                {
                        $section = $1;
                        $infragment = 0;
+
+                       $result->{$section}{EXISTS}{KEY} = "EXISTS";
+                       $result->{$section}{EXISTS}{VAL} = 1;
                        next;
                }
 
@@ -233,6 +225,7 @@ sub run_config_mk($$$$)
                        $subdir =~ s/^\.$//g;
                        $subdir =~ s/^\.\///g;
                        $subdir .= "/" if ($subdir ne "");
+                       $makefile .= "basedir := $subdir\n";
                        $makefile .= run_config_mk($input, $srcdir, $builddir, $subdir.$subfile);
                        next;
                }
@@ -251,7 +244,6 @@ sub run_config_mk($$$$)
                        $infragment = 1;
                        next;
                }
-
                
                # Assignment
                if ($line =~ /^([a-zA-Z0-9_]+)[\t ]*=(.*)$/) {
@@ -261,7 +253,7 @@ sub run_config_mk($$$$)
                        next;
                }
 
-               die("$parsing_file:$linenum: Bad line while parsing $parsing_file");
+               die("$parsing_file:$linenum: Bad line");
        }
 
        $makefile .= "# }END $parsing_file\n";
@@ -280,6 +272,7 @@ sub run_config_mk($$$$)
                $input->{$name}{BASEDIR} = $basedir;
 
                foreach my $key (values %{$result->{$section}}) {
+                       next if ($key->{KEY} eq "EXISTS");
                        $key->{VAL} = smb_build::input::strtrim($key->{VAL});
                        my $vartype = $sectype->{$key->{KEY}};
                        if (not defined($vartype)) {