diff options
author | Thorsten Kukuk <kukuk@thkukuk.de> | 2017-03-21 15:14:27 +0100 |
---|---|---|
committer | Thorsten Kukuk <kukuk@thkukuk.de> | 2017-03-21 15:14:27 +0100 |
commit | 1e4d83f6fe38613e6f209ff09dfad8e69a6e1629 (patch) | |
tree | d057ece318f4dd2665e761933db8c552f25a1006 /nis/Makefile | |
parent | 76b2c32a166f4812c0649162c9df99d707779304 (diff) | |
download | glibc-1e4d83f6fe38613e6f209ff09dfad8e69a6e1629.tar.gz |
Deprecate libnsl by default (only shared library will be
build for backward compatibility, no linking possible) and disable building
of libnss_compat, libnss_nis and libnss_nisplus, except --enable-obsolete-nsl
option is given to configure.
* config.h.in: Add LINK_OBSOLETE_NSL.
* config.make.in: Add build-obsolete-nsl.
* configure.ac: Add obsolete-nsl option.
* include/libc-symbols.h: Define libnsl_hidden_nolink_def.
* include/rpcsvc/yp.h: Add missing functions as libnsl_hidden_proto.
* include/rpcsvc/nislib.h: Likewise.
* include/rpcsvc/ypclnt.h: Likewise.
* manual/install.texi: Document --enable-obsolete-nsl.
* nis/Makefile: Build only libnsl by default (add build-obsolete-nsl).
* nis/nis_add.c: Replace libnsl_hidden_def with
libnsl_hidden_nolink_def.
* nis/nis_addmember.c: Likewise.
* nis/nis_call.c: Likewise.
* nis/nis_clone_obj.c: Likewise.
* nis/nis_defaults.c: Likeise.
* nis/nis_domain_of_r.c: Likewise.
* nis/nis_error.c: Likewise.
* nis/nis_file.c: Likewise.
* nis/nis_free.c: Likewise.
* nis_local_names.c: Likewise.
* nis/nis_lookup.c: Likewise.
* nis/nis_modify.c: Likewise.
* nis/nis_print.c: Likewise.
* nis/nis_remove.c: Likewise.
* nis/nis_table.c: Likewise.
* nis/nis_util.c: Likewise.
* nis/nis_xdr.c: Likewise.
* nis/yp_xdr.c: Likewise.
* nis/ypclnt.c: Likewise.
* nis/ypupdate_xdr.c: Likewise.
* nis/nis_checkpoint.c: Add libnsl_hidden_nolink_def to all functions.
* nis/nis_clone_dir.c: Likewise.
* nis/nis_clone_res.c: Likewise.
* nis/nis_creategroup.c: Likewise.
* nis/nis_destroygroup.c: Likewise.
* nis/nis_domain_of.c: Likewise.
* nis/nis_getservlist.c: Likewise.
* nis/nis_ismember.c: Likewise.
* nis/nis_mkdir.c: Likewise.
* nis/nis_ping.c: Likewise.
* nis/nis_print_group_entry.c: Likewise.
* nis/nis_removemember.c: Likewise.
* nis/nis_rmdir.c: Likewise.
* nis/nis_server.c: Likewise.
* nis/nis_subr.c: Likewise.
* nis/nis_verifygroup.c: Likewise.
Signed-off-by: Thorsten Kukuk <kukuk@suse.com>
Diffstat (limited to 'nis/Makefile')
-rw-r--r-- | nis/Makefile | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/nis/Makefile b/nis/Makefile index d6be9e27fd..6b6f5ee72c 100644 --- a/nis/Makefile +++ b/nis/Makefile @@ -24,9 +24,8 @@ include ../Makeconfig aux := nis_hash -ifeq ($(link-obsolete-rpc),yes) +ifeq ($(build-obsolete-nsl),yes) headers := $(wildcard rpcsvc/*.[hx]) -endif # These are the databases available for the nis (and perhaps later nisplus) # service. This must be a superset of the services in nss. @@ -35,15 +34,21 @@ databases = proto service hosts network grp pwd rpc ethers \ # Specify rules for the nss_* modules. services := nis nisplus compat +endif -extra-libs = libnsl $(services:%=libnss_%) +extra-libs = libnsl +ifeq ($(build-obsolete-nsl),yes) +extra-libs += $(services:%=libnss_%) +endif # These libraries will be built in the `others' pass rather than # the `lib' pass, because they depend on libc.so being built already. extra-libs-others = $(extra-libs) +ifeq ($(build-obsolete-nsl),yes) # The sources are found in the appropriate subdir. subdir-dirs = $(services:%=nss_%) vpath %.c $(subdir-dirs) +endif libnsl-routines = yp_xdr ypclnt ypupdate_xdr \ nis_subr nis_local_names nis_free nis_file \ @@ -57,6 +62,7 @@ libnsl-routines = yp_xdr ypclnt ypupdate_xdr \ nis_findserv nis_callback nis_clone_dir nis_clone_obj\ nis_clone_res nss-default +ifeq ($(build-obsolete-nsl),yes) libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes)) @@ -67,14 +73,17 @@ libnss_nis-inhibit-o = $(filter-out .os,$(object-suffixes)) libnss_nisplus-routines := $(addprefix nisplus-,$(databases)) nisplus-parser \ nss-nisplus nisplus-initgroups libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes)) +endif include ../Rules +ifeq ($(build-obsolete-nsl),yes) $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version) $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \ $(common-objpfx)nss/libnss_files.so $(objpfx)libnss_nisplus.so: $(objpfx)libnsl.so$(libnsl.so-version) +endif libnsl-libc = $(common-objpfx)linkobj/libc.so # Target-specific variable setting to link objects using deprecated @@ -87,5 +96,7 @@ $(services:%=$(objpfx)libnss_%.so) $(objpfx)libnsl.so: \ ifeq ($(build-shared),yes) $(others:%=$(objpfx)%): $(objpfx)libnsl.so$(libnsl.so-version) else +ifeq ($(build-obsolete-nsl),yes) $(others:%=$(objpfx)%): $(objpfx)libnsl.a endif +endif |