summaryrefslogtreecommitdiff
path: root/source4/build
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build')
-rw-r--r--source4/build/smb_build/makefile.pl19
-rw-r--r--source4/build/smb_build/output.pl4
-rw-r--r--source4/build/smb_build/public.m414
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
###################################
"