r14483: Allow subsystems with just a public prototype header, no private ones
authorJelmer Vernooij <jelmer@samba.org>
Thu, 16 Mar 2006 16:47:18 +0000 (16:47 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:57:31 +0000 (13:57 -0500)
(This used to be commit bb6541126c94b33e4a24d9f036655b55b704923b)

source4/build/smb_build/main.pl
source4/build/smb_build/makefile.pm

index 733b447e40638be01f11cd00a871e027e78ca44d..3443dbc46b3ffc2addfb0eccebf5137fc68822fe 100644 (file)
@@ -72,7 +72,8 @@ foreach my $key (values %$OUTPUT) {
        $mkenv->Binary($key) if $key->{OUTPUT_TYPE} eq "BINARY";
        $mkenv->Manpage($key) if defined($key->{MANPAGE});
        $mkenv->Header($key) if defined($key->{PUBLIC_HEADERS});
-       $mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER});
+       $mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER}) or 
+                                                                defined($key->{PUBLIC_PROTO_HEADER});
 
 #      $mkenv->DependencyInfo($key) if $config::config{developer} eq "yes";
 }
index 8252c0181b9da299705f0bdef3336c6a4223e163..c6752ecde6393c5bc816cc46d003417efb43bf13 100644 (file)
@@ -457,17 +457,26 @@ sub ProtoHeader($$)
 
        $dir =~ s/^\.\///g;
 
-       my $comment = "";
+       my $comment = "Creating ";
+       if (defined($ctx->{PRIVATE_PROTO_HEADER})) {
+               $comment.= "$dir/$ctx->{PRIVATE_PROTO_HEADER}";
+               if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
+                       $comment .= " and ";
+               }
+               push (@{$self->{proto_headers}}, "$dir/$ctx->{PRIVATE_PROTO_HEADER}");
+       } else {
+               $ctx->{PRIVATE_PROTO_HEADER} = $ctx->{PUBLIC_PROTO_HEADER};
+       }
+       
        if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
-               $comment.= " and $dir/$ctx->{PUBLIC_PROTO_HEADER}";
+               $comment.= "$dir/$ctx->{PUBLIC_PROTO_HEADER}";
                push (@{$self->{proto_headers}}, "$dir/$ctx->{PUBLIC_PROTO_HEADER}");
        } else {
                $ctx->{PUBLIC_PROTO_HEADER} = $ctx->{PRIVATE_PROTO_HEADER};
        }       
-       push (@{$self->{proto_headers}}, "$dir/$ctx->{PRIVATE_PROTO_HEADER}");
 
        $self->output("$dir/$ctx->{PUBLIC_PROTO_HEADER}: \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST:.o=.c)\n");
-       $self->output("\t\@echo \"Creating $dir/$ctx->{PRIVATE_PROTO_HEADER}$comment\"\n");
+       $self->output("\t\@echo \"$comment\"\n");
 
        $self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --private=$dir/$ctx->{PRIVATE_PROTO_HEADER} --public=$dir/$ctx->{PUBLIC_PROTO_HEADER} \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST)\n\n");
 }