Author: jelmer
Date: 2005-12-27 21:11:09 +0000 (Tue, 27 Dec 2005)
New Revision: 12523

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12523

Log:
Convert the registry subsystem to use a seperate prototype header 
(note that this doesn't use the distinction between private 
 and public prototypes yet)

Modified:
   branches/SAMBA_4_0/source/build/smb_build/input.pm
   branches/SAMBA_4_0/source/build/smb_build/makefile.pm
   branches/SAMBA_4_0/source/include/structs.h
   branches/SAMBA_4_0/source/lib/registry/config.mk
   branches/SAMBA_4_0/source/lib/registry/registry.h
   branches/SAMBA_4_0/source/main.mk
   branches/SAMBA_4_0/source/smbd/server.c
   branches/SAMBA_4_0/source/torture/local/registry.c


Changeset:
Modified: branches/SAMBA_4_0/source/build/smb_build/input.pm
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/input.pm  2005-12-27 20:52:36 UTC 
(rev 12522)
+++ branches/SAMBA_4_0/source/build/smb_build/input.pm  2005-12-27 21:11:09 UTC 
(rev 12523)
@@ -140,10 +140,14 @@
                        $part->{NOPROTO} = "NO";
                }
 
-               if (defined($part->{PRIVATE_PROTO_HEADER}) or 
-                       defined($part->{PUBLIC_PROTO_HEADER})) {
+               if (defined($part->{PRIVATE_PROTO_HEADER})) {
                        $part->{NOPROTO} = "YES";
                }
+               
+               if (defined($part->{PUBLIC_PROTO_HEADER})) {
+                       $part->{NOPROTO} = "YES";
+                       push (@{$part->{PUBLIC_HEADERS}}, 
$part->{PUBLIC_PROTO_HEADER});
+               }
 
                if (defined($enabled->{$part->{NAME}})) { 
                        $part->{ENABLE} = $enabled->{$part->{NAME}};

Modified: branches/SAMBA_4_0/source/build/smb_build/makefile.pm
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/makefile.pm       2005-12-27 
20:52:36 UTC (rev 12522)
+++ branches/SAMBA_4_0/source/build/smb_build/makefile.pm       2005-12-27 
21:11:09 UTC (rev 12523)
@@ -25,6 +25,7 @@
        $self->{shared_libs} = [];
        $self->{headers} = [];
        $self->{pc_files} = [];
+       $self->{proto_headers} = [];
        $self->{output} = "";
 
        $self->{mkfile} = $mkfile;
@@ -426,7 +427,7 @@
 
        my $dir = $ctx->{BASEDIR};
        
-       $ctx->{BASEDIR} =~ s/^\.\///g;
+       $dir =~ s/^\.\///g;
 
        push (@{$self->{manpages}}, "$dir/$ctx->{MANPAGE}");
 }
@@ -464,17 +465,19 @@
        my ($self,$ctx) = @_;
 
        my $dir = $ctx->{BASEDIR};
-       $ctx->{BASEDIR} =~ s/^\.\///g;
 
+       $dir =~ s/^\.\///g;
+
        my $comment = "";
-       my $target = "$dir/$ctx->{PRIVATE_PROTO_HEADER}";
        if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
-               $comment.= " and $dir/$ctx->{PRIVATE_PROTO_HEADER}";
+               $comment.= " and $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("$target: 
\$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST:.o=.c)\n");
+       $self->output("$dir/$ctx->{PUBLIC_PROTO_HEADER}: 
\$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST:.o=.c)\n");
        $self->output("[EMAIL PROTECTED] \"Creating 
$dir/$ctx->{PRIVATE_PROTO_HEADER}$comment\"\n");
 
        $self->output("[EMAIL PROTECTED](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");
@@ -494,6 +497,7 @@
        $self->output("PC_FILES = " . array2oneperline($self->{pc_files}) . 
"\n");
        $self->output("ALL_OBJS = " . array2oneperline($self->{all_objs}) . 
"\n");
        $self->output("PROTO_OBJS = " . array2oneperline($self->{proto_objs}) . 
 "\n");
+       $self->output("PROTO_HEADERS = " . 
array2oneperline($self->{proto_headers}) .  "\n");
 
        $self->_prepare_mk_files();
 

Modified: branches/SAMBA_4_0/source/include/structs.h
===================================================================
--- branches/SAMBA_4_0/source/include/structs.h 2005-12-27 20:52:36 UTC (rev 
12522)
+++ branches/SAMBA_4_0/source/include/structs.h 2005-12-27 21:11:09 UTC (rev 
12523)
@@ -138,10 +138,6 @@
 struct ldap_message;
 struct ldap_Result;
 struct rw_buffer;
-struct registry_context;
-struct registry_key;
-struct registry_value;
-struct reg_diff_file;
 
 struct rap_NetShareEnum;
 struct rap_NetServerEnum2;
@@ -375,3 +371,5 @@
 struct IUnknown_vtable;
 
 struct MprVar;
+
+struct registry_context;

Modified: branches/SAMBA_4_0/source/lib/registry/config.mk
===================================================================
--- branches/SAMBA_4_0/source/lib/registry/config.mk    2005-12-27 20:52:36 UTC 
(rev 12522)
+++ branches/SAMBA_4_0/source/lib/registry/config.mk    2005-12-27 21:11:09 UTC 
(rev 12523)
@@ -90,6 +90,7 @@
                patchfile.o
 REQUIRED_SUBSYSTEMS = \
                LIBBASIC
+PRIVATE_PROTO_HEADER = registry_proto.h
 PUBLIC_HEADERS = registry.h
 # End MODULE registry_ldb
 ################################################

Modified: branches/SAMBA_4_0/source/lib/registry/registry.h
===================================================================
--- branches/SAMBA_4_0/source/lib/registry/registry.h   2005-12-27 20:52:36 UTC 
(rev 12522)
+++ branches/SAMBA_4_0/source/lib/registry/registry.h   2005-12-27 21:11:09 UTC 
(rev 12523)
@@ -161,4 +161,6 @@
        struct reg_diff_key *keys;
 };
 
+#include "registry_proto.h"
+
 #endif /* _REGISTRY_H */

Modified: branches/SAMBA_4_0/source/main.mk
===================================================================
--- branches/SAMBA_4_0/source/main.mk   2005-12-27 20:52:36 UTC (rev 12522)
+++ branches/SAMBA_4_0/source/main.mk   2005-12-27 21:11:09 UTC (rev 12523)
@@ -216,7 +216,8 @@
 basics: include/config.h \
        include/proto.h \
        idl \
-       heimdal_basics
+       heimdal_basics \
+       $(PROTO_HEADERS)
 
 clean: heimdal_clean
        @echo Removing headers
@@ -234,6 +235,8 @@
        @echo Removing generated files
        @-rm -rf librpc/gen_* 
        @-rm -f lib/registry/regf.h lib/registry/tdr_regf*
+       @echo Removing proto headers
+       @-rm -f $(PROTO_HEADERS)
 
 distclean: clean
        -rm -f bin/.dummy 

Modified: branches/SAMBA_4_0/source/smbd/server.c
===================================================================
--- branches/SAMBA_4_0/source/smbd/server.c     2005-12-27 20:52:36 UTC (rev 
12522)
+++ branches/SAMBA_4_0/source/smbd/server.c     2005-12-27 21:11:09 UTC (rev 
12523)
@@ -31,6 +31,7 @@
 #include "system/filesys.h"
 #include "system/kerberos.h"
 #include "smb_build.h"
+#include "registry/registry.h"
 
 /*
   recursively delete a directory tree

Modified: branches/SAMBA_4_0/source/torture/local/registry.c
===================================================================
--- branches/SAMBA_4_0/source/torture/local/registry.c  2005-12-27 20:52:36 UTC 
(rev 12522)
+++ branches/SAMBA_4_0/source/torture/local/registry.c  2005-12-27 21:11:09 UTC 
(rev 12523)
@@ -23,6 +23,7 @@
 #include "includes.h"
 #include "librpc/gen_ndr/security.h"
 #include "librpc/gen_ndr/ndr_epmapper.h"
+#include "lib/registry/registry.h"
 
 static BOOL test_hive(TALLOC_CTX *mem_ctx, const char *backend, const char 
*location)
 {

Reply via email to