summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-11-14 16:22:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:47 -0500
commit8e16d8a76f8a3b8ccc89eb317c8e5daa6cf43b71 (patch)
tree8e8ccaddb94efc6a85ab6c339cab76cea1f44085
parent7367d23713a34a6c29a492adb365292399adffe8 (diff)
downloadsamba-8e16d8a76f8a3b8ccc89eb317c8e5daa6cf43b71.tar.gz
samba-8e16d8a76f8a3b8ccc89eb317c8e5daa6cf43b71.tar.bz2
samba-8e16d8a76f8a3b8ccc89eb317c8e5daa6cf43b71.zip
r3733: More build system fixes/features:
- Use .mk files directly (no need for a SMB_*_MK() macro when adding a new SUBSYSTEM, MODULE or BINARY). This allows addition of new modules and subsystems without running configure - Add support for generating .dot files with the Samba4 dependency tree (as used by the graphviz and springgraph utilities) (This used to be commit 64826da834e26ee0488674e27a0eae36491ee179)
-rw-r--r--source4/auth/config.m47
-rw-r--r--source4/auth/config.mk3
-rw-r--r--source4/build/m4/rewrite.m42
-rw-r--r--source4/build/smb_build/config_mk.pm24
-rw-r--r--source4/build/smb_build/dot.pm23
-rw-r--r--source4/build/smb_build/input.pm16
-rw-r--r--source4/build/smb_build/main.pm11
-rw-r--r--source4/build/smb_build/makefile.pm9
-rw-r--r--source4/build/smb_build/output.pm20
-rw-r--r--source4/build/smb_build/public.m4205
-rw-r--r--source4/client/config.m44
-rw-r--r--source4/configure.in17
-rw-r--r--source4/gtk/config.m48
-rw-r--r--source4/gtk/config.mk1
-rw-r--r--source4/ldap_server/config.m43
-rw-r--r--source4/lib/basic.m47
-rw-r--r--source4/lib/basic.mk10
-rw-r--r--source4/lib/dcom/config.m41
-rw-r--r--source4/lib/ldb/config.m422
-rw-r--r--source4/lib/ldb/config.mk2
-rw-r--r--source4/lib/messaging/config.m41
-rw-r--r--source4/lib/registry/config.m416
-rw-r--r--source4/lib/registry/config.mk6
-rw-r--r--source4/lib/socket/config.m46
-rw-r--r--source4/lib/socket/config.mk3
-rw-r--r--source4/lib/tdb/config.m413
-rw-r--r--source4/lib/tdb/config.mk1
-rw-r--r--source4/libcli/auth/config.m41
-rw-r--r--source4/libcli/auth/gensec.m45
-rw-r--r--source4/libcli/auth/gensec.mk3
-rw-r--r--source4/libcli/ldap/config.m41
-rw-r--r--source4/libnet/config.m41
-rw-r--r--source4/librpc/config.m48
-rw-r--r--source4/librpc/config.mk1
-rw-r--r--source4/nsswitch/config.m42
-rw-r--r--source4/ntvfs/config.m419
-rw-r--r--source4/ntvfs/config.mk5
-rw-r--r--source4/ntvfs/posix/config.m42
-rw-r--r--source4/ntvfs/posix/config.mk1
-rw-r--r--source4/ntvfs/unixuid/config.m41
-rw-r--r--source4/ntvfs/unixuid/config.mk1
-rw-r--r--source4/rpc_server/config.m421
-rw-r--r--source4/rpc_server/config.mk12
-rw-r--r--source4/smb_server/config.m43
-rw-r--r--source4/smbd/config.m411
-rw-r--r--source4/smbd/config.mk4
-rw-r--r--source4/smbd/process_model.m47
-rw-r--r--source4/smbd/process_model.mk3
-rw-r--r--source4/torture/config.m424
-rw-r--r--source4/utils/config.m412
-rw-r--r--source4/utils/config.mk13
-rw-r--r--source4/utils/net/config.m43
52 files changed, 140 insertions, 465 deletions
diff --git a/source4/auth/config.m4 b/source4/auth/config.m4
deleted file mode 100644
index 41e652efec..0000000000
--- a/source4/auth/config.m4
+++ /dev/null
@@ -1,7 +0,0 @@
-dnl # AUTH Server subsystem
-
-SMB_MODULE_MK(auth_sam,AUTH,STATIC,auth/config.mk)
-SMB_MODULE_MK(auth_builtin,AUTH,STATIC,auth/config.mk)
-SMB_MODULE_MK(auth_winbind,AUTH,STATIC,auth/config.mk)
-
-SMB_SUBSYSTEM_MK(AUTH,auth/config.mk,[],[],[SAMDB])
diff --git a/source4/auth/config.mk b/source4/auth/config.mk
index 46808cba72..65c24ca897 100644
--- a/source4/auth/config.mk
+++ b/source4/auth/config.mk
@@ -4,6 +4,7 @@
# Start MODULE auth_sam
[MODULE::auth_sam]
INIT_FUNCTION = auth_sam_init
+SUBSYSTEM = AUTH
INIT_OBJ_FILES = \
auth/auth_sam.o
REQUIRED_SUBSYSTEMS = \
@@ -15,6 +16,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE auth_builtin
[MODULE::auth_builtin]
INIT_FUNCTION = auth_builtin_init
+SUBSYSTEM = AUTH
INIT_OBJ_FILES = \
auth/auth_builtin.o
# End MODULE auth_builtin
@@ -24,6 +26,7 @@ INIT_OBJ_FILES = \
# Start MODULE auth_winbind
[MODULE::auth_winbind]
INIT_FUNCTION = auth_winbind_init
+SUBSYSTEM = AUTH
INIT_OBJ_FILES = \
auth/auth_winbind.o
REQUIRED_SUBSYSTEMS = \
diff --git a/source4/build/m4/rewrite.m4 b/source4/build/m4/rewrite.m4
index b0c694b1a0..ee73451697 100644
--- a/source4/build/m4/rewrite.m4
+++ b/source4/build/m4/rewrite.m4
@@ -281,7 +281,7 @@ AC_CHECK_TYPES(intptr_t)
############################################
# we need dlopen/dlclose/dlsym/dlerror for PAM, the password database plugins and the plugin loading code
-AC_SEARCH_LIBS(dlopen, [dl])
+AC_SEARCH_LIBS(dlopen, [dl], [SMB_EXT_LIB(DL, [-ldl])])
# dlopen/dlclose/dlsym/dlerror will be checked again later and defines will be set then
############################################
diff --git a/source4/build/smb_build/config_mk.pm b/source4/build/smb_build/config_mk.pm
index 7b8fbd93c3..11ef8cf7b1 100644
--- a/source4/build/smb_build/config_mk.pm
+++ b/source4/build/smb_build/config_mk.pm
@@ -61,7 +61,7 @@ sub _parse_config_mk($)
}
#
- # 1.) lines with an aplhanumeric character indicate
+ # 1.) lines with an alphanumeric character indicate
# a new variable,
# 2.) followed by zero or more whitespaces or tabs
# 3.) then one '=' character
@@ -437,4 +437,26 @@ sub binary_get_array($$$)
return _fetch_array_from_config_mk($filename,$section,$var);
}
+
+sub import_file($$)
+{
+ my $input = shift;
+ my $filename = shift;
+
+ my $result = _parse_config_mk($filename);
+
+ die ($result->{ERROR_STR}) unless $result->{ERROR_CODE} == 0;
+
+ foreach my $section (keys %{$result}) {
+ next if ($section eq "ERROR_CODE");
+ my ($type, $name) = split(/::/, $section, 2);
+
+ $input->{$name}{NAME} = $name;
+ $input->{$name}{TYPE} = $type;
+
+ foreach my $key (values %{$result->{$section}}) {
+ $input->{$name}{$key->{KEY}} = [input::str2array($key->{VAL})];
+ }
+ }
+}
1;
diff --git a/source4/build/smb_build/dot.pm b/source4/build/smb_build/dot.pm
new file mode 100644
index 0000000000..c8720f1a8d
--- /dev/null
+++ b/source4/build/smb_build/dot.pm
@@ -0,0 +1,23 @@
+# Samba4 Dependency Graph Generator
+# (C) 2004 Jelmer Vernooij <jelmer@samba.org>
+# Published under the GNU GPL
+
+package dot;
+use strict;
+
+sub generate($)
+{
+ my $depend = shift;
+ my $res = "digraph samba4 {\n";
+
+ foreach my $part (values %{$depend}) {
+ foreach my $elem (@{$part->{DEPENDENCIES}}) {
+ next if $part == $elem;
+ $res .= "\t\"$part->{NAME}\" -> \"$$elem->{NAME}\";\n";
+ }
+ }
+
+ return $res . "}\n";
+}
+
+1;
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm
index c4a4052d8f..b94586d2c2 100644
--- a/source4/build/smb_build/input.pm
+++ b/source4/build/smb_build/input.pm
@@ -60,17 +60,23 @@ sub check_module($$)
{
my $CTX = shift;
my $mod = shift;
+
+ die("Module $mod->{NAME} does not have a SUBSYSTEM set") if not defined($mod->{SUBSYSTEM});
+
+ ($mod->{DEFAULT_BUILD} = "STATIC") if not defined($mod->{DEFAULT_BUILD});
my $use_default = 0;
+ $mod->{SUBSYSTEM} = join(' ', @{$mod->{SUBSYSTEM}});
+
if (!(defined($CTX->{INPUT}{$mod->{SUBSYSTEM}}))) {
$mod->{BUILD} = "NOT";
$mod->{ENABLE} = "NO";
- printf("Module: %s...PARENT SUBSYSTEM DISABLED\n",$mod->{NAME});
+ printf("Module: %s...PARENT SUBSYSTEM ($mod->{SUBSYSTEM}) DISABLED\n",$mod->{NAME});
return;
}
- if ($mod->{CHOSEN_BUILD} eq "DEFAULT") {
+ if (not defined($mod->{CHOSEN_BUILD}) or $mod->{CHOSEN_BUILD} eq "DEFAULT") {
$mod->{CHOSEN_BUILD} = $mod->{DEFAULT_BUILD};
}
@@ -114,6 +120,8 @@ sub check_binary($$)
return;
}
+ ($bin->{BINARY} = (lc $bin->{NAME})) if not defined($bin->{BINARY});
+
$bin->{OUTPUT_TYPE} = "BINARY";
}
@@ -144,6 +152,10 @@ sub check($)
my $CTX = shift;
foreach my $part (values %{$CTX->{INPUT}}) {
+ ($part->{ENABLE} = "YES") if not defined($part->{ENABLE});
+ }
+
+ foreach my $part (values %{$CTX->{INPUT}}) {
check_subsystem($CTX, $part) if ($part->{TYPE} eq "SUBSYSTEM");
check_module($CTX, $part) if ($part->{TYPE} eq "MODULE");
check_library($CTX, $part) if ($part->{TYPE} eq "LIBRARY");
diff --git a/source4/build/smb_build/main.pm b/source4/build/smb_build/main.pm
index 50aae15fdc..324b8adc61 100644
--- a/source4/build/smb_build/main.pm
+++ b/source4/build/smb_build/main.pm
@@ -12,6 +12,7 @@ use input;
use config_mk;
use output;
use direct;
+use dot;
use strict;
sub smb_build_main($)
@@ -21,6 +22,12 @@ sub smb_build_main($)
INPUT => $INPUT
);
+ my @mkfiles = split /\n/, `find -name "*.mk"`;
+
+ for my $mkfile (@mkfiles) {
+ config_mk::import_file($SMB_BUILD_CTX{INPUT}, $mkfile);
+ }
+
%{$SMB_BUILD_CTX{DEPEND}} = input::check(\%SMB_BUILD_CTX);
%{$SMB_BUILD_CTX{OUTPUT}} = output::create_output($SMB_BUILD_CTX{DEPEND});
@@ -28,5 +35,9 @@ sub smb_build_main($)
makefile::create_makefile_in($SMB_BUILD_CTX{OUTPUT});
smb_build_h::create_smb_build_h($SMB_BUILD_CTX{OUTPUT});
+
+ open DOTTY, ">samba4-deps.dot";
+ print DOTTY dot::generate($SMB_BUILD_CTX{DEPEND});
+ close DOTTY;
}
1;
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 21e2100fb2..bfc3aa7bf0 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -357,16 +357,20 @@ LIBRARY_$ctx->{NAME}_SHARED_LINK_FLAGS =$tmpshflag
#
# Shared $ctx->{LIBRARY_REALNAME}
-bin/$ctx->{LIBRARY_REALNAME}: \$(LIBRARY_$ctx->{NAME}_DEPEND_LIST) bin/.dummy
+$ctx->{OUTPUT}: \$(LIBRARY_$ctx->{NAME}_DEPEND_LIST) bin/.dummy
\@echo Linking \$\@
\@\$(SHLD) \$(SHLD_FLAGS) -o \$\@ \\
\$(LIBRARY_$ctx->{NAME}_SHARED_LINK_FLAGS) \\
\$(LIBRARY_$ctx->{NAME}_SHARED_LINK_LIST)
+";
+
+ if (defined($ctx->{LIBRARY_SONAME})) {
+ $output .= "
# Symlink $ctx->{LIBRARY_SONAME}
bin/$ctx->{LIBRARY_SONAME}: bin/$ctx->{LIBRARY_REALNAME} bin/.dummy
\@echo Symlink \$\@
\@ln -sf $ctx->{LIBRARY_REALNAME} \$\@
-# Symlink $ctx->{_LIBRARY_NAME}
+# Symlink $ctx->{LIBRARY_NAME}
bin/$ctx->{LIBRARY_NAME}: bin/$ctx->{LIBRARY_SONAME} bin/.dummy
\@echo Symlink \$\@
\@ln -sf $ctx->{LIBRARY_SONAME} \$\@
@@ -374,6 +378,7 @@ library_$ctx->{NAME}: basics $ctx->{LIBRARY_SONAME}
# End Library $ctx->{NAME}
###################################
";
+ }
return $output;
}
diff --git a/source4/build/smb_build/output.pm b/source4/build/smb_build/output.pm
index b40c566077..7d310670f6 100644
--- a/source4/build/smb_build/output.pm
+++ b/source4/build/smb_build/output.pm
@@ -25,10 +25,12 @@ sub generate_shared_library($)
@{$lib->{DEPEND_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)");
@{$lib->{LINK_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)");
$lib->{LIBRARY_NAME} = $lib->{NAME}.".so";
- $lib->{LIBRARY_SONAME} = $lib->{LIBRARY_NAME}.".$lib->{MAJOR_VERSION}";
- $lib->{LIBRARY_REALNAME} = $lib->{LIBRARY_SONAME}.".$lib->{MINOR_VERSION}.$lib->{RELEASE_VERSION}";
-
- $lib->{OUTPUT} = "bin/$lib->{LIBRARY_SONAME}";
+ $lib->{OUTPUT} = "bin/$lib->{LIBRARY_NAME}";
+ if ($lib->{MAJOR_VERSION}) {
+ $lib->{LIBRARY_SONAME} = $lib->{LIBRARY_NAME}.".$lib->{MAJOR_VERSION}";
+ $lib->{LIBRARY_REALNAME} = $lib->{LIBRARY_SONAME}.".$lib->{MINOR_VERSION}.$lib->{RELEASE_VERSION}";
+ $lib->{OUTPUT} = "bin/$lib->{LIBRARY_REALNAME}";
+ }
}
sub generate_static_library($)
@@ -71,8 +73,8 @@ sub create_output($)
generate_binary($part) if $part->{OUTPUT_TYPE} eq "BINARY";
generate_objlist($part) if $part->{OUTPUT_TYPE} eq "OBJLIST";
- generate_shared_library($part) if $part->{TYPE} eq "SHARED_LIBRARY";
- generate_static_library($part) if $part->{TYPE} eq "STATIC_LIBRARY";
+ generate_shared_library($part) if $part->{OUTPUT_TYPE} eq "SHARED_LIBRARY";
+ generate_static_library($part) if $part->{OUTPUT_TYPE} eq "STATIC_LIBRARY";
# Combine object lists
push(@{$part->{OBJ_LIST}}, @{$part->{INIT_OBJ_FILES}}) if defined($part->{INIT_OBJ_FILES});
@@ -96,13 +98,13 @@ sub create_output($)
push(@{$part->{LINK_LIST}}, @{$elem->{LIBS}}) if defined($elem->{LIBS});
push(@{$part->{LINK_FLAGS}},@{$elem->{LDFLAGS}}) if defined($elem->{LDFLAGS});
- push(@{$part->{MODULE_INIT_FUNCTIONS}}, $elem->{INIT_FUNCTION}) if
+ push(@{$part->{MODULE_INIT_FUNCTIONS}}, @{$elem->{INIT_FUNCTION}}) if
$elem->{TYPE} eq "MODULE" and
defined($elem->{INIT_FUNCTION}) and
$elem->{INIT_FUNCTION} ne "" and
$elem->{SUBSYSTEM} eq $part->{NAME};
- push(@{$part->{SUBSYSTEM_INIT_FUNCTIONS}}, $elem->{INIT_FUNCTION}) if
+ push(@{$part->{SUBSYSTEM_INIT_FUNCTIONS}}, @{$elem->{INIT_FUNCTION}}) if
$part->{OUTPUT_TYPE} eq "BINARY" and
$elem->{TYPE} eq "SUBSYSTEM" and
defined($elem->{INIT_FUNCTION}) and
@@ -110,8 +112,6 @@ sub create_output($)
}
}
- print Data::Dumper::Dumper($depend);
-
return %{$depend};
}
diff --git a/source4/build/smb_build/public.m4 b/source4/build/smb_build/public.m4
index add6d18f36..de805e6085 100644
--- a/source4/build/smb_build/public.m4
+++ b/source4/build/smb_build/public.m4
@@ -19,25 +19,6 @@ dnl 6:required_libraries,
dnl 7:required_subsystems
dnl )
dnl
-dnl SMB_MODULE_MK(
-dnl 1:name,
-dnl 2:subsystem,
-dnl 3:default_build,
-dnl 4:config_mk_file
-dnl [MODULE::test]
-dnl INIT_OBJ_FILES = \
-dnl test.o
-dnl ADD_OBJ_FILES = \
-dnl test_utils1.o \
-dnl test_utils2.o
-dnl REQUIRED_LIBRARIES = \
-dnl LIB_EXT_TEST1 \
-dnl LIB_EXT_TEST2
-dnl REQUIRED_SUBSYSTEMS = \
-dnl OTHER_SUBSYSTEM1 \
-dnl OTHER_SUBSYSTEM2
-dnl )
-dnl
dnl SMB_SUBSYSTEM_ENABLE(
dnl 1:name,
dnl 2:default_build
@@ -55,23 +36,6 @@ dnl 4:required_libraries,
dnl 5:required_subsystems
dnl )
dnl
-dnl SMB_SUBSYSTEM_MK(
-dnl 1:name,
-dnl 2:config_mk_file
-dnl [SUBSYSTEM::test]
-dnl INIT_OBJ_FILES = \
-dnl test.o
-dnl ADD_OBJ_FILES = \
-dnl test_utils1.o \
-dnl test_utils2.o
-dnl REQUIRED_LIBRARIES = \
-dnl LIB_EXT_TEST1 \
-dnl LIB_EXT_TEST2
-dnl REQUIRED_SUBSYSTEMS = \
-dnl OTHER_SUBSYSTEM1 \
-dnl OTHER_SUBSYSTEM2
-dnl )
-dnl
dnl SMB_EXT_LIB_ENABLE(
dnl 1:name,
dnl 2:default_build
@@ -105,24 +69,6 @@ dnl 6:required_libraries,
dnl 7:required_subsystems
dnl )
dnl
-dnl SMB_LIBRARY_MK(
-dnl 1:name,
-dnl 2:config_mk_file
-dnl [LIBRARY::test]
-dnl MAJOR_VERSION = 0
-dnl MINOR_VERSION = 0
-dnl RELEASE_VERSION = 1
-dnl OBJ_FILES = \
-dnl test1.o \
-dnl test2.o
-dnl REQUIRED_LIBRARIES = \
-dnl LIB_EXT_TEST1 \
-dnl LIB_EXT_TEST2
-dnl REQUIRED_SUBSYSTEMS = \
-dnl OTHER_SUBSYSTEM1 \
-dnl OTHER_SUBSYSTEM2
-dnl )
-dnl
dnl SMB_BINARY_ENABLE(
dnl 1:name,
dnl 2:default_build
@@ -137,23 +83,6 @@ dnl 5:required_libraries,
dnl 6:required_subsystems
dnl )
dnl
-dnl SMB_BINARY_MK(
-dnl 1:name,
-dnl 2:config_mk_file
-dnl [BINARY::test]
-dnl BUILD_TARGETS =
-dnl INSTALL_PATH =
-dnl OBJ_FILES = \
-dnl test1.o \
-dnl test2.o
-dnl REQUIRED_LIBRARIES = \
-dnl LIB_EXT_TEST1 \
-dnl LIB_EXT_TEST2
-dnl REQUIRED_SUBSYSTEMS = \
-dnl OTHER_SUBSYSTEM1 \
-dnl OTHER_SUBSYSTEM2
-dnl )
-dnl
dnl SMB_MAKE_TARGET(
dnl 1:name
dnl 2:calledname
@@ -234,47 +163,6 @@ SMB_INFO_MODULES="$SMB_INFO_MODULES
"
])
-dnl SMB_MODULE_MK(
-dnl 1:name,
-dnl 2:subsystem,
-dnl 3:default_build,
-dnl 4:config_mk_file
-dnl )
-AC_DEFUN([SMB_MODULE_MK],
-[
-
- if test -z "$[SMB_MODULE_DEFAULT_][$1]"; then
- [SMB_MODULE_DEFAULT_][$1]=$3
- fi
-
- if test "$[SMB_MODULE_][$1]"; then
- [SMB_MODULE_][$1]=$[SMB_MODULE_][$1]
- elif test "$[SMB_MODULE_]translit([$2], [A-Z], [a-z])" -a x"$[SMB_MODULE_DEFAULT_][$1]" != xNOT; then
- [SMB_MODULE_][$1]=$[SMB_MODULE_]translit([$2], [A-Z], [a-z])
- else
- [SMB_MODULE_][$1]="DEFAULT";
- fi
-
-SMB_INFO_MODULES="$SMB_INFO_MODULES
-###################################
-# Start MODULE $1
-\$INPUT{$1} = {
- TYPE => \"MODULE\",
- NAME => \"$1\",
- SUBSYSTEM => \"$2\",
- DEFAULT_BUILD => \"$[SMB_MODULE_DEFAULT_][$1]\",
- INIT_OBJ_FILES => @<:@ config_mk::module_get_array(\"$4\", \"$1\", \"INIT_OBJ_FILES\") @:>@,
- ADD_OBJ_FILES => @<:@ config_mk::module_get_array(\"$4\", \"$1\", \"ADD_OBJ_FILES\") @:>@,
- REQUIRED_LIBRARIES => @<:@ config_mk::module_get_array(\"$4\", \"$1\", \"REQUIRED_LIBRARIES\") @:>@,
- REQUIRED_SUBSYSTEMS => @<:@ config_mk::module_get_array(\"$4\", \"$1\", \"REQUIRED_SUBSYSTEMS\") @:>@,
- INIT_FUNCTION => config_mk::module_get_var(\"$4\", \"$1\", \"INIT_FUNCTION\"),
- CHOSEN_BUILD => \"$[SMB_MODULE_][$1]\"
-};
-# End MODULE $1
-###################################
-"
-])
-
dnl SMB_SUBSYSTEM_ENABLE(
dnl 1:name,
dnl 2:default_build
@@ -328,40 +216,6 @@ SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS
"
])
-dnl SMB_SUBSYSTEM_MK(
-dnl 1:name,
-dnl 2:config_mk_file
-dnl )
-AC_DEFUN([SMB_SUBSYSTEM_MK],
-[
-
- if test -z "$[SMB_SUBSYSTEM_ENABLE_][$1]"; then
- [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
-\$INPUT{$1} = {
- TYPE => \"SUBSYSTEM\",
- NAME => \"$1\",
- INIT_OBJ_FILES => @<:@ config_mk::subsystem_get_array(\"$2\", \"$1\", \"INIT_OBJ_FILES\") @:>@,
- ADD_OBJ_FILES => @<:@ config_mk::subsystem_get_array(\"$2\", \"$1\", \"ADD_OBJ_FILES\") @:>@,
- REQUIRED_LIBRARIES => @<:@ config_mk::subsystem_get_array(\"$2\", \"$1\", \"REQUIRED_LIBRARIES\") @:>@,
- REQUIRED_SUBSYSTEMS => @<:@ config_mk::subsystem_get_array(\"$2\", \"$1\", \"REQUIRED_SUBSYSTEMS\") @:>@,
- INIT_FUNCTION => config_mk::subsystem_get_var(\"$2\", \"$1\", \"INIT_FUNCTION\"),
- ENABLE => \"$[SMB_SUBSYSTEM_ENABLE_][$1]\",
- NOPROTO => \"$[SMB_SUBSYSTEM_NOPROTO_][$1]\"
-};
-# End Subsystem $1
-###################################
-"
-])
-
dnl SMB_EXT_LIB_ENABLE(
dnl 1:name,
dnl 2:default_build
@@ -495,36 +349,6 @@ SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
"
])
-dnl SMB_LIBRARY_MK(
-dnl 1:name,
-dnl 2:config_mk_file
-dnl )
-AC_DEFUN([SMB_LIBRARY_MK],
-[
-
- if test -z "$[SMB_LIBRARY_ENABLE_][$1]"; then
- [SMB_LIBRARY_ENABLE_][$1]="NO";
- fi
-
-SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
-###################################
-# Start Library $1
-\$INPUT{$1} = {
- TYPE => \"LIBRARY\",
- NAME => \"$1\",
- MAJOR_VERSION => config_mk::library_get_var(\"$2\", \"$1\", \"MAJOR_VERSION\"),
- MINOR_VERSION => config_mk::library_get_var(\"$2\", \"$1\", \"MINOR_VERSION\"),
- RELEASE_VERSION => config_mk::library_get_var(\"$2\", \"$1\", \"RELEASE_VERSION\"),
- OBJ_FILES => @<:@ config_mk::library_get_array(\"$2\", \"$1\", \"OBJ_FILES\") @:>@,
- REQUIRED_LIBRARIES => @<:@ config_mk::library_get_array(\"$2\", \"$1\", \"REQUIRED_LIBRARIES\") @:>@,
- REQUIRED_SUBSYSTEMS => @<:@ config_mk::library_get_array(\"$2\", \"$1\", \"REQUIRED_SUBSYSTEMS\") @:>@,
- ENABLE => \"$[SMB_LIBRARY_ENABLE_][$1]\"
-};
-# End Library $1
-###################################
-"
-])
-
dnl SMB_BINARY_ENABLE(
dnl 1:name,
dnl 2:default_build
@@ -567,35 +391,6 @@ SMB_INFO_BINARIES="$SMB_INFO_BINARIES
"
])
-dnl SMB_BINARY_MK(
-dnl 1:name,
-dnl 2:config_mk_file
-dnl )
-AC_DEFUN([SMB_BINARY_MK],
-[
-
- if test -z "$[SMB_BINARY_ENABLE_][$1]"; then
- [SMB_BINARY_ENABLE_][$1]="YES";
- fi
-
-SMB_INFO_BINARIES="$SMB_INFO_BINARIES
-###################################
-# Start Binary $1
-\$INPUT{$1} = {
- TYPE => \"BINARY\",
- NAME => \"$1\",
- BUILD_TARGETS => @<:@ config_mk::binary_get_array(\"$2\", \"$1\", \"BUILD_TARGETS\") @:>@,
- INSTALL_PATH => @<:@ config_mk::binary_get_array(\"$2\", \"$1\", \"INSTALL_PATH\") @:>@,
- OBJ_FILES => @<:@ config_mk::binary_get_array(\"$2\", \"$1\", \"OBJ_FILES\") @:>@,
- REQUIRED_LIBRARIES => @<:@ config_mk::binary_get_array(\"$2\", \"$1\",\"REQUIRED_LIBRARIES\") @:>@,
- REQUIRED_SUBSYSTEMS => @<:@ config_mk::binary_get_array(\"$2\", \"$1\",\"REQUIRED_SUBSYSTEMS\") @:>@,
- ENABLE => \"$[SMB_BINARY_ENABLE_][$1]\"
-};
-# End Binary $1
-###################################
-"
-])
-
dnl SMB_MAKE_TARGET(
dnl 1:name
dnl 2:calledname
diff --git a/source4/client/config.m4 b/source4/client/config.m4
deleted file mode 100644
index db753bec45..0000000000
--- a/source4/client/config.m4
+++ /dev/null
@@ -1,4 +0,0 @@
-dnl # client subsystem
-
-
-SMB_BINARY_MK(smbclient, client/config.mk)
diff --git a/source4/configure.in b/source4/configure.in
index 40d6e10648..78610dd9fd 100644
--- a/source4/configure.in
+++ b/source4/configure.in
@@ -13,35 +13,18 @@ SMB_INCLUDE_M4(build/m4/rewrite.m4)
SMB_INCLUDE_M4(lib/popt/config.m4)
SMB_INCLUDE_M4(lib/iconv.m4)
-SMB_INCLUDE_M4(lib/basic.m4)
SMB_INCLUDE_M4(lib/socket/config.m4)
-SMB_INCLUDE_M4(lib/messaging/config.m4)
SMB_INCLUDE_M4(lib/tdb/config.m4)
SMB_INCLUDE_M4(lib/ldb/config.m4)
SMB_INCLUDE_M4(lib/cmdline/config.m4)
SMB_INCLUDE_M4(param/config.m4)
-SMB_INCLUDE_M4(libcli/auth/config.m4)
SMB_INCLUDE_M4(libcli/auth/gensec.m4)
-SMB_INCLUDE_M4(libcli/ldap/config.m4)
SMB_INCLUDE_M4(libcli/config.m4)
-SMB_INCLUDE_M4(librpc/config.m4)
SMB_INCLUDE_M4(libcli/libsmb.m4)
-SMB_INCLUDE_M4(libnet/config.m4)
SMB_INCLUDE_M4(smbd/process_model.m4)
-SMB_INCLUDE_M4(smb_server/config.m4)
-SMB_INCLUDE_M4(ldap_server/config.m4)
-SMB_INCLUDE_M4(auth/config.m4)
-SMB_INCLUDE_M4(ntvfs/config.m4)
-SMB_INCLUDE_M4(rpc_server/config.m4)
SMB_INCLUDE_M4(lib/registry/config.m4)
-SMB_INCLUDE_M4(torture/config.m4)
SMB_INCLUDE_M4(scripting/config.m4)
-SMB_INCLUDE_M4(client/config.m4)
-SMB_INCLUDE_M4(utils/config.m4)
-SMB_INCLUDE_M4(smbd/config.m4)
SMB_INCLUDE_M4(gtk/config.m4)
-SMB_INCLUDE_M4(lib/dcom/config.m4)
-SMB_INCLUDE_M4(nsswitch/config.m4)
ALLLIBS_LIBS="$LIBS"
ALLLIBS_CFLAGS="$CFLAGS"
diff --git a/source4/gtk/config.m4 b/source4/gtk/config.m4
index d4ecd82c42..8338470bf9 100644
--- a/source4/gtk/config.m4
+++ b/source4/gtk/config.m4
@@ -15,11 +15,3 @@ if test t$SMB_EXT_LIB_ENABLE_gtk = tYES; then
SMB_BINARY_ENABLE(gepdump, YES)
AC_DEFINE(HAVE_GTK, 1, [Whether GTK+ is available])
fi
-
-SMB_SUBSYSTEM_NOPROTO(GTKSMB)
-SMB_SUBSYSTEM_MK(GTKSMB,gtk/config.mk)
-SMB_BINARY_MK(gregedit,gtk/config.mk)
-SMB_BINARY_MK(gwcrontab,gtk/config.mk)
-SMB_BINARY_MK(gwsam,gtk/config.mk)
-SMB_BINARY_MK(gepdump,gtk/config.mk)
-
diff --git a/source4/gtk/config.mk b/source4/gtk/config.mk
index 22dd839716..48885f1526 100644
--- a/source4/gtk/config.mk
+++ b/source4/gtk/config.mk
@@ -3,6 +3,7 @@
##############################
# Start SUBSYSTEM GTKSMB
[SUBSYSTEM::GTKSMB]
+NOPROTO = YES
INIT_OBJ_FILES = gtk/common/gtk-smb.o
ADD_OBJ_FILES = gtk/common/select.o
REQUIRED_SUBSYSTEMS = CHARSET LIBBASIC EXT_LIB_gtk
diff --git a/source4/ldap_server/config.m4 b/source4/ldap_server/config.m4
deleted file mode 100644
index b702493073..0000000000
--- a/source4/ldap_server/config.m4
+++ /dev/null
@@ -1,3 +0,0 @@
-dnl # LDAP server subsystem
-
-SMB_SUBSYSTEM_MK(LDAP,ldap_server/config.mk)
diff --git a/source4/lib/basic.m4 b/source4/lib/basic.m4
deleted file mode 100644
index b3327b6dcc..0000000000
--- a/source4/lib/basic.m4
+++ /dev/null
@@ -1,7 +0,0 @@
-dnl # LIB BASIC subsystem
-
-SMB_SUBSYSTEM_MK(LIBREPLACE,lib/basic.mk)
-SMB_SUBSYSTEM_MK(LIBNETIF,lib/basic.mk)
-SMB_SUBSYSTEM_NOPROTO(LIBCRYPTO)
-SMB_SUBSYSTEM_MK(LIBCRYPTO,lib/basic.mk)
-SMB_SUBSYSTEM_MK(LIBBASIC,lib/basic.mk)
diff --git a/source4/lib/basic.mk b/source4/lib/basic.mk
index 827aa0a57c..68f41db089 100644
--- a/source4/lib/basic.mk
+++ b/source4/lib/basic.mk
@@ -22,6 +22,7 @@ ADD_OBJ_FILES = \
##############################
# Start SUBSYSTEM LIBCRYPTO
[SUBSYSTEM::LIBCRYPTO]
+NOPROTO = YES
INIT_OBJ_FILES = \
lib/crypto/crc32.o
ADD_OBJ_FILES = \
@@ -31,7 +32,6 @@ ADD_OBJ_FILES = \
# End SUBSYSTEM LIBCRYPTO
##############################
-
##############################
# Start SUBSYSTEM LIBBASIC
[SUBSYSTEM::LIBBASIC]
@@ -66,15 +66,15 @@ ADD_OBJ_FILES = \
lib/select.o \
lib/pam_errors.o \
intl/lang_tdb.o \
- lib/gencache.o \
lib/module.o \
lib/mutex.o \
lib/events.o \
- lib/db_wrap.o \
lib/server_mutex.o \
lib/idtree.o \
- lib/unix_privs.o
+ lib/unix_privs.o \
+ lib/db_wrap.o \
+ lib/gencache.o
REQUIRED_SUBSYSTEMS = \
- LIBTDB CHARSET LIBREPLACE LIBNETIF LIBCRYPTO
+ LIBLDB CHARSET LIBREPLACE LIBNETIF LIBCRYPTO EXT_LIB_DL
# End SUBSYSTEM LIBBASIC
##############################
diff --git a/source4/lib/dcom/config.m4 b/source4/lib/dcom/config.m4
deleted file mode 100644
index 206b916fa6..0000000000
--- a/source4/lib/dcom/config.m4
+++ /dev/null
@@ -1 +0,0 @@
-SMB_SUBSYSTEM_MK(LIBDCOM,lib/dcom/config.mk)
diff --git a/source4/lib/ldb/config.m4 b/source4/lib/ldb/config.m4
index a4e7a0dba9..5701b1b5c3 100644
--- a/source4/lib/ldb/config.m4
+++ b/source4/lib/ldb/config.m4
@@ -2,28 +2,6 @@ if test x"$with_ldap_support" = x"yes"; then
SMB_MODULE_DEFAULT(libldb_ldap,STATIC)
fi
-SMB_SUBSYSTEM_MK(LIBLDB,lib/ldb/config.mk)
-
-SMB_MODULE_MK(libldb_ldap,LIBLDB,NOT,lib/ldb/config.mk)
-
-SMB_MODULE_MK(libldb_tdb,LIBLDB,STATIC,lib/ldb/config.mk)
-
if test x"$experimental" = x"yes"; then
SMB_LIBRARY_ENABLE(libldb,YES)
fi
-
-SMB_LIBRARY_MK(libldb,lib/ldb/config.mk)
-
-SMB_BINARY_MK(ldbadd,lib/ldb/config.mk)
-
-SMB_BINARY_MK(ldbdel,lib/ldb/config.mk)
-
-SMB_BINARY_MK(ldbmodify,lib/ldb/config.mk)
-
-SMB_BINARY_MK(ldbsearch,lib/ldb/config.mk)
-
-SMB_BINARY_MK(ldbedit,lib/ldb/config.mk)
-
-SMB_BINARY_MK(ldbrename,lib/ldb/config.mk)
-
-SMB_BINARY_MK(ldbtest,lib/ldb/config.mk)
diff --git a/source4/lib/ldb/config.mk b/source4/lib/ldb/config.mk
index 10b8c76f97..81c6382292 100644
--- a/source4/lib/ldb/config.mk
+++ b/source4/lib/ldb/config.mk
@@ -1,6 +1,7 @@
################################################
# Start MODULE libldb_ldap
[MODULE::libldb_ldap]
+SUBSYSTEM = LIBLDB
INIT_OBJ_FILES = \
lib/ldb/ldb_ldap/ldb_ldap.o
REQUIRED_SUBSYSTEMS = \
@@ -11,6 +12,7 @@ REQUIRED_SUBSYSTEMS = \
################################################
# Start MODULE libldb_tdb
[MODULE::libldb_tdb]
+SUBSYSTEM = LIBLDB
INIT_OBJ_FILES = \
lib/ldb/ldb_tdb/ldb_tdb.o
ADD_OBJ_FILES = \
diff --git a/source4/lib/messaging/config.m4 b/source4/lib/messaging/config.m4
deleted file mode 100644
index 1797069ff2..0000000000
--- a/source4/lib/messaging/config.m4
+++ /dev/null
@@ -1 +0,0 @@
-SMB_SUBSYSTEM_MK(MESSAGING,lib/messaging/config.mk)
diff --git a/source4/lib/registry/config.m4 b/source4/lib/registry/config.m4
index f3681e7828..abadcbe1a0 100644
--- a/source4/lib/registry/config.m4
+++ b/source4/lib/registry/config.m4
@@ -15,22 +15,6 @@ if test t$SMB_EXT_LIB_ENABLE_gconf = tYES; then
SMB_MODULE_DEFAULT(registry_gconf, STATIC)
fi
-SMB_MODULE_MK(registry_nt4, REGISTRY, STATIC, lib/registry/config.mk)
-SMB_MODULE_MK(registry_w95, REGISTRY, STATIC, lib/registry/config.mk)
-SMB_MODULE_MK(registry_dir, REGISTRY, STATIC, lib/registry/config.mk)
-SMB_MODULE_MK(registry_rpc, REGISTRY, STATIC, lib/registry/config.mk)
-SMB_MODULE_MK(registry_gconf, REGISTRY, STATIC, lib/registry/config.mk)
-SMB_MODULE_MK(registry_ldb, REGISTRY, STATIC, lib/registry/config.mk)
-
-SMB_SUBSYSTEM_MK(REGISTRY,lib/registry/config.mk)
-
-SMB_BINARY_MK(regdiff, lib/registry/config.mk)
-SMB_BINARY_MK(regpatch, lib/registry/config.mk)
-SMB_BINARY_MK(regshell, lib/registry/config.mk)
-SMB_BINARY_MK(regtree, lib/registry/config.mk)
-
if test x"$experimental" = x"yes"; then
SMB_LIBRARY_ENABLE(libwinregistry, YES)
fi
-
-SMB_LIBRARY_MK(libwinregistry, lib/registry/config.mk)
diff --git a/source4/lib/registry/config.mk b/source4/lib/registry/config.mk
index bebd8bf1d7..1a12b0ade6 100644
--- a/source4/lib/registry/config.mk
+++ b/source4/lib/registry/config.mk
@@ -4,6 +4,7 @@
# Start MODULE registry_nt4
[MODULE::registry_nt4]
INIT_FUNCTION = registry_nt4_init
+SUBSYSTEM = REGISTRY
INIT_OBJ_FILES = \
lib/registry/reg_backend_nt4/reg_backend_nt4.o
# End MODULE registry_nt4
@@ -13,6 +14,7 @@ INIT_OBJ_FILES = \
# Start MODULE registry_w95
[MODULE::registry_w95]
INIT_FUNCTION = registry_w95_init
+SUBSYSTEM = REGISTRY
INIT_OBJ_FILES = \
lib/registry/reg_backend_w95/reg_backend_w95.o
# End MODULE registry_w95
@@ -22,6 +24,7 @@ INIT_OBJ_FILES = \
# Start MODULE registry_dir
[MODULE::registry_dir]
INIT_FUNCTION = registry_dir_init
+SUBSYSTEM = REGISTRY
INIT_OBJ_FILES = \
lib/registry/reg_backend_dir/reg_backend_dir.o
# End MODULE registry_dir
@@ -31,6 +34,7 @@ INIT_OBJ_FILES = \
# Start MODULE registry_rpc
[MODULE::registry_rpc]
INIT_FUNCTION = registry_rpc_init
+SUBSYSTEM = REGISTRY
INIT_OBJ_FILES = \
lib/registry/reg_backend_rpc/reg_backend_rpc.o
REQUIRED_SUBSYSTEMS = \
@@ -42,6 +46,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE registry_gconf
[MODULE::registry_gconf]
INIT_FUNCTION = registry_gconf_init
+SUBSYSTEM = REGISTRY
INIT_OBJ_FILES = \
lib/registry/reg_backend_gconf/reg_backend_gconf.o
REQUIRED_SUBSYSTEMS = EXT_LIB_gconf
@@ -52,6 +57,7 @@ REQUIRED_SUBSYSTEMS = EXT_LIB_gconf
# Start MODULE registry_ldb
[MODULE::registry_ldb]
INIT_FUNCTION = registry_ldb_init
+SUBSYSTEM = REGISTRY
INIT_OBJ_FILES = \
lib/registry/reg_backend_ldb/reg_backend_ldb.o
REQUIRED_SUBSYSTEMS = \
diff --git a/source4/lib/socket/config.m4 b/source4/lib/socket/config.m4
index 37eff7ded1..1140c139cb 100644
--- a/source4/lib/socket/config.m4
+++ b/source4/lib/socket/config.m4
@@ -1,7 +1,4 @@
-SMB_MODULE_MK(socket_ipv4,SOCKET,STATIC,lib/socket/config.mk)
-SMB_MODULE_MK(socket_unix,SOCKET,STATIC,lib/socket/config.mk)
-
dnl test for ipv6 using the gethostbyname2() function. That should be sufficient
dnl for now
AC_CHECK_FUNCS(gethostbyname2, have_ipv6=true, have_ipv6=false)
@@ -12,6 +9,3 @@ fi
dnl don't build ipv6 by default, unless the above test enables it, or
dnl the configure uses --with-static-modules=socket_ipv6
-SMB_MODULE_MK(socket_ipv6,SOCKET,NOT,lib/socket/config.mk)
-
-SMB_SUBSYSTEM_MK(SOCKET,lib/socket/config.mk)
diff --git a/source4/lib/socket/config.mk b/source4/lib/socket/config.mk
index 76e5895933..6217fbc079 100644
--- a/source4/lib/socket/config.mk
+++ b/source4/lib/socket/config.mk
@@ -2,6 +2,7 @@
################################################
# Start MODULE socket_ipv4
[MODULE::socket_ipv4]
+SUBSYSTEM = SOCKET
INIT_OBJ_FILES = \
lib/socket/socket_ipv4.o
# End MODULE socket_ipv4
@@ -10,6 +11,7 @@ INIT_OBJ_FILES = \
################################################
# Start MODULE socket_ipv6
[MODULE::socket_ipv6]
+SUBSYSTEM = SOCKET
INIT_OBJ_FILES = \
lib/socket/socket_ipv6.o
# End MODULE socket_ipv6
@@ -18,6 +20,7 @@ INIT_OBJ_FILES = \
################################################
# Start MODULE socket_unix
[MODULE::socket_unix]
+SUBSYSTEM = SOCKET
INIT_OBJ_FILES = \
lib/socket/socket_unix.o
# End MODULE socket_unix
diff --git a/source4/lib/tdb/config.m4 b/source4/lib/tdb/config.m4
index d9b44b75a5..414ccfdfed 100644
--- a/source4/lib/tdb/config.m4
+++ b/source4/lib/tdb/config.m4
@@ -1,12 +1,8 @@
-SMB_SUBSYSTEM_MK(LIBTDB,lib/tdb/config.mk)
-
if test x"$experimental" = x"yes"; then
SMB_LIBRARY_ENABLE(libtdb,YES)
fi
-SMB_LIBRARY_MK(libtdb,lib/tdb/config.mk)
-
###############################
# start SMB_EXT_LIB_GDBM
# check for gdbm.h and -lgdbm
@@ -23,12 +19,3 @@ SMB_BINARY_ENABLE(tdbtest, NO)
if test x"$SMB_EXT_LIB_ENABLE_GDBM" = x"YES"; then
SMB_BINARY_ENABLE(tdbtest, YES)
fi
-SMB_BINARY_MK(tdbtest,lib/tdb/config.mk)
-
-SMB_BINARY_MK(tdbtorture,lib/tdb/config.mk)
-
-SMB_BINARY_MK(tdbdump,lib/tdb/config.mk)
-
-# these are broken
-#SMB_BINARY_MK(tdbtool,lib/tdb/config.mk)
-#SMB_BINARY_MK(tdbbackup,lib/tdb/config.mk)
diff --git a/source4/lib/tdb/config.mk b/source4/lib/tdb/config.mk
index 1801e30e0a..bfcd462453 100644
--- a/source4/lib/tdb/config.mk
+++ b/source4/lib/tdb/config.mk
@@ -67,6 +67,7 @@ REQUIRED_SUBSYSTEMS = \
################################################
# Start BINARY tdbbackup
[BINARY::tdbbackup]
+ENABLE = NO
OBJ_FILES= \
lib/tdb/tools/tdbbackup.o
REQUIRED_SUBSYSTEMS = \
diff --git a/source4/libcli/auth/config.m4 b/source4/libcli/auth/config.m4
deleted file mode 100644
index ae189d651e..0000000000
--- a/source4/libcli/auth/config.m4
+++ /dev/null
@@ -1 +0,0 @@
-SMB_SUBSYSTEM_MK(LIBCLI_AUTH,libcli/auth/config.mk)
diff --git a/source4/libcli/auth/gensec.m4 b/source4/libcli/auth/gensec.m4
index 1894e1c136..768a2fae57 100644
--- a/source4/libcli/auth/gensec.m4
+++ b/source4/libcli/auth/gensec.m4
@@ -2,8 +2,3 @@ if test x"$SMB_EXT_LIB_ENABLE_KRB5" = x"YES"; then
/* enable this when krb5 is fully working */
SMB_MODULE_DEFAULT(gensec_krb5, NOT)
fi
-
-SMB_SUBSYSTEM_MK(GENSEC,libcli/auth/gensec.mk)
-SMB_MODULE_MK(gensec_krb5, GENSEC, NOT, libcli/auth/gensec.mk)
-SMB_MODULE_MK(gensec_ntlmssp, GENSEC, STATIC, libcli/auth/gensec.mk)
-SMB_MODULE_MK(gensec_spnego, GENSEC, STATIC, libcli/auth/gensec.mk)
diff --git a/source4/libcli/auth/gensec.mk b/source4/libcli/auth/gensec.mk
index ac778ad5c8..b6332bd68b 100644
--- a/source4/libcli/auth/gensec.mk
+++ b/source4/libcli/auth/gensec.mk
@@ -11,6 +11,7 @@ REQUIRED_SUBSYSTEMS = \
################################################
# Start MODULE gensec_krb5
[MODULE::gensec_krb5]
+SUBSYSTEM = GENSEC
INIT_FUNCTION = gensec_krb5_init
INIT_OBJ_FILES = libcli/auth/gensec_krb5.o
ADD_OBJ_FILES = \
@@ -25,6 +26,7 @@ REQUIRED_SUBSYSTEMS = GENSEC EXT_LIB_KRB5
################################################
# Start MODULE gensec_spnego
[MODULE::gensec_spnego]
+SUBSYSTEM = GENSEC
INIT_FUNCTION = gensec_spnego_init
INIT_OBJ_FILES = libcli/auth/spnego.o
ADD_OBJ_FILES = \
@@ -36,6 +38,7 @@ REQUIRED_SUBSYSTEMS = GENSEC
################################################
# Start MODULE gensec_ntlmssp
[MODULE::gensec_ntlmssp]
+SUBSYSTEM = GENSEC
INIT_FUNCTION = gensec_ntlmssp_init
INIT_OBJ_FILES = libcli/auth/gensec_ntlmssp.o
ADD_OBJ_FILES = \
diff --git a/source4/libcli/ldap/config.m4 b/source4/libcli/ldap/config.m4
deleted file mode 100644
index 01f78279bf..0000000000
--- a/source4/libcli/ldap/config.m4
+++ /dev/null
@@ -1 +0,0 @@
-SMB_SUBSYSTEM_MK(LIBCLI_LDAP,libcli/ldap/config.mk)
diff --git a/source4/libnet/config.m4 b/source4/libnet/config.m4
deleted file mode 100644
index 7246db1945..0000000000
--- a/source4/libnet/config.m4
+++ /dev/null
@@ -1 +0,0 @@
-SMB_SUBSYSTEM_MK(LIBNET,libnet/config.mk)
diff --git a/source4/librpc/config.m4 b/source4/librpc/config.m4
deleted file mode 100644
index 5c137b738b..0000000000
--- a/source4/librpc/config.m4
+++ /dev/null
@@ -1,8 +0,0 @@
-dnl # LIBRPC subsystem
-
-SMB_SUBSYSTEM_NOPROTO(LIBNDR_GEN)
-SMB_SUBSYSTEM_MK(LIBNDR_GEN,librpc/config.mk)
-
-SMB_SUBSYSTEM_MK(LIBNDR_RAW,librpc/config.mk)
-SMB_SUBSYSTEM_MK(LIBRPC_RAW,librpc/config.mk)
-SMB_SUBSYSTEM_MK(LIBRPC,librpc/config.mk)
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index 8a60406bd9..bded773e7a 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -31,6 +31,7 @@ ADD_OBJ_FILES = \
################################################
# Start SUBSYSTEM LIBNDR_GEN
[SUBSYSTEM::LIBNDR_GEN]
+NOPROTO = YES
INIT_FUNCTION = librpc_init
INIT_OBJ_FILES = \
librpc/gen_ndr/tables.o
diff --git a/source4/nsswitch/config.m4 b/source4/nsswitch/config.m4
deleted file mode 100644
index 5ce7d4b92f..0000000000
--- a/source4/nsswitch/config.m4
+++ /dev/null
@@ -1,2 +0,0 @@
-SMB_SUBSYSTEM_MK(LIB_WINBIND_CLIENT,nsswitch/config.mk)
-
diff --git a/source4/ntvfs/config.m4 b/source4/ntvfs/config.m4
deleted file mode 100644
index dd8e60adde..0000000000
--- a/source4/ntvfs/config.m4
+++ /dev/null
@@ -1,19 +0,0 @@
-dnl # NTVFS Server subsystem
-
-SMB_INCLUDE_M4(ntvfs/posix/config.m4)
-SMB_MODULE_MK(ntvfs_posix, NTVFS, STATIC, ntvfs/posix/config.mk)
-
-SMB_INCLUDE_M4(ntvfs/unixuid/config.m4)
-SMB_MODULE_MK(ntvfs_unixuid, NTVFS, STATIC, ntvfs/unixuid/config.mk)
-
-SMB_MODULE_MK(ntvfs_cifs, NTVFS, STATIC, ntvfs/config.mk)
-
-SMB_MODULE_MK(ntvfs_simple, NTVFS, STATIC, ntvfs/config.mk)
-
-SMB_MODULE_MK(ntvfs_print, NTVFS, STATIC, ntvfs/config.mk)
-
-SMB_MODULE_MK(ntvfs_ipc, NTVFS, STATIC, ntvfs/config.mk)
-
-SMB_MODULE_MK(ntvfs_nbench, NTVFS, STATIC, ntvfs/config.mk)
-
-SMB_SUBSYSTEM_MK(NTVFS,ntvfs/config.mk)
diff --git a/source4/ntvfs/config.mk b/source4/ntvfs/config.mk
index c15470076f..14215004ea 100644
--- a/source4/ntvfs/config.mk
+++ b/source4/ntvfs/config.mk
@@ -4,6 +4,7 @@
# Start MODULE ntvfs_cifs
[MODULE::ntvfs_cifs]
INIT_FUNCTION = ntvfs_cifs_init
+SUBSYSTEM = NTVFS
INIT_OBJ_FILES = \
ntvfs/cifs/vfs_cifs.o
REQUIRED_SUBSYSTEMS = \
@@ -15,6 +16,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE ntvfs_simple
[MODULE::ntvfs_simple]
INIT_FUNCTION = ntvfs_simple_init
+SUBSYSTEM = NTVFS
INIT_OBJ_FILES = \
ntvfs/simple/vfs_simple.o
ADD_OBJ_FILES = \
@@ -26,6 +28,7 @@ ADD_OBJ_FILES = \
# Start MODULE ntvfs_print
[MODULE::ntvfs_print]
INIT_FUNCTION = ntvfs_print_init
+SUBSYSTEM = NTVFS
INIT_OBJ_FILES = \
ntvfs/print/vfs_print.o
# End MODULE ntvfs_print
@@ -34,6 +37,7 @@ INIT_OBJ_FILES = \
################################################
# Start MODULE ntvfs_ipc
[MODULE::ntvfs_ipc]
+SUBSYSTEM = NTVFS
INIT_FUNCTION = ntvfs_ipc_init
INIT_OBJ_FILES = \
ntvfs/ipc/vfs_ipc.o \
@@ -47,6 +51,7 @@ INIT_OBJ_FILES = \
################################################
# Start MODULE ntvfs_nbench
[MODULE::ntvfs_nbench]
+SUBSYSTEM = NTVFS
INIT_FUNCTION = ntvfs_nbench_init
INIT_OBJ_FILES = \
ntvfs/nbench/vfs_nbench.o
diff --git a/source4/ntvfs/posix/config.m4 b/source4/ntvfs/posix/config.m4
index 975da5f2a9..d39acbe85e 100644
--- a/source4/ntvfs/posix/config.m4
+++ b/source4/ntvfs/posix/config.m4
@@ -30,5 +30,3 @@ AC_SEARCH_LIBS(flistxattr, [attr])
if test x"$ac_cv_func_flistxattr" = x"yes"; then
AC_DEFINE(HAVE_XATTR_SUPPORT,1,[Whether we have xattr support])
fi
-
-SMB_MODULE_MK(ntvfs_posix, NTVFS, STATIC, ntvfs/config.mk)
diff --git a/source4/ntvfs/posix/config.mk b/source4/ntvfs/posix/config.mk
index f54d2e24fb..74e991d9bd 100644
--- a/source4/ntvfs/posix/config.mk
+++ b/source4/ntvfs/posix/config.mk
@@ -1,6 +1,7 @@
################################################
# Start MODULE ntvfs_posix
[MODULE::ntvfs_posix]
+SUBSYSTEM = NTVFS
INIT_FUNCTION = ntvfs_posix_init
INIT_OBJ_FILES = \
ntvfs/posix/vfs_posix.o
diff --git a/source4/ntvfs/unixuid/config.m4 b/source4/ntvfs/unixuid/config.m4
index 61e7db3d91..2c6777f68e 100644
--- a/source4/ntvfs/unixuid/config.m4
+++ b/source4/ntvfs/unixuid/config.m4
@@ -1,4 +1,3 @@
-SMB_MODULE_MK(ntvfs_unixuid, NTVFS, STATIC, ntvfs/config.mk)
################################################
diff --git a/source4/ntvfs/unixuid/config.mk b/source4/ntvfs/unixuid/config.mk
index 611be650d1..3df3194688 100644
--- a/source4/ntvfs/unixuid/config.mk
+++ b/source4/ntvfs/unixuid/config.mk
@@ -2,6 +2,7 @@
# Start MODULE ntvfs_unixuid
[MODULE::ntvfs_unixuid]
INIT_FUNCTION = ntvfs_unixuid_init
+SUBSYSTEM = NTVFS
INIT_OBJ_FILES = \
ntvfs/unixuid/vfs_unixuid.o
# End MODULE ntvfs_unixuid
diff --git a/source4/rpc_server/config.m4 b/source4/rpc_server/config.m4
deleted file mode 100644
index 7fb8b555c2..0000000000
--- a/source4/rpc_server/config.m4
+++ /dev/null
@@ -1,21 +0,0 @@
-dnl # DCERPC Server subsystem
-
-SMB_SUBSYSTEM_MK(DCERPC_COMMON,rpc_server/config.mk)
-
-SMB_SUBSYSTEM_MK(SAMDB,rpc_server/config.mk)
-SMB_SUBSYSTEM_MK(SCHANNELDB,rpc_server/config.mk)
-
-SMB_MODULE_MK(dcerpc_rpcecho,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_epmapper,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_remote,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_srvsvc,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_wkssvc,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_samr,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_winreg,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_netlogon,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_lsarpc,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_spoolss,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_dcom,DCERPC,STATIC,rpc_server/config.mk)
-SMB_MODULE_MK(dcerpc_drsuapi,DCERPC,STATIC,rpc_server/config.mk)
-
-SMB_SUBSYSTEM_MK(DCERPC,rpc_server/config.mk)
diff --git a/source4/rpc_server/config.mk b/source4/rpc_server/config.mk
index 4b89e875cf..4326120e57 100644
--- a/source4/rpc_server/config.mk
+++ b/source4/rpc_server/config.mk
@@ -15,6 +15,7 @@ ADD_OBJ_FILES = \
# Start MODULE dcerpc_DCOM
[MODULE::dcerpc_dcom]
INIT_FUNCTION = dcerpc_server_dcom_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/dcom/oxidresolver.o \
rpc_server/dcom/rot.o \
@@ -53,6 +54,7 @@ INIT_OBJ_FILES = \
# Start MODULE dcerpc_rpcecho
[MODULE::dcerpc_rpcecho]
INIT_FUNCTION = dcerpc_server_rpcecho_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/echo/rpc_echo.o
# End MODULE dcerpc_rpcecho
@@ -62,6 +64,7 @@ INIT_OBJ_FILES = \
# Start MODULE dcerpc_epmapper
[MODULE::dcerpc_epmapper]
INIT_FUNCTION = dcerpc_server_epmapper_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/epmapper/rpc_epmapper.o
# End MODULE dcerpc_epmapper
@@ -71,6 +74,7 @@ INIT_OBJ_FILES = \
# Start MODULE dcerpc_remote
[MODULE::dcerpc_remote]
INIT_FUNCTION = dcerpc_server_remote_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/remote/dcesrv_remote.o
REQUIRED_SUBSYSTEMS = \
@@ -82,6 +86,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE dcerpc_srvsvc
[MODULE::dcerpc_srvsvc]
INIT_FUNCTION = dcerpc_server_srvsvc_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/srvsvc/dcesrv_srvsvc.o
REQUIRED_SUBSYSTEMS = \
@@ -93,6 +98,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE dcerpc_wkssvc
[MODULE::dcerpc_wkssvc]
INIT_FUNCTION = dcerpc_server_wkssvc_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/wkssvc/dcesrv_wkssvc.o
REQUIRED_SUBSYSTEMS = \
@@ -104,6 +110,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE dcerpc_samr
[MODULE::dcerpc_samr]
INIT_FUNCTION = dcerpc_server_samr_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/samr/dcesrv_samr.o
ADD_OBJ_FILES = \
@@ -118,6 +125,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE dcerpc_winreg
[MODULE::dcerpc_winreg]
INIT_FUNCTION = dcerpc_server_winreg_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/winreg/rpc_winreg.o
REQUIRED_SUBSYSTEMS = \
@@ -129,6 +137,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE dcerpc_netlogon
[MODULE::dcerpc_netlogon]
INIT_FUNCTION = dcerpc_server_netlogon_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/netlogon/dcerpc_netlogon.o
REQUIRED_SUBSYSTEMS = \
@@ -141,6 +150,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE dcerpc_lsa
[MODULE::dcerpc_lsarpc]
INIT_FUNCTION = dcerpc_server_lsarpc_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/lsa/dcesrv_lsa.o
REQUIRED_SUBSYSTEMS = \
@@ -153,6 +163,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE dcerpc_spoolss
[MODULE::dcerpc_spoolss]
INIT_FUNCTION = dcerpc_server_spoolss_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/spoolss/dcesrv_spoolss.o \
rpc_server/spoolss/spoolssdb.o
@@ -165,6 +176,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE dcerpc_drsuapi
[MODULE::dcerpc_drsuapi]
INIT_FUNCTION = dcerpc_server_drsuapi_init
+SUBSYSTEM = DCERPC
INIT_OBJ_FILES = \
rpc_server/drsuapi/dcesrv_drsuapi.o
ADD_OBJ_FILES = \
diff --git a/source4/smb_server/config.m4 b/source4/smb_server/config.m4
deleted file mode 100644
index d570dadbbc..0000000000
--- a/source4/smb_server/config.m4
+++ /dev/null
@@ -1,3 +0,0 @@
-dnl # SMB server subsystem
-
-SMB_SUBSYSTEM_MK(SMB,smb_server/config.mk)
diff --git a/source4/smbd/config.m4 b/source4/smbd/config.m4
deleted file mode 100644
index 5142e81f84..0000000000
--- a/source4/smbd/config.m4
+++ /dev/null
@@ -1,11 +0,0 @@
-dnl # server subsystem
-
-SMB_MODULE_MK(server_service_auth,SERVER_SERVICE,STATIC,smbd/config.mk)
-SMB_MODULE_MK(server_service_smb,SERVER_SERVICE,STATIC,smbd/config.mk)
-SMB_MODULE_MK(server_service_rpc,SERVER_SERVICE,STATIC,smbd/config.mk)
-SMB_MODULE_MK(server_service_ldap,SERVER_SERVICE,STATIC,smbd/config.mk)
-
-SMB_SUBSYSTEM_MK(SERVER_SERVICE,smbd/config.mk)
-SMB_SUBSYSTEM_MK(SERVER,smbd/config.mk)
-
-SMB_BINARY_MK(smbd, smbd/config.mk)
diff --git a/source4/smbd/config.mk b/source4/smbd/config.mk
index 7c5fe74da9..52e8e69c30 100644
--- a/source4/smbd/config.mk
+++ b/source4/smbd/config.mk
@@ -4,6 +4,7 @@
# Start MODULE server_service_auth
[MODULE::server_service_auth]
INIT_FUNCTION = server_service_auth_init
+SUBSYSTEM = SERVER_SERVICE
REQUIRED_SUBSYSTEMS = \
AUTH
# End MODULE server_auth
@@ -13,6 +14,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE server_service_smb
[MODULE::server_service_smb]
INIT_FUNCTION = server_service_smb_init
+SUBSYSTEM = SERVER_SERVICE
REQUIRED_SUBSYSTEMS = \
SMB
# End MODULE server_smb
@@ -22,6 +24,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE server_service_rpc
[MODULE::server_service_rpc]
INIT_FUNCTION = server_service_rpc_init
+SUBSYSTEM = SERVER_SERVICE
REQUIRED_SUBSYSTEMS = \
DCERPC
# End MODULE server_rpc
@@ -31,6 +34,7 @@ REQUIRED_SUBSYSTEMS = \
# Start MODULE server_service_ldap
[MODULE::server_service_ldap]
INIT_FUNCTION = server_service_ldap_init
+SUBSYSTEM = SERVER_SERVICE
REQUIRED_SUBSYSTEMS = \
LDAP
# End MODULE server_ldap
diff --git a/source4/smbd/process_model.m4 b/source4/smbd/process_model.m4
index a3101253f0..d53b4de3a3 100644
--- a/source4/smbd/process_model.m4
+++ b/source4/smbd/process_model.m4
@@ -1,8 +1,5 @@
dnl # Server process model subsystem
-SMB_MODULE_MK(process_model_single,PROCESS_MODEL,STATIC,smbd/process_model.mk)
-SMB_MODULE_MK(process_model_standard,PROCESS_MODEL,STATIC,smbd/process_model.mk)
-
#################################################
# check for pthread support
AC_MSG_CHECKING(whether to use pthreads)
@@ -25,7 +22,3 @@ AC_MSG_RESULT(no)
)
SMB_EXT_LIB(PTHREAD,[-lpthread])
-
-SMB_MODULE_MK(process_model_thread,PROCESS_MODEL,NOT,smbd/process_model.mk)
-
-SMB_SUBSYSTEM_MK(PROCESS_MODEL,smbd/process_model.mk)
diff --git a/source4/smbd/process_model.mk b/source4/smbd/process_model.mk
index d4a9b69f4a..70ccddd828 100644
--- a/source4/smbd/process_model.mk
+++ b/source4/smbd/process_model.mk
@@ -4,6 +4,7 @@
# Start MODULE process_model_single
[MODULE::process_model_single]
INIT_FUNCTION = process_model_single_init
+SUBSYSTEM = PROCESS_MODEL
INIT_OBJ_FILES = \
smbd/process_single.o
# End MODULE process_model_single
@@ -13,6 +14,7 @@ INIT_OBJ_FILES = \
# Start MODULE process_model_standard
[MODULE::process_model_standard]
INIT_FUNCTION = process_model_standard_init
+SUBSYSTEM = PROCESS_MODEL
INIT_OBJ_FILES = \
smbd/process_standard.o
# End MODULE process_model_standard
@@ -22,6 +24,7 @@ INIT_OBJ_FILES = \
# Start MODULE process_model_thread
[MODULE::process_model_thread]
INIT_FUNCTION = process_model_thread_init
+SUBSYSTEM = PROCESS_MODEL
INIT_OBJ_FILES = \
smbd/process_thread.o
REQUIRED_SUBSYSTEMS = EXT_LIB_PTHREAD
diff --git a/source4/torture/config.m4 b/source4/torture/config.m4
deleted file mode 100644
index a1f9cdac68..0000000000
--- a/source4/torture/config.m4
+++ /dev/null
@@ -1,24 +0,0 @@
-dnl # TORTURE subsystem
-
-SMB_SUBSYSTEM_MK(TORTURE_BASIC,torture/config.mk)
-
-SMB_SUBSYSTEM_MK(TORTURE_RAW,torture/config.mk)
-
-SMB_SUBSYSTEM_MK(TORTURE_DCOM,torture/config.mk)
-
-SMB_SUBSYSTEM_MK(TORTURE_RPC,torture/config.mk)
-
-SMB_SUBSYSTEM_MK(TORTURE_RAP,torture/config.mk)
-
-SMB_SUBSYSTEM_MK(TORTURE_AUTH,torture/config.mk)
-
-SMB_SUBSYSTEM_MK(TORTURE_LOCAL,torture/config.mk)
-
-SMB_SUBSYSTEM_MK(TORTURE_NBENCH,torture/config.mk)
-
-SMB_SUBSYSTEM_MK(TORTURE_LDAP,torture/config.mk)
-
-SMB_BINARY_MK(smbtorture,torture/config.mk)
-SMB_BINARY_MK(gentest,torture/config.mk)
-SMB_BINARY_MK(masktest,torture/config.mk)
-SMB_BINARY_MK(locktest,torture/config.mk)
diff --git a/source4/utils/config.m4 b/source4/utils/config.m4
deleted file mode 100644
index 22cfe1131f..0000000000
--- a/source4/utils/config.m4
+++ /dev/null
@@ -1,12 +0,0 @@
-dnl # utils subsystem
-
-SMB_BINARY_MK(ndrdump, utils/config.mk)
-SMB_BINARY_MK(ntlm_auth, utils/config.mk)
-#SMB_BINARY_MK(lookupuuid, utils/config.mk)
-
-SMB_INCLUDE_M4(utils/net/config.m4)
-
-SMB_BINARY_MK(getntacl, utils/config.mk)
-SMB_BINARY_MK(setntacl, utils/config.mk)
-
-SMB_BINARY_MK(setnttoken, utils/config.mk)
diff --git a/source4/utils/config.mk b/source4/utils/config.mk
index 7a773ad602..6afb1c23c0 100644
--- a/source4/utils/config.mk
+++ b/source4/utils/config.mk
@@ -14,19 +14,6 @@ REQUIRED_SUBSYSTEMS = \
#################################
#################################
-# Start BINARY lookupuuid
-[BINARY::lookupuuid]
-OBJ_FILES = \
- utils/lookupuuid.o
-REQUIRED_SUBSYSTEMS = \
- CONFIG \
- LIBCMDLINE \
- LIBBASIC \
- LIBSMB
-# End BINARY lookupuuid
-#################################
-
-#################################
# Start BINARY ntlm_auth
[BINARY::ntlm_auth]
OBJ_FILES = \
diff --git a/source4/utils/net/config.m4 b/source4/utils/net/config.m4
deleted file mode 100644
index a3e773c68d..0000000000
--- a/source4/utils/net/config.m4
+++ /dev/null
@@ -1,3 +0,0 @@
-dnl # utils subsystem
-
-SMB_BINARY_MK(net, utils/net/config.mk)