diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-11-01 05:23:54 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:08 -0500 |
commit | 38ee8f04ef945f9b109f8cdb39dc7c3c5ee90dd3 (patch) | |
tree | 7ce64716627d1162c27d9471c36f146ae64bc7bc | |
parent | 48ce437be2e3da6d67844dfed3d574986c55a67e (diff) | |
download | samba-38ee8f04ef945f9b109f8cdb39dc7c3c5ee90dd3.tar.gz samba-38ee8f04ef945f9b109f8cdb39dc7c3c5ee90dd3.tar.bz2 samba-38ee8f04ef945f9b109f8cdb39dc7c3c5ee90dd3.zip |
r3422: allow for subsystems that don't get included in the list of auto-prototype objects, using
SMB_SUBSYSTEM_NOPROTO()
(This used to be commit e6b69183de785641144f9abb1853cab73c70073e)
-rw-r--r-- | source4/build/smb_build/makefile.pl | 19 | ||||
-rw-r--r-- | source4/build/smb_build/public.m4 | 14 |
2 files changed, 30 insertions, 3 deletions
diff --git a/source4/build/smb_build/makefile.pl b/source4/build/smb_build/makefile.pl index 3f79b50825..daaeb06c8e 100644 --- a/source4/build/smb_build/makefile.pl +++ b/source4/build/smb_build/makefile.pl @@ -540,13 +540,26 @@ binary_$ctx->{BINARY}: basics bin/$ctx->{BINARY} # $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 = " ################################### @@ -656,7 +669,7 @@ sub _prepare_obj_lists($) $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; } diff --git a/source4/build/smb_build/public.m4 b/source4/build/smb_build/public.m4 index c9e02109c2..e3bbcf1eba 100644 --- a/source4/build/smb_build/public.m4 +++ b/source4/build/smb_build/public.m4 @@ -41,6 +41,10 @@ dnl 1:name, 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 @@ AC_DEFUN([SMB_SUBSYSTEM_ENABLE], [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_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS @{\$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_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS @{\$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 ################################### " |