Move object file lists to the Makefile.
[samba.git] / source4 / build / smb_build / input.pm
index 9cc374fa796d17997b95e15d32afdff8182f1433..cd7b7ba2ac013e3f4090bcc5b562da429cf46ca3 100644 (file)
@@ -92,7 +92,7 @@ sub check_module($$$)
 
        if (not defined($mod->{OUTPUT_TYPE})) {
                if ($INPUT->{$mod->{SUBSYSTEM}}->{TYPE} eq "EXT_LIB") {
-                       $mod->{OUTPUT_TYPE} = ["SHARED_LIBRARY"];
+                       $mod->{OUTPUT_TYPE} = undef;
                } else {
                        $mod->{OUTPUT_TYPE} = $default_ot;
                }
@@ -163,7 +163,7 @@ sub check_python($$$)
                $python->{LIBRARY_REALNAME} = "$basename.\$(SHLIBEXT)";
                $python->{INIT_FUNCTION} = "{ (char *)\"$basename\", init$basename }";
        }
-       push (@{$python->{CFLAGS}}, @{$INPUT->{EXT_LIB_PYTHON}->{CFLAGS}});
+       push (@{$python->{CFLAGS}}, "\$(EXT_LIB_PYTHON_CFLAGS)");
 
        $python->{SUBSYSTEM} = "LIBPYTHON";
 
@@ -189,9 +189,12 @@ sub add_implicit($$)
        $INPUT->{$n} = {
                TYPE => "MAKE_RULE",
                NAME => $n,
-               TARGET => lc($n),
-               LIBS => "\$(".uc($n)."_LIBS)",
-               CFLAGS => "\$(".uc($n)."_CFLAG)"
+               TARGET => "",
+               OUTPUT_TYPE => undef,
+               LIBS => ["\$(".uc($n)."_LIBS)"],
+               LDFLAGS => ["\$(".uc($n)."_LDFLAGS)"],
+               CFLAGS => ["\$(".uc($n)."_CFLAGS)"],
+               CPPFLAGS => ["\$(".uc($n)."_CPPFLAGS)"]
        };
 }
 
@@ -202,9 +205,12 @@ sub calc_unique_deps($$$$$$$$)
 
        foreach my $n (@$deps) {
                add_implicit($INPUT, $n) unless (defined($INPUT->{$n}));
-               die("Recursive dependency: $n, list: " . join(',', @$busy)) if (grep (/^$n$/, @$busy));
-               next if (grep /^$n$/, @$udeps);
                my $dep = $INPUT->{$n};
+               if (grep (/^$n$/, @$busy)) {
+                       next if (@{$dep->{OUTPUT_TYPE}}[0] eq "MERGED_OBJ");
+                       die("Recursive dependency: $n, list: " . join(',', @$busy));
+               }
+               next if (grep /^$n$/, @$udeps);
 
                push (@{$udeps}, $dep->{NAME}) if $forward;
 
@@ -227,22 +233,6 @@ sub check($$$$$)
        my ($INPUT, $enabled, $subsys_ot, $lib_ot, $module_ot) = @_;
 
        foreach my $part (values %$INPUT) {
-               unless (defined($part->{STANDARD_VISIBILITY})) {
-                       if ($part->{TYPE} eq "MODULE" or $part->{TYPE} eq "BINARY") {
-                               $part->{STANDARD_VISIBILITY} = "hidden";
-                       } else {
-                               $part->{STANDARD_VISIBILITY} = "default";
-                       }
-               }
-
-               unless (defined($part->{PUBLIC_HEADERS})) {
-                       $part->{PUBLIC_HEADERS} = [];
-               }
-               
-               if (defined($part->{PUBLIC_PROTO_HEADER})) {
-                       push (@{$part->{PUBLIC_HEADERS}}, $part->{PUBLIC_PROTO_HEADER});
-               }
-
                if (defined($enabled->{$part->{NAME}})) { 
                        $part->{ENABLE} = $enabled->{$part->{NAME}};
                        next;
@@ -259,7 +249,7 @@ sub check($$$$$)
 
        foreach my $part (values %$INPUT) {
                $part->{LINK_FLAGS} = [];
-               $part->{FULL_OBJ_LIST} = ["\$($part->{NAME}_OBJ_LIST)"];
+               $part->{FULL_OBJ_LIST} = ["\$($part->{NAME}_OBJ_FILES)"];
 
                if ($part->{TYPE} eq "SUBSYSTEM") { 
                        check_subsystem($INPUT, $part, $subsys_ot);