diff options
-rw-r--r-- | source4/build/smb_build/makefile.pl | 19 | ||||
-rw-r--r-- | source4/build/smb_build/output.pl | 4 | ||||
-rw-r--r-- | source4/build/smb_build/public.m4 | 14 |
3 files changed, 17 insertions, 20 deletions
diff --git a/source4/build/smb_build/makefile.pl b/source4/build/smb_build/makefile.pl index e0cb3d0d86..a3187daaa7 100644 --- a/source4/build/smb_build/makefile.pl +++ b/source4/build/smb_build/makefile.pl @@ -540,26 +540,13 @@ 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; - 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); + $tmplist = array2oneperline($ctx->{OBJ_LIST}); $output = " ################################### @@ -669,7 +656,7 @@ sub _prepare_obj_lists($) $output .= _prepare_binary_obj_list(\%{$CTX->{OUTPUT}{BINARIES}{$key}}); } - $output .= _prepare_proto_obj_list(\%{$CTX->{OUTPUT}{PROTO}}, \%{$CTX->{INPUT}{SUBSYSTEMS}{NOPROTO}}); + $output .= _prepare_proto_obj_list(\%{$CTX->{OUTPUT}{PROTO}}); return $output; } diff --git a/source4/build/smb_build/output.pl b/source4/build/smb_build/output.pl index 0d5390e64e..800f743efe 100644 --- a/source4/build/smb_build/output.pl +++ b/source4/build/smb_build/output.pl @@ -40,7 +40,9 @@ sub _generate_subsystems($) my $NAME = $CTX->{INPUT}{SUBSYSTEMS}{$key}{NAME}; my @OBJ_LIST = @{$CTX->{DEPEND}{SUBSYSTEMS}{$key}{OBJ_LIST}}; - push(@{$CTX->{OUTPUT}{PROTO}{OBJ_LIST}},"\$(SUBSYSTEM_$key\_OBJS)"); + if ($CTX->{INPUT}{SUBSYSTEMS}{$key}{NOPROTO} ne "YES") { + push(@{$CTX->{OUTPUT}{PROTO}{OBJ_LIST}},"\$(SUBSYSTEM_$key\_OBJS)"); + } # # set the lists diff --git a/source4/build/smb_build/public.m4 b/source4/build/smb_build/public.m4 index e3bbcf1eba..f45cf87cbb 100644 --- a/source4/build/smb_build/public.m4 +++ b/source4/build/smb_build/public.m4 @@ -276,7 +276,7 @@ dnl 1:name dnl ) AC_DEFUN([SMB_SUBSYSTEM_NOPROTO], [ - [SMB_SUBSYSTEM_NOPROTO_][$1]="1" + [SMB_SUBSYSTEM_NOPROTO_][$1]="YES" ]) dnl SMB_SUBSYSTEM( @@ -293,6 +293,10 @@ AC_DEFUN([SMB_SUBSYSTEM], [SMB_SUBSYSTEM_ENABLE_][$1]="YES"; fi + if test -z "$[SMB_SUBSYSTEM_NOPROTO_][$1]"; then + [SMB_SUBSYSTEM_NOPROTO_][$1]="NO"; + fi + SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS ################################### # Start Subsystem $1 @@ -303,7 +307,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]\"; +\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{NOPROTO} = \"$[SMB_SUBSYSTEM_NOPROTO_][$1]\"; # End Subsystem $1 ################################### " @@ -320,6 +324,10 @@ AC_DEFUN([SMB_SUBSYSTEM_MK], [SMB_SUBSYSTEM_ENABLE_][$1]="YES"; fi + if test -z "$[SMB_SUBSYSTEM_NOPROTO_][$1]"; then + [SMB_SUBSYSTEM_NOPROTO_][$1]="NO"; + fi + SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS ################################### # Start Subsystem $1 @@ -330,7 +338,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]\"; +\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{NOPROTO} = \"$[SMB_SUBSYSTEM_NOPROTO_][$1]\"; # End Subsystem $1 ################################### " |