svn commit: samba r3422 - in branches/SAMBA_4_0/source/build/smb_build: .

tridge at samba.org tridge at samba.org
Mon Nov 1 05:23:55 GMT 2004


Author: tridge
Date: 2004-11-01 05:23:54 +0000 (Mon, 01 Nov 2004)
New Revision: 3422

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

Log:
allow for subsystems that don't get included in the list of auto-prototype objects, using
SMB_SUBSYSTEM_NOPROTO()


Modified:
   branches/SAMBA_4_0/source/build/smb_build/makefile.pl
   branches/SAMBA_4_0/source/build/smb_build/public.m4


Changeset:
Modified: branches/SAMBA_4_0/source/build/smb_build/makefile.pl
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/makefile.pl	2004-11-01 05:22:44 UTC (rev 3421)
+++ branches/SAMBA_4_0/source/build/smb_build/makefile.pl	2004-11-01 05:23:54 UTC (rev 3422)
@@ -540,14 +540,27 @@
 # $proto_ctx->{OBJ_LIST} -	the list of objectfiles which sould be scanned by make proto
 #
 # $output -		the resulting output buffer
-sub _prepare_proto_obj_list($)
+sub _prepare_proto_obj_list($$)
 {
 	my $ctx = shift;
+	my $noproto = shift;
 	my $tmplist;
 	my $output;
+	my %proto_obj;
+	use Data::Dumper;
 
-	$tmplist = array2oneperline($ctx->{OBJ_LIST});
+	foreach my $str (@{$ctx->{OBJ_LIST}}) {
+		$proto_obj{$str} = 1;
+	}
+	foreach my $str (keys %{$noproto}) {
+		if ($noproto->{$str}) {
+			delete $proto_obj{"\$(SUBSYSTEM_$str\_OBJS)"};
+		}
+	}
 
+	my @proto_list = (keys %proto_obj);
+	$tmplist = array2oneperline(\@proto_list);
+
 	$output = "
 ###################################
 # Start PROTO OBJ LIST
@@ -656,7 +669,7 @@
 		$output .= _prepare_binary_obj_list(\%{$CTX->{OUTPUT}{BINARIES}{$key}});
 	}
 
-	$output .= _prepare_proto_obj_list(\%{$CTX->{OUTPUT}{PROTO}});
+	$output .= _prepare_proto_obj_list(\%{$CTX->{OUTPUT}{PROTO}}, \%{$CTX->{INPUT}{SUBSYSTEMS}{NOPROTO}});
 
 	return $output;
 }

Modified: branches/SAMBA_4_0/source/build/smb_build/public.m4
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/public.m4	2004-11-01 05:22:44 UTC (rev 3421)
+++ branches/SAMBA_4_0/source/build/smb_build/public.m4	2004-11-01 05:23:54 UTC (rev 3422)
@@ -41,6 +41,10 @@
 dnl		2:default_build
 dnl		)
 dnl
+dnl SMB_SUBSYSTEM_NOPROTO(
+dnl		1:name
+dnl		)
+dnl
 dnl SMB_SUBSYSTEM(
 dnl		1:name,
 dnl		2:init_obj_files,
@@ -267,6 +271,14 @@
 	[SMB_SUBSYSTEM_ENABLE_][$1]="$2"
 ])
 
+dnl SMB_SUBSYSTEM_NOPROTO(
+dnl		1:name
+dnl		)
+AC_DEFUN([SMB_SUBSYSTEM_NOPROTO],
+[
+	[SMB_SUBSYSTEM_NOPROTO_][$1]="1"
+])
+
 dnl SMB_SUBSYSTEM(
 dnl		1:name,
 dnl		2:init_obj_files,
@@ -291,6 +303,7 @@
 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$5\");
 #
 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ENABLE} = \"$[SMB_SUBSYSTEM_ENABLE_][$1]\";
+\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{NOPROTO}{$1} = \"$[SMB_SUBSYSTEM_NOPROTO_][$1]\";
 # End Subsystem $1
 ###################################
 "
@@ -317,6 +330,7 @@
 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_SUBSYSTEMS}} = subsystem_get_array(\"$2\", \"$1\", \"REQUIRED_SUBSYSTEMS\");
 #
 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ENABLE} = \"$[SMB_SUBSYSTEM_ENABLE_][$1]\";
+\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{NOPROTO}{$1} = \"$[SMB_SUBSYSTEM_NOPROTO_][$1]\";
 # End Subsystem $1
 ###################################
 "



More information about the samba-cvs mailing list