From 8ee1ee66edb1c98b63cbc26741080932995156a4 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 26 Oct 2005 14:18:27 +0000 Subject: 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) --- source4/auth/config.mk | 4 +- source4/build/smb_build/config_mk.pm | 3 +- source4/build/smb_build/input.pm | 3 + source4/build/smb_build/makefile.pm | 41 +++++++ source4/dsdb/config.mk | 2 +- source4/lib/ldb/config.mk | 1 + source4/lib/registry/config.m4 | 2 - source4/lib/registry/config.mk | 1 + source4/lib/registry/winregistry.pc.in | 10 -- source4/lib/talloc/config.mk | 1 + source4/lib/tdb/config.mk | 1 + source4/libcli/config.mk | 2 +- source4/librpc/config.mk | 218 +++++++++++++++++---------------- source4/main.mk | 23 +++- source4/rpc_server/config.mk | 2 +- source4/script/installheader.sh | 26 ++++ source4/script/installlib.sh | 26 ++++ source4/script/uninstallheader.sh | 35 ++++++ source4/script/uninstalllib.sh | 35 ++++++ source4/scripting/ejs/config.mk | 2 +- source4/torture/config.mk | 6 +- source4/utils/config.mk | 10 +- 22 files changed, 316 insertions(+), 138 deletions(-) delete mode 100644 source4/lib/registry/winregistry.pc.in create mode 100755 source4/script/installheader.sh create mode 100755 source4/script/installlib.sh create mode 100755 source4/script/uninstallheader.sh create mode 100755 source4/script/uninstalllib.sh 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 -- cgit