From 11e91848956821f9a794ae92f98b9204df0dbf12 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 23 Nov 2003 03:03:27 +0000 Subject: by using a single proto.h we gain another factor of 4 in the speed of "make proto" (This used to be commit f6bb118799887e8e29399343e377ba8e9f059f20) --- source4/Makefile.in | 56 ++++------------------------------------------- source4/client/client.c | 1 - source4/client/clitar.c | 1 - source4/script/mkproto.pl | 15 +++++++------ 4 files changed, 12 insertions(+), 61 deletions(-) diff --git a/source4/Makefile.in b/source4/Makefile.in index c721b4caa1..2a789c4fe9 100644 --- a/source4/Makefile.in +++ b/source4/Makefile.in @@ -522,7 +522,8 @@ PROTO_OBJ = $(SMBD_OBJ_SRV) \ $(READLINE_OBJ) $(PROFILE_OBJ) $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) \ $(LIB_SMBD_OBJ) $(SAM_OBJ) $(REGISTRY_OBJ) $(POPT_LIB_OBJ) \ $(RPC_LSA_OBJ) $(RPC_NETLOG_OBJ) $(RPC_SAMR_OBJ) $(RPC_REG_OBJ) \ - $(RPC_SVC_OBJ) $(RPC_WKS_OBJ) $(RPC_DFS_OBJ) $(RPC_SPOOLSS_OBJ) + $(RPC_SVC_OBJ) $(RPC_WKS_OBJ) $(RPC_DFS_OBJ) $(RPC_SPOOLSS_OBJ) \ + $(CLIENT_OBJ1) NSS_OBJ_0 = nsswitch/wins.o $(PARAM_OBJ) $(LIBSMB_OBJ) \ $(LIB_OBJ) $(NSSWINS_OBJ) @@ -1085,20 +1086,12 @@ clean: delheaders python_clean # exist, not necessarily that they are up to date. Since they're # removed by "make clean" this will always be run when you do anything # afterwards. -proto_exists: include/proto.h include/wrepld_proto.h include/build_env.h \ - nsswitch/winbindd_proto.h web/swat_proto.h \ -@STFS_ENABLED@ ntvfs/tank/vfs_tank_proto.h \ - client/client_proto.h utils/net_proto.h \ +proto_exists: include/proto.h include/build_env.h \ include/tdbsam2_parse_info.h delheaders: @echo Removing prototype headers @/bin/rm -f $(srcdir)/include/proto.h $(srcdir)/include/build_env.h - @/bin/rm -f $(srcdir)/include/wrepld_proto.h $(srcdir)/nsswitch/winbindd_proto.h - @/bin/rm -f $(srcdir)/web/swat_proto.h - @/bin/rm -f $(srcdir)/client/client_proto.h $(srcdir)/utils/net_proto.h - @/bin/rm -f $(srcdir)/include/tdbsam2_parse_info.h -@STFS_ENABLED@ @/bin/rm -f $(srcdir)/ntvfs/tank/vfs_tank_proto.h include/proto.h: @echo Building include/proto.h @@ -1110,37 +1103,6 @@ include/build_env.h: @echo Building include/build_env.h @cd $(srcdir) && $(SHELL) script/build_env.sh $(srcdir) $(builddir) $(CC) > $(builddir)/include/build_env.h -include/wrepld_proto.h: - @echo Building include/wrepld_proto.h - @cd $(srcdir) && $(SHELL) script/mkproto.sh $(PERL) \ - -h _WREPLD_PROTO_H_ $(builddir)/include/wrepld_proto.h \ - $(WREPL_OBJ1) - -nsswitch/winbindd_proto.h: - @cd $(srcdir) && $(SHELL) script/mkproto.sh $(PERL) \ - -h _WINBINDD_PROTO_H_ nsswitch/winbindd_proto.h \ - $(WINBINDD_OBJ1) - -ntvfs/tank/vfs_tank_proto.h: - @cd $(srcdir) && $(SHELL) script/mkproto.sh $(PERL) \ - -h _VFS_TANK_PROTO_H_ ntvfs/tank/vfs_tank_proto.h \ - $(STFS_OBJS) - -web/swat_proto.h: - @cd $(srcdir) && $(SHELL) script/mkproto.sh $(PERL) \ - -h _SWAT_PROTO_H_ web/swat_proto.h \ - $(SWAT_OBJ1) - -client/client_proto.h: - @cd $(srcdir) && $(SHELL) script/mkproto.sh $(PERL) \ - -h _CLIENT_PROTO_H_ client/client_proto.h \ - $(CLIENT_OBJ1) - -utils/net_proto.h: - @cd $(srcdir) && $(SHELL) script/mkproto.sh $(PERL) \ - -h _CLIENT_PROTO_H_ utils/net_proto.h \ - $(NET_OBJ1) - include/tdbsam2_parse_info.h: @cd $(srcdir) && $(PERL) -w script/genstruct.pl \ -o include/tdbsam2_parse_info.h $(CC) -E -g \ @@ -1149,17 +1111,7 @@ include/tdbsam2_parse_info.h: # "make headers" or "make proto" calls a subshell because we need to # make sure these commands are executed in sequence even for a # parallel make. -headers: - $(MAKE) delheaders; \ - $(MAKE) include/proto.h; \ - $(MAKE) include/build_env.h; \ - $(MAKE) include/wrepld_proto.h; \ - $(MAKE) nsswitch/winbindd_proto.h; \ - $(MAKE) web/swat_proto.h; \ - $(MAKE) client/client_proto.h; \ - $(MAKE) utils/net_proto.h; \ - $(MAKE) include/tdbsam2_parse_info.h; \ -@STFS_ENABLED@ $(MAKE) ntvfs/tank/vfs_tank_proto.h +headers: delheaders include/proto.h include/build_env.h include/tdbsam2_parse_info.h proto: headers diff --git a/source4/client/client.c b/source4/client/client.c index e0d332ca13..c46c8d8133 100644 --- a/source4/client/client.c +++ b/source4/client/client.c @@ -22,7 +22,6 @@ */ #include "includes.h" -#include "../client/client_proto.h" #ifndef REGISTER #define REGISTER 0 #endif diff --git a/source4/client/clitar.c b/source4/client/clitar.c index 78f44da8ca..8ab54a40c2 100644 --- a/source4/client/clitar.c +++ b/source4/client/clitar.c @@ -37,7 +37,6 @@ #include "includes.h" #include "clitar.h" -#include "../client/client_proto.h" static int clipfind(char **aret, int ret, char *tok); void dos_clean_name(char *s); diff --git a/source4/script/mkproto.pl b/source4/script/mkproto.pl index c5cb374047..66f2799147 100644 --- a/source4/script/mkproto.pl +++ b/source4/script/mkproto.pl @@ -64,16 +64,17 @@ sub process_file($) next if ($line =~ /^\/|[;]/); - if ($line =~ /^FN_/) { - handle_loadparm($line); - } - next unless ( $line =~ / ^void|^BOOL|^int|^struct|^char|^const|^\w+_[tT]\s|^uint|^unsigned|^long| ^NTSTATUS|^ADS_STATUS|^enum\s.*\(|^DATA_BLOB|^WERROR|^XFILE|^FILE|^DIR| - ^double|^TDB_CONTEXT|^TDB_DATA|^TALLOC_CTX|^NTTIME + ^double|^TDB_CONTEXT|^TDB_DATA|^TALLOC_CTX|^NTTIME|^FN_ /xo); + if ($line =~ /^FN_/) { + handle_loadparm($line); + next; + } + if ( $line =~ /\(.*\)\s*$/o ) { chomp $line; print "$line;\n"; @@ -83,12 +84,12 @@ sub process_file($) print $line; while ($line = ) { - chomp $line; if ($line =~ /\)\s*$/o) { + chomp $line; print "$line;\n"; last; } - print "$line\n"; + print $line; } } -- cgit