summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-10-26 14:18:27 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:45:16 -0500
commit8ee1ee66edb1c98b63cbc26741080932995156a4 (patch)
tree06d6d15aeb9addb392328abcae53bb7673b7b91d
parentbf300c868781fed3b0c0556b4e40608589ad1585 (diff)
downloadsamba-8ee1ee66edb1c98b63cbc26741080932995156a4.tar.gz
samba-8ee1ee66edb1c98b63cbc26741080932995156a4.tar.bz2
samba-8ee1ee66edb1c98b63cbc26741080932995156a4.zip
r11303: Support defining and installing public headers for libraries.
Support installing libraries. Get rid of pkg-config file (will be autogenerated later on). (This used to be commit b4745032a2c55752c527026feb221ccc3dce10c8)
-rw-r--r--source4/auth/config.mk4
-rw-r--r--source4/build/smb_build/config_mk.pm3
-rw-r--r--source4/build/smb_build/input.pm3
-rw-r--r--source4/build/smb_build/makefile.pm41
-rw-r--r--source4/dsdb/config.mk2
-rw-r--r--source4/lib/ldb/config.mk1
-rw-r--r--source4/lib/registry/config.m42
-rw-r--r--source4/lib/registry/config.mk1
-rw-r--r--source4/lib/registry/winregistry.pc.in10
-rw-r--r--source4/lib/talloc/config.mk1
-rw-r--r--source4/lib/tdb/config.mk1
-rw-r--r--source4/libcli/config.mk2
-rw-r--r--source4/librpc/config.mk218
-rw-r--r--source4/main.mk23
-rw-r--r--source4/rpc_server/config.mk2
-rwxr-xr-xsource4/script/installheader.sh26
-rwxr-xr-xsource4/script/installlib.sh26
-rwxr-xr-xsource4/script/uninstallheader.sh35
-rwxr-xr-xsource4/script/uninstalllib.sh35
-rw-r--r--source4/scripting/ejs/config.mk2
-rw-r--r--source4/torture/config.mk6
-rw-r--r--source4/utils/config.mk10
22 files changed, 316 insertions, 138 deletions
diff --git a/source4/auth/config.mk b/source4/auth/config.mk
index 5c5ec02c93..184902a870 100644
--- a/source4/auth/config.mk
+++ b/source4/auth/config.mk
@@ -35,7 +35,7 @@ INIT_OBJ_FILES = \
auth_winbind.o
REQUIRED_SUBSYSTEMS = \
LIB_WINBIND_CLIENT \
- NDR_NETLOGON NDR_RAW
+ NDR_NETLOGON LIBNDR
# End MODULE auth_winbind
#######################
@@ -47,7 +47,7 @@ SUBSYSTEM = AUTH
INIT_OBJ_FILES = \
auth_domain.o
REQUIRED_SUBSYSTEMS = \
- NDR_NETLOGON NDR_RAW
+ NDR_NETLOGON LIBNDR
# End MODULE auth_winbind
#######################
diff --git a/source4/build/smb_build/config_mk.pm b/source4/build/smb_build/config_mk.pm
index 91195974a7..2adc219605 100644
--- a/source4/build/smb_build/config_mk.pm
+++ b/source4/build/smb_build/config_mk.pm
@@ -76,7 +76,8 @@ my $section_types = {
"NOPROTO" => "bool",
"MANPAGE" => "string",
- "INSTALLDIR" => "string",
+
+ "PUBLIC_HEADERS" => "list"
}
};
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm
index f656e78f88..e685f41157 100644
--- a/source4/build/smb_build/input.pm
+++ b/source4/build/smb_build/input.pm
@@ -83,6 +83,7 @@ sub check_module($$)
if ($mod->{CHOSEN_BUILD} eq "SHARED") {
$mod->{ENABLE} = "YES";
$mod->{OUTPUT_TYPE} = "SHARED_LIBRARY";
+ $mod->{INSTALLDIR} = "LIBDIR/$mod->{SUBSYSTEM}";
push (@{$mod->{REQUIRED_SUBSYSTEMS}}, $mod->{SUBSYSTEM});
printf("Module: %s...shared\n",$mod->{NAME});
} elsif ($mod->{CHOSEN_BUILD} eq "STATIC") {
@@ -107,6 +108,8 @@ sub check_library($$)
}
$lib->{OUTPUT_TYPE} = $library_output_type;
+
+ $lib->{INSTALLDIR} = "LIBDIR";
}
sub check_binary($$)
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 8db8a3c2cf..f1a6262586 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -47,6 +47,8 @@ sub new($$$$)
$self->_prepare_dummy_MAKEDIR($CTX);
$self->_prepare_manpages($CTX);
$self->_prepare_binaries($CTX);
+ $self->_prepare_libraries($CTX);
+ $self->_prepare_headers($CTX);
$self->_prepare_target_settings($CTX);
$self->_prepare_rule_lists($CTX);
$self->_prepare_clean_rules();
@@ -91,6 +93,7 @@ BINDIR = $self->{config}->{bindir}
SBINDIR = $self->{config}->{sbindir}
datadir = $self->{config}->{datadir}
LIBDIR = $self->{config}->{libdir}
+INCLUDEDIR = $self->{config}->{includedir}
CONFIGDIR = $self->{config}->{configdir}
localstatedir = $self->{config}->{localstatedir}
SWATDIR = $self->{config}->{swatdir}
@@ -209,6 +212,44 @@ Makefile: config.status $deps
");
}
+sub _prepare_headers($$)
+{
+ my ($self, $ctx) = @_;
+
+ my @headers = ();
+
+ foreach (values %$ctx) {
+ next unless defined $_->{PUBLIC_HEADERS};
+
+ foreach my $h (@{$_->{PUBLIC_HEADERS}}) {
+ push (@headers, "$_->{BASEDIR}/$h");
+ }
+ }
+
+ $self->output("PUBLIC_HEADERS = " . array2oneperline(\@headers) . "\n");
+}
+
+sub _prepare_libraries($$)
+{
+ my ($self, $ctx) = @_;
+
+ my @shared_list = ();
+ my @static_list = ();
+
+ foreach (values %$ctx) {
+ next unless defined $_->{OUTPUT_TYPE};
+ next unless defined($_->{INSTALLDIR});
+ next unless ($_->{INSTALLDIR} eq "LIBDIR");
+
+ push(@shared_list, $_->{OUTPUT}) if ($_->{OUTPUT_TYPE} eq "SHARED_LIBRARY");
+ push(@static_list, $_->{OUTPUT}) if ($_->{OUTPUT_TYPE} eq "STATIC_LIBRARY");
+ }
+
+ $self->output("STATIC_LIBS = " . array2oneperline(\@static_list) . "\n");
+ $self->output("SHARED_LIBS = " . array2oneperline(\@shared_list) . "\n");
+
+}
+
sub _prepare_binaries($$)
{
my ($self, $ctx) = @_;
diff --git a/source4/dsdb/config.mk b/source4/dsdb/config.mk
index 065eb65afa..6324f9d89e 100644
--- a/source4/dsdb/config.mk
+++ b/source4/dsdb/config.mk
@@ -7,7 +7,7 @@ SUBSYSTEM = LIBLDB
INIT_OBJ_FILES = \
samdb/ldb_modules/objectguid.o
REQUIRED_SUBSYSTEMS = \
- NDR_RAW NDR_MISC
+ LIBNDR NDR_MISC
# End MODULE libldb_objectguid
################################################
diff --git a/source4/lib/ldb/config.mk b/source4/lib/ldb/config.mk
index 6e948f20df..31c75a1712 100644
--- a/source4/lib/ldb/config.mk
+++ b/source4/lib/ldb/config.mk
@@ -98,6 +98,7 @@ REQUIRED_SUBSYSTEMS = \
LIBREPLACE LIBTALLOC LDBSAMBA
NOPROTO = YES
MANPAGE = man/ldb.3
+PUBLIC_HEADERS = include/ldb.h
#
# End SUBSYSTEM LIBLDB
################################################
diff --git a/source4/lib/registry/config.m4 b/source4/lib/registry/config.m4
index d0d1d2c54b..27e55c63b4 100644
--- a/source4/lib/registry/config.m4
+++ b/source4/lib/registry/config.m4
@@ -5,8 +5,6 @@ if test t$BLDSHARED = ttrue; then
fi
LIBWINREG=libwinregistry
-AC_CONFIG_FILES(lib/registry/winregistry.pc)
-
SMB_MODULE_DEFAULT(registry_gconf, NOT)
SMB_EXT_LIB_FROM_PKGCONFIG(gconf, gconf-2.0)
diff --git a/source4/lib/registry/config.mk b/source4/lib/registry/config.mk
index 288e3d21ee..51387df303 100644
--- a/source4/lib/registry/config.mk
+++ b/source4/lib/registry/config.mk
@@ -90,6 +90,7 @@ ADD_OBJ_FILES = \
patchfile.o
REQUIRED_SUBSYSTEMS = \
LIBBASIC
+PUBLIC_HEADERS = registry.h
# End MODULE registry_ldb
################################################
diff --git a/source4/lib/registry/winregistry.pc.in b/source4/lib/registry/winregistry.pc.in
deleted file mode 100644
index ad134da236..0000000000
--- a/source4/lib/registry/winregistry.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: winregistry
-Description: Windows registry library
-Version: @PACKAGE_VERSION@
-Libs: @LIBS@ @REG_LIBS@ -L${prefix}/lib -lwinregistry
-Cflags: -I${includedir} @CFLAGS@ @CFLAGS@
diff --git a/source4/lib/talloc/config.mk b/source4/lib/talloc/config.mk
index 5d88616b15..a4be0eb9ff 100644
--- a/source4/lib/talloc/config.mk
+++ b/source4/lib/talloc/config.mk
@@ -8,6 +8,7 @@ INIT_OBJ_FILES = talloc.o
REQUIRED_SUBSYSTEMS = LIBREPLACE
NOPROTO = YES
MANPAGE = talloc.3
+PUBLIC_HEADERS = talloc.h
#
# End LIBRARY LIBTALLOC
################################################
diff --git a/source4/lib/tdb/config.mk b/source4/lib/tdb/config.mk
index b68a121190..4d96b6c161 100644
--- a/source4/lib/tdb/config.mk
+++ b/source4/lib/tdb/config.mk
@@ -12,6 +12,7 @@ ADD_OBJ_FILES = common/dump.o common/io.o common/lock.o \
NOPROTO=YES
REQUIRED_SUBSYSTEMS = \
LIBREPLACE
+PUBLIC_HEADERS = include/tdb.h
#
# End SUBSYSTEM LIBLDB
################################################
diff --git a/source4/libcli/config.mk b/source4/libcli/config.mk
index cf9695ec11..5ed4cff199 100644
--- a/source4/libcli/config.mk
+++ b/source4/libcli/config.mk
@@ -39,7 +39,7 @@ ADD_OBJ_FILES = \
nbt/nameregister.o \
nbt/namerefresh.o \
nbt/namerelease.o
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_NBT SOCKET LIBCLI_COMPOSITE LIBEVENTS \
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_NBT SOCKET LIBCLI_COMPOSITE LIBEVENTS \
LIB_SECURITY_NDR
[SUBSYSTEM::LIBCLI_DGRAM]
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index 29fe7c5a05..1f146ba8cd 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -1,6 +1,7 @@
################################################
-# Start SUBSYSTEM NDR_RAW
-[SUBSYSTEM::NDR_RAW]
+# Start SUBSYSTEM LIBNDR
+[LIBRARY::LIBNDR]
+PUBLIC_HEADERS = ndr/libndr.h
INIT_OBJ_FILES = \
ndr/ndr.o
ADD_OBJ_FILES = \
@@ -9,7 +10,7 @@ ADD_OBJ_FILES = \
ndr/ndr_obfuscate.o \
ndr/ndr_misc.o
REQUIRED_SUBSYSTEMS = LIBCLI_UTILS LIBTALLOC
-# End SUBSYSTEM NDR_RAW
+# End SUBSYSTEM LIBNDR
################################################
################################################
@@ -41,73 +42,73 @@ REQUIRED_SUBSYSTEMS = SOCKET
INIT_FUNCTION = dcerpc_audiosrv_init
INIT_OBJ_FILES = gen_ndr/ndr_audiosrv.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DCERPC]
INIT_FUNCTION = dcerpc_dcerpc_init
INIT_OBJ_FILES = gen_ndr/ndr_dcerpc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_ECHO]
INIT_FUNCTION = dcerpc_echo_init
INIT_OBJ_FILES = gen_ndr/ndr_echo.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_IRPC]
INIT_FUNCTION = dcerpc_irpc_init
INIT_OBJ_FILES = gen_ndr/ndr_irpc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_EXCHANGE]
INIT_FUNCTION = dcerpc_exchange_init
INIT_OBJ_FILES = gen_ndr/ndr_exchange.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DSBACKUP]
INIT_FUNCTION = dcerpc_dsbackup_init
INIT_OBJ_FILES = gen_ndr/ndr_dsbackup.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_EFS]
INIT_FUNCTION = dcerpc_efs_init
INIT_OBJ_FILES = gen_ndr/ndr_efs.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_MISC]
INIT_FUNCTION = dcerpc_misc_init
INIT_OBJ_FILES = gen_ndr/ndr_misc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_ROT]
INIT_FUNCTION = dcerpc_rot_init
INIT_OBJ_FILES = gen_ndr/ndr_rot.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_LSA]
INIT_FUNCTION = dcerpc_lsa_init
INIT_OBJ_FILES = gen_ndr/ndr_lsa.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DFS]
INIT_FUNCTION = dcerpc_dfs_init
INIT_OBJ_FILES = gen_ndr/ndr_dfs.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DRSUAPI]
INIT_FUNCTION = dcerpc_drsuapi_init
INIT_OBJ_FILES = gen_ndr/ndr_drsuapi.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_DRSUAPI_PRINT NDR_COMPRESSION
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_DRSUAPI_PRINT NDR_COMPRESSION
[SUBSYSTEM::NDR_DRSUAPI_PRINT]
INIT_OBJ_FILES = ndr/ndr_drsuapi.o
@@ -116,31 +117,31 @@ INIT_OBJ_FILES = ndr/ndr_drsuapi.o
INIT_FUNCTION = dcerpc_drsblobs_init
INIT_OBJ_FILES = gen_ndr/ndr_drsblobs.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_POLICYAGENT]
INIT_FUNCTION = dcerpc_policyagent_init
INIT_OBJ_FILES = gen_ndr/ndr_policyagent.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_UNIXINFO]
INIT_FUNCTION = dcerpc_unixinfo_init
INIT_OBJ_FILES = gen_ndr/ndr_unixinfo.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SAMR]
INIT_FUNCTION = dcerpc_samr_init
INIT_OBJ_FILES = gen_ndr/ndr_samr.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SPOOLSS]
INIT_FUNCTION = dcerpc_spoolss_init
INIT_OBJ_FILES = gen_ndr/ndr_spoolss.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_SPOOLSS_BUF
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_SPOOLSS_BUF
[SUBSYSTEM::NDR_SPOOLSS_BUF]
INIT_OBJ_FILES = ndr/ndr_spoolss_buf.o
@@ -149,91 +150,91 @@ INIT_OBJ_FILES = ndr/ndr_spoolss_buf.o
INIT_FUNCTION = dcerpc_wkssvc_init
INIT_OBJ_FILES = gen_ndr/ndr_wkssvc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SRVSVC]
INIT_FUNCTION = dcerpc_srvsvc_init
INIT_OBJ_FILES = gen_ndr/ndr_srvsvc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_SVCCTL
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_SVCCTL
[SUBSYSTEM::NDR_SVCCTL]
INIT_FUNCTION = dcerpc_svcctl_init
INIT_OBJ_FILES = gen_ndr/ndr_svcctl.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_ATSVC]
INIT_FUNCTION = dcerpc_atsvc_init
INIT_OBJ_FILES = gen_ndr/ndr_atsvc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_EVENTLOG]
INIT_FUNCTION = dcerpc_eventlog_init
INIT_OBJ_FILES = gen_ndr/ndr_eventlog.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_EPMAPPER]
INIT_FUNCTION = dcerpc_epmapper_init
INIT_OBJ_FILES = gen_ndr/ndr_epmapper.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DBGIDL]
INIT_FUNCTION = dcerpc_dbgidl_init
INIT_OBJ_FILES = gen_ndr/ndr_dbgidl.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DSSETUP]
INIT_FUNCTION = dcerpc_dssetup_init
INIT_OBJ_FILES = gen_ndr/ndr_dssetup.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_MSGSVC]
INIT_FUNCTION = dcerpc_msgsvc_init
INIT_OBJ_FILES = gen_ndr/ndr_msgsvc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_WINS]
INIT_FUNCTION = dcerpc_wins_init
INIT_OBJ_FILES = gen_ndr/ndr_wins.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_WINREG]
INIT_FUNCTION = dcerpc_winreg_init
INIT_OBJ_FILES = gen_ndr/ndr_winreg.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_INITSHUTDOWN
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_INITSHUTDOWN
[SUBSYSTEM::NDR_INITSHUTDOWN]
INIT_FUNCTION = dcerpc_initshutdown_init
INIT_OBJ_FILES = gen_ndr/ndr_initshutdown.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_MGMT]
INIT_FUNCTION = dcerpc_mgmt_init
INIT_OBJ_FILES = gen_ndr/ndr_mgmt.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_PROTECTED_STORAGE]
INIT_FUNCTION = dcerpc_protected_storage_init
INIT_OBJ_FILES = gen_ndr/ndr_protected_storage.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_DCOM]
INIT_FUNCTION = dcerpc_dcom_init
INIT_OBJ_FILES = gen_ndr/ndr_dcom.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_ORPC
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_ORPC
[SUBSYSTEM::NDR_ORPC_MANUAL]
INIT_OBJ_FILES = ndr/ndr_orpc.o
@@ -242,73 +243,73 @@ INIT_OBJ_FILES = ndr/ndr_orpc.o
INIT_FUNCTION = dcerpc_orpc_init
INIT_OBJ_FILES = gen_ndr/ndr_orpc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_ORPC_MANUAL
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_ORPC_MANUAL
[SUBSYSTEM::NDR_OXIDRESOLVER]
INIT_FUNCTION = dcerpc_oxidresolver_init
INIT_OBJ_FILES = gen_ndr/ndr_oxidresolver.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_ORPC
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_ORPC
[SUBSYSTEM::NDR_REMACT]
INIT_FUNCTION = dcerpc_remact_init
INIT_OBJ_FILES = gen_ndr/ndr_remact.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_ORPC
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_ORPC
[SUBSYSTEM::NDR_WZCSVC]
INIT_FUNCTION = dcerpc_wzcsvc_init
INIT_OBJ_FILES = gen_ndr/ndr_wzcsvc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_BROWSER]
INIT_FUNCTION = dcerpc_browser_init
INIT_OBJ_FILES = gen_ndr/ndr_browser.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_W32TIME]
INIT_FUNCTION = dcerpc_w32time_init
INIT_OBJ_FILES = gen_ndr/ndr_w32time.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SCERPC]
INIT_FUNCTION = dcerpc_scerpc_init
INIT_OBJ_FILES = gen_ndr/ndr_scerpc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_NTSVCS]
INIT_FUNCTION = dcerpc_ntsvcs_init
INIT_OBJ_FILES = gen_ndr/ndr_ntsvcs.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_NETLOGON]
INIT_FUNCTION = dcerpc_netlogon_init
INIT_OBJ_FILES = gen_ndr/ndr_netlogon.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_SAMR
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_SAMR
[SUBSYSTEM::NDR_TRKWKS]
INIT_FUNCTION = dcerpc_trkwks_init
INIT_OBJ_FILES = gen_ndr/ndr_trkwks.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_KEYSVC]
INIT_FUNCTION = dcerpc_keysvc_init
INIT_OBJ_FILES = gen_ndr/ndr_keysvc.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_KRB5PAC]
INIT_FUNCTION = dcerpc_krb5pac_init
INIT_OBJ_FILES = gen_ndr/ndr_krb5pac.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_KRB5PAC_UTIL
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_KRB5PAC_UTIL
[SUBSYSTEM::NDR_KRB5PAC_UTIL]
INIT_OBJ_FILES = ndr/ndr_krb5pac.o
@@ -317,25 +318,25 @@ INIT_OBJ_FILES = ndr/ndr_krb5pac.o
INIT_FUNCTION = dcerpc_xattr_init
INIT_OBJ_FILES = gen_ndr/ndr_xattr.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_SCHANNEL]
INIT_FUNCTION = dcerpc_schannel_init
INIT_OBJ_FILES = gen_ndr/ndr_schannel.o
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW
+REQUIRED_SUBSYSTEMS = LIBNDR
[SUBSYSTEM::NDR_NBT]
INIT_OBJ_FILES = gen_ndr/ndr_nbt.o
INIT_FUNCTION = dcerpc_nbt_init
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_MISC
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_MISC
[SUBSYSTEM::NDR_WINSREPL]
INIT_OBJ_FILES = gen_ndr/ndr_winsrepl.o
INIT_FUNCTION = dcerpc_winsrepl_init
NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_RAW NDR_NBT
+REQUIRED_SUBSYSTEMS = LIBNDR NDR_NBT
[SUBSYSTEM::NDR_ALL]
@@ -351,97 +352,97 @@ REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
[SUBSYSTEM::RPC_NDR_ROT]
ADD_OBJ_FILES = gen_ndr/ndr_rot_c.o
-REQUIRED_SUBSYSTEMS = NDR_ROT RPC
+REQUIRED_SUBSYSTEMS = NDR_ROT LIBRPC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_AUDIOSRV]
ADD_OBJ_FILES = gen_ndr/ndr_audiosrv_c.o
-REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV RPC
+REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV LIBRPC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_ECHO]
ADD_OBJ_FILES = gen_ndr/ndr_echo_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_ECHO
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_ECHO
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_EXCHANGE]
ADD_OBJ_FILES = gen_ndr/ndr_exchange_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_EXCHANGE
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_EXCHANGE
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DSBACKUP]
ADD_OBJ_FILES = gen_ndr/ndr_dsbackup_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DSBACKUP
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DSBACKUP
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_EFS]
ADD_OBJ_FILES = gen_ndr/ndr_efs_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_EFS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_EFS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_LSA]
ADD_OBJ_FILES = gen_ndr/ndr_lsa_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_LSA
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_LSA
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DFS]
ADD_OBJ_FILES = gen_ndr/ndr_dfs_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DFS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DFS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DRSUAPI]
ADD_OBJ_FILES = gen_ndr/ndr_drsuapi_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DRSUAPI
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DRSUAPI
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DRSBLOBS]
ADD_OBJ_FILES = gen_ndr/ndr_drsblobs_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DRSBLOBS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DRSBLOBS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_POLICYAGENT]
ADD_OBJ_FILES = gen_ndr/ndr_policyagent_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_POLICYAGENT
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_POLICYAGENT
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_UNIXINFO]
ADD_OBJ_FILES = gen_ndr/ndr_unixinfo_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_UNIXINFO
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_UNIXINFO
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SAMR]
ADD_OBJ_FILES = gen_ndr/ndr_samr_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SAMR
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SAMR
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SPOOLSS]
ADD_OBJ_FILES = gen_ndr/ndr_spoolss_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SPOOLSS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SPOOLSS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_WKSSVC]
ADD_OBJ_FILES = gen_ndr/ndr_wkssvc_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_WKSSVC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WKSSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SRVSVC]
ADD_OBJ_FILES = gen_ndr/ndr_srvsvc_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SRVSVC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SRVSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SVCCTL]
ADD_OBJ_FILES = gen_ndr/ndr_svcctl_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SVCCTL
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SVCCTL
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_ATSVC]
ADD_OBJ_FILES = gen_ndr/ndr_atsvc_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_ATSVC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_ATSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_EVENTLOG]
ADD_OBJ_FILES = gen_ndr/ndr_eventlog_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_EVENTLOG
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_EVENTLOG
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_EPMAPPER]
@@ -451,82 +452,82 @@ NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DBGIDL]
ADD_OBJ_FILES = gen_ndr/ndr_dbgidl_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DBGIDL
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DBGIDL
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_DSSETUP]
ADD_OBJ_FILES = gen_ndr/ndr_dssetup_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DSSETUP
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DSSETUP
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_MSGSVC]
ADD_OBJ_FILES = gen_ndr/ndr_msgsvc_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_MSGSVC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_MSGSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_WINS]
ADD_OBJ_FILES = gen_ndr/ndr_wins_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_WINS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WINS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_WINREG]
ADD_OBJ_FILES = gen_ndr/ndr_winreg_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_WINREG
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WINREG
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_INITSHUTDOWN]
ADD_OBJ_FILES = gen_ndr/ndr_initshutdown_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_INITSHUTDOWN
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_INITSHUTDOWN
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_MGMT]
ADD_OBJ_FILES = gen_ndr/ndr_mgmt_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_MGMT
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_MGMT
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_PROTECTED_STORAGE]
ADD_OBJ_FILES = gen_ndr/ndr_protected_storage_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_PROTECTED_STORAGE
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_PROTECTED_STORAGE
NOPROTO = YES
[SUBSYSTEM::DCOM_PROXY_DCOM]
ADD_OBJ_FILES = gen_ndr/ndr_dcom_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DCOM
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DCOM
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_OXIDRESOLVER]
ADD_OBJ_FILES = gen_ndr/ndr_oxidresolver_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_OXIDRESOLVER
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_OXIDRESOLVER
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_REMACT]
ADD_OBJ_FILES = gen_ndr/ndr_remact_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_REMACT
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_REMACT
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_WZCSVC]
ADD_OBJ_FILES = gen_ndr/ndr_wzcsvc_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_WZCSVC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WZCSVC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_BROWSER]
ADD_OBJ_FILES = gen_ndr/ndr_browser_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_BROWSER
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_BROWSER
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_W32TIME]
ADD_OBJ_FILES = gen_ndr/ndr_w32time_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_W32TIME
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_W32TIME
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_SCERPC]
ADD_OBJ_FILES = gen_ndr/ndr_scerpc_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SCERPC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SCERPC
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_NTSVCS]
ADD_OBJ_FILES = gen_ndr/ndr_ntsvcs_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_NTSVCS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_NTSVCS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_NETLOGON]
@@ -536,115 +537,116 @@ NOPROTO = YES
[SUBSYSTEM::RPC_NDR_TRKWKS]
ADD_OBJ_FILES = gen_ndr/ndr_trkwks_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_TRKWKS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_TRKWKS
NOPROTO = YES
[SUBSYSTEM::RPC_NDR_KEYSVC]
ADD_OBJ_FILES = gen_ndr/ndr_keysvc_c.o
-REQUIRED_SUBSYSTEMS = RPC NDR_KEYSVC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_KEYSVC
NOPROTO = YES
################################################
-# Start SUBSYSTEM RPC
-[SUBSYSTEM::RPC]
-REQUIRED_SUBSYSTEMS = NDR_RAW RPC_RAW LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR NDR_UNIXINFO RPC_NDR_NETLOGON RPC_NDR_EPMAPPER
-# End SUBSYSTEM RPC
+# Start SUBSYSTEM LIBRPC
+[LIBRARY::LIBRPC]
+PUBLIC_HEADERS = rpc/dcerpc.h
+REQUIRED_SUBSYSTEMS = LIBNDR RPC_RAW LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR NDR_UNIXINFO RPC_NDR_NETLOGON RPC_NDR_EPMAPPER
+# End SUBSYSTEM LIBRPC
################################################
[SUBSYSTEM::RPC_EJS_ECHO]
INIT_FUNCTION = ejs_init_rpcecho
OBJ_FILES = gen_ndr/ndr_echo_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_ECHO
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_ECHO
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_MISC]
INIT_FUNCTION = ejs_init_misc
OBJ_FILES = gen_ndr/ndr_misc_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_MISC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_MISC
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_SAMR]
INIT_FUNCTION = ejs_init_samr
OBJ_FILES = gen_ndr/ndr_samr_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SAMR
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SAMR
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_SECURITY]
INIT_FUNCTION = ejs_init_security
OBJ_FILES = gen_ndr/ndr_security_ejs.o
-REQUIRED_SUBSYSTEMS = RPC LIB_SECURITY_NDR
+REQUIRED_SUBSYSTEMS = LIBRPC LIB_SECURITY_NDR
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_LSA]
INIT_FUNCTION = ejs_init_lsarpc
OBJ_FILES = gen_ndr/ndr_lsa_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_LSA
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_LSA
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_DFS]
INIT_FUNCTION = ejs_init_dfs
OBJ_FILES = gen_ndr/ndr_dfs_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DFS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DFS
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_DRSUAPI]
INIT_FUNCTION = ejs_init_drsuapi
OBJ_FILES = gen_ndr/ndr_drsuapi_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_DRSUAPI
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_DRSUAPI
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_SPOOLSS]
INIT_FUNCTION = ejs_init_spoolss
OBJ_FILES = gen_ndr/ndr_spoolss_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SPOOLSS
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SPOOLSS
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_WKSSVC]
INIT_FUNCTION = ejs_init_wkssvc
OBJ_FILES = gen_ndr/ndr_wkssvc_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_WKSSVC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WKSSVC
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_SRVSVC]
INIT_FUNCTION = ejs_init_srvsvc
OBJ_FILES = gen_ndr/ndr_srvsvc_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SRVSVC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SRVSVC
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_EVENTLOG]
INIT_FUNCTION = ejs_init_eventlog
OBJ_FILES = gen_ndr/ndr_eventlog_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_EVENTLOG
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_EVENTLOG
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_WINREG]
INIT_FUNCTION = ejs_init_winreg
OBJ_FILES = gen_ndr/ndr_winreg_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_WINREG
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_WINREG
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_INITSHUTDOWN]
INIT_FUNCTION = ejs_init_initshutdown
OBJ_FILES = gen_ndr/ndr_initshutdown_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_INITSHUTDOWN
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_INITSHUTDOWN
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_NETLOGON]
INIT_FUNCTION = ejs_init_netlogon
OBJ_FILES = gen_ndr/ndr_netlogon_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_NETLOGON
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_NETLOGON
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_SVCCTL]
INIT_FUNCTION = ejs_init_svcctl
OBJ_FILES = gen_ndr/ndr_svcctl_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_SVCCTL
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_SVCCTL
NOPROTO = YES
[SUBSYSTEM::RPC_EJS_IRPC]
INIT_FUNCTION = ejs_init_irpc
OBJ_FILES = gen_ndr/ndr_irpc_ejs.o
-REQUIRED_SUBSYSTEMS = RPC NDR_IRPC
+REQUIRED_SUBSYSTEMS = LIBRPC NDR_IRPC
NOPROTO = YES
################################################
diff --git a/source4/main.mk b/source4/main.mk
index a069270ac7..382535c528 100644
--- a/source4/main.mk
+++ b/source4/main.mk
@@ -31,6 +31,8 @@ include scripting/config.mk
include kdc/config.mk
binaries: $(BIN_PROGS) $(SBIN_PROGS)
+libraries: $(STATIC_LIBS) $(SHARED_LIBS)
+headers: $(PUBLIC_HEADERS)
manpages: $(MANPAGES)
everything: all
@@ -40,6 +42,7 @@ showlayout:
@echo " bindir: $(BINDIR)"
@echo " sbindir: $(SBINDIR)"
@echo " libdir: $(LIBDIR)"
+ @echo " includedir: $(INCLUDEDIR)"
@echo " vardir: $(VARDIR)"
@echo " privatedir: $(PRIVATEDIR)"
@echo " piddir: $(PIDDIR)"
@@ -55,7 +58,8 @@ showflags:
@echo " SHLD_FLAGS = $(SHLD_FLAGS)"
@echo " LIBS = $(LIBS)"
-install: showlayout installbin installdat installswat installmisc
+install: showlayout installbin installdat installswat installmisc installlib \
+ installheader
# DESTDIR is used here to prevent packagers wasting their time
# duplicating the Makefile. Remove it and you will have the privilege
@@ -72,6 +76,13 @@ installbin: binaries installdirs
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
+installlib: libraries installdirs
+ @$(SHELL) $(srcdir)/script/installlib.sh $(DESTDIR)$(LIBDIR) $(SHARED_LIBS)
+ @$(SHELL) $(srcdir)/script/installlib.sh $(DESTDIR)$(LIBDIR) $(STATIC_LIBS)
+
+installheader: headers installdirs
+ @$(SHELL) $(srcdir)/script/installheader.sh $(DESTDIR)$(INCLUDEDIR) $(PUBLIC_HEADERS)
+
installdat: installdirs
@$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(LIBDIR) $(srcdir)
@@ -84,7 +95,7 @@ installman: installdirs
installmisc: installdirs
@$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
-uninstall: uninstallbin uninstallman uninstallmisc
+uninstall: uninstallbin uninstallman uninstallmisc uninstalllib uninstallheader
uninstallmisc:
#FIXME
@@ -93,10 +104,16 @@ uninstallbin:
@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(SBIN_PROGS)
@$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(BIN_PROGS)
+uninstalllib:
+ @$(SHELL) $(srcdir)/script/uninstalllib.sh $(DESTDIR)$(LIBDIR) $(SHARED_LIBS)
+ @$(SHELL) $(srcdir)/script/uninstalllib.sh $(DESTDIR)$(LIBDIR) $(STATIC_LIBS)
+
+uninstallheader:
+ @$(SHELL) $(srcdir)/script/uninstallheader.sh $(DESTDIR)$(INCLUDEDIR) $(PUBLIC_HEADERS)
+
uninstallman:
@$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(MANPAGES)
-
etags:
etags `find $(srcdir) -name "*.[ch]"`
diff --git a/source4/rpc_server/config.mk b/source4/rpc_server/config.mk
index 821c60978a..5456acb4cd 100644
--- a/source4/rpc_server/config.mk
+++ b/source4/rpc_server/config.mk
@@ -208,7 +208,7 @@ ADD_OBJ_FILES = \
handles.o
REQUIRED_SUBSYSTEMS = \
LIBCLI_AUTH \
- NDR_RAW
+ LIBNDR
#
# End SUBSYSTEM DCERPC
################################################
diff --git a/source4/script/installheader.sh b/source4/script/installheader.sh
new file mode 100755
index 0000000000..9aed5ed1c3
--- /dev/null
+++ b/source4/script/installheader.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+INCLUDEDIR=$1
+shift
+
+for p in $*; do
+ p2=`basename $p`
+ echo Installing $p as $INCLUDEDIR/$p2
+ if [ -f $INCLUDEDIR/$p2 ]; then
+ rm -f $INCLUDEDIR/$p2.old
+ mv $INCLUDEDIR/$p2 $INCLUDEDIR/$p2.old
+ fi
+ cp $p $INCLUDEDIR/
+
+done
+
+cat << EOF
+======================================================================
+The headers are installed. You may restore the old headers (if there
+were any) using the command "make revert". You may uninstall the headers
+using the command "make uninstallheader" or "make uninstall" to uninstall
+binaries, man pages and shell scripts.
+======================================================================
+EOF
+
+exit 0
diff --git a/source4/script/installlib.sh b/source4/script/installlib.sh
new file mode 100755
index 0000000000..4e3d5f62c7
--- /dev/null
+++ b/source4/script/installlib.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+LIBDIR=$1
+
+shift
+
+for p in $*; do
+ p2=`basename $p`
+ echo Installing $p as $LIBDIR/$p2
+ if [ -f $LIBDIR/$p2 ]; then
+ rm -f $LIBDIR/$p2.old
+ mv $LIBDIR/$p2 $LIBDIR/$p2.old
+ fi
+ cp $p $LIBDIR/
+done
+
+cat << EOF
+======================================================================
+The shared libraries are installed. You may restore the old libraries (if there
+were any) using the command "make revert". You may uninstall the libraries
+using the command "make uninstalllib" or "make uninstall" to uninstall
+binaries, man pages and shell scripts.
+======================================================================
+EOF
+
+exit 0
diff --git a/source4/script/uninstallheader.sh b/source4/script/uninstallheader.sh
new file mode 100755
index 0000000000..cb491f071a
--- /dev/null
+++ b/source4/script/uninstallheader.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+# based on uninstallbin.sh:
+# 4 July 96 Dan.Shearer@UniSA.edu.au
+
+INCLUDEDIR=$1
+shift
+
+if [ ! -d $INCLUDEDIR ]; then
+ echo Directory $INCLUDEDIR does not exist!
+ echo Do a "make installbin" or "make install" first.
+ exit 1
+fi
+
+for p in $*; do
+ p2=`basename $p`
+ if [ -f $INCLUDEDIR/$p2 ]; then
+ echo Removing $INCLUDEDIR/$p2
+ rm -f $INCLUDEDIR/$p2
+ if [ -f $INCLUDEDIR/$p2 ]; then
+ echo Cannot remove $INCLUDEDIR/$p2 ... does $USER have privileges?
+ fi
+ fi
+done
+
+
+cat << EOF
+======================================================================
+The headers have been uninstalled. You may restore the headers using
+the command "make installheader" or "make install" to install binaries,
+man pages, modules and shell scripts. You can restore a previous
+version of the headers (if there were any) using "make revert".
+======================================================================
+EOF
+
+exit 0
diff --git a/source4/script/uninstalllib.sh b/source4/script/uninstalllib.sh
new file mode 100755
index 0000000000..9c45b2c941
--- /dev/null
+++ b/source4/script/uninstalllib.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+# based on uninstallbin.sh
+# 4 July 96 Dan.Shearer@UniSA.edu.au
+
+LIBDIR=$1
+shift
+
+if [ ! -d $LIBDIR ]; then
+ echo Directory $LIBDIR does not exist!
+ echo Do a "make installbin" or "make install" first.
+ exit 1
+fi
+
+for p in $*; do
+ p2=`basename $p`
+ if [ -f $LIBDIR/$p2 ]; then
+ echo Removing $LIBDIR/$p2
+ rm -f $LIBDIR/$p2
+ if [ -f $LIBDIR/$p2 ]; then
+ echo Cannot remove $LIBDIR/$p2 ... does $USER have privileges?
+ fi
+ fi
+done
+
+
+cat << EOF
+======================================================================
+The shared libraries have been uninstalled. You may restore the libraries using
+the command "make installlib" or "make install" to install binaries,
+man pages, modules and shell scripts. You can restore a previous
+version of the libraries (if there were any) using "make revert".
+======================================================================
+EOF
+
+exit 0
diff --git a/source4/scripting/ejs/config.mk b/source4/scripting/ejs/config.mk
index bc24671921..f789cbad0e 100644
--- a/source4/scripting/ejs/config.mk
+++ b/source4/scripting/ejs/config.mk
@@ -40,6 +40,6 @@ REQUIRED_SUBSYSTEMS = AUTH EJS LIBBASIC EJSRPC MESSAGING LIBSAMBA3 LIBNET
INSTALLDIR = BINDIR
OBJ_FILES = \
smbscript.o
-REQUIRED_SUBSYSTEMS = EJS LIBBASIC SMBCALLS CONFIG LIBSMB RPC LIBCMDLINE
+REQUIRED_SUBSYSTEMS = EJS LIBBASIC SMBCALLS CONFIG LIBSMB LIBRPC LIBCMDLINE
# End BINARY SMBSCRIPT
#######################
diff --git a/source4/torture/config.mk b/source4/torture/config.mk
index 5c0105c3e2..2ecde30b65 100644
--- a/source4/torture/config.mk
+++ b/source4/torture/config.mk
@@ -252,7 +252,7 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBBASIC \
LIBCMDLINE \
- RPC
+ LIBRPC
MANPAGE = man/gentest.1
# End BINARY gentest
#################################
@@ -268,7 +268,7 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBBASIC \
LIBCMDLINE \
- RPC
+ LIBRPC
MANPAGE = man/masktest.1
# End BINARY masktest
#################################
@@ -285,7 +285,7 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBBASIC \
LIBCMDLINE \
- RPC
+ LIBRPC
MANPAGE = man/locktest.1
# End BINARY locktest
#################################
diff --git a/source4/utils/config.mk b/source4/utils/config.mk
index 11d193e027..ac7739fd4b 100644
--- a/source4/utils/config.mk
+++ b/source4/utils/config.mk
@@ -11,7 +11,7 @@ REQUIRED_SUBSYSTEMS = \
LIBCMDLINE \
LIBBASIC \
NDR_ALL \
- RPC
+ LIBRPC
MANPAGE = man/ndrdump.1
# FIXME: ndrdump shouldn't have to depend on RPC...
# End BINARY ndrdump
@@ -28,7 +28,7 @@ REQUIRED_SUBSYSTEMS = \
LIBCMDLINE \
LIBBASIC \
LIBSMB \
- RPC
+ LIBRPC
MANPAGE = man/ntlm_auth.1
# End BINARY ntlm_auth
#################################
@@ -43,7 +43,7 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
- RPC \
+ LIBRPC \
NDR_XATTR \
EXT_LIB_XATTR
# End BINARY getntacl
@@ -59,7 +59,7 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
- RPC
+ LIBRPC
# End BINARY setntacl
#################################
@@ -73,7 +73,7 @@ REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBCMDLINE \
LIBBASIC \
- RPC \
+ LIBRPC \
NDR_XATTR \
NDR_SAMR
# End BINARY setnttoken