mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-04 02:40:06 +00:00
Don't build libnsl for new ABIs
For architectures and ABIs that are added in version 2.29 or later the option --enable-obsolete-nsl is no longer available, and no libnsl compatibility library is built.
This commit is contained in:
parent
f0458cf4f9
commit
462d348caa
18
ChangeLog
18
ChangeLog
@ -1,3 +1,21 @@
|
|||||||
|
2018-09-24 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
* scripts/haveversions.awk: New file.
|
||||||
|
* Makerules ($(common-objpfx)Versions.def)
|
||||||
|
($(common-objpfx)Versions.all, $(common-objpfx)Versions.v.i)
|
||||||
|
($(common-objpfx)sysd-versions, $(common-objpfx)versions.stmp):
|
||||||
|
Move rules ...
|
||||||
|
* Makeconfig ($(common-objpfx)Versions.def)
|
||||||
|
($(common-objpfx)Versions.all, $(common-objpfx)Versions.v.i)
|
||||||
|
($(common-objpfx)sysd-versions, $(common-objpfx)versions.stmp):
|
||||||
|
... here.
|
||||||
|
($(common-objpfx)Versions.mk): New rule. Include it.
|
||||||
|
* nis/Makefile [!have-GLIBC_2.28]: Don't build any targets.
|
||||||
|
Emit error if build-obsolete-nsl = yes.
|
||||||
|
* manual/install.texi (Configuring and compiling): Describe
|
||||||
|
--enable-obsolete-nsl as unavaiable after version 2.28.
|
||||||
|
* INSTALL: Regenerate.
|
||||||
|
|
||||||
2018-09-21 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
2018-09-21 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||||
|
|
||||||
* NEWS: Add note about new TLE support on powerpc64le.
|
* NEWS: Add note about new TLE support on powerpc64le.
|
||||||
|
5
INSTALL
5
INSTALL
@ -227,7 +227,10 @@ if 'CFLAGS' is specified it must enable optimization. For example:
|
|||||||
By default, libnsl is only built as shared library for backward
|
By default, libnsl is only built as shared library for backward
|
||||||
compatibility and the NSS modules libnss_compat, libnss_nis and
|
compatibility and the NSS modules libnss_compat, libnss_nis and
|
||||||
libnss_nisplus are not built at all. Use this option to enable
|
libnss_nisplus are not built at all. Use this option to enable
|
||||||
libnsl with all depending NSS modules and header files.
|
libnsl with all depending NSS modules and header files. For
|
||||||
|
architectures and ABIs that have been added after version 2.28 of
|
||||||
|
the GNU C Library this option is not available, and the libnsl
|
||||||
|
compatibility library is not built.
|
||||||
|
|
||||||
'--disable-crypt'
|
'--disable-crypt'
|
||||||
Do not install the passphrase-hashing library 'libcrypt' or the
|
Do not install the passphrase-hashing library 'libcrypt' or the
|
||||||
|
55
Makeconfig
55
Makeconfig
@ -1157,6 +1157,61 @@ $(common-objpfx)dl-tunable-list.stmp: \
|
|||||||
touch $@
|
touch $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Generate version maps, but wait until sysdep-subdirs is known
|
||||||
|
ifeq ($(sysd-sorted-done),t)
|
||||||
|
ifeq ($(build-shared),yes)
|
||||||
|
-include $(common-objpfx)sysd-versions
|
||||||
|
-include $(common-objpfx)Versions.mk
|
||||||
|
$(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions
|
||||||
|
common-generated += $(version-maps)
|
||||||
|
postclean-generated += sysd-versions Versions.all abi-versions.h \
|
||||||
|
Versions.def Versions.v.i Versions.v Versions.mk
|
||||||
|
|
||||||
|
ifndef avoid-generated
|
||||||
|
ifneq ($(sysd-versions-subdirs),$(sorted-subdirs) $(config-sysdirs))
|
||||||
|
sysd-versions-force = FORCE
|
||||||
|
FORCE:
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(common-objpfx)Versions.def: $(..)scripts/versionlist.awk \
|
||||||
|
$(common-objpfx)Versions.v
|
||||||
|
LC_ALL=C $(AWK) -f $^ > $@T
|
||||||
|
mv -f $@T $@
|
||||||
|
|
||||||
|
$(common-objpfx)Versions.all: $(..)scripts/firstversions.awk \
|
||||||
|
$(common-objpfx)soversions.i \
|
||||||
|
$(common-objpfx)Versions.def
|
||||||
|
{ while read which lib version setname; do \
|
||||||
|
test x"$$which" = xDEFAULT || continue; \
|
||||||
|
test -z "$$setname" || echo "$$lib : $$setname"; \
|
||||||
|
done < $(word 2,$^); \
|
||||||
|
cat $(word 3,$^); \
|
||||||
|
} | LC_ALL=C $(AWK) -f $< > $@T
|
||||||
|
mv -f $@T $@
|
||||||
|
$(common-objpfx)Versions.mk: $(..)scripts/haveversions.awk \
|
||||||
|
$(common-objpfx)Versions.all
|
||||||
|
$(AWK) -f $^ > $@T
|
||||||
|
mv -f $@T $@
|
||||||
|
# See %.v/%.v.i implicit rules in Makeconfig.
|
||||||
|
$(common-objpfx)Versions.v.i: $(wildcard $(subdirs:%=$(..)%/Versions)) \
|
||||||
|
$(wildcard $(sysdirs:%=%/Versions)) \
|
||||||
|
$(sysd-versions-force)
|
||||||
|
$(common-objpfx)sysd-versions: $(common-objpfx)versions.stmp
|
||||||
|
$(common-objpfx)versions.stmp: $(common-objpfx)Versions.all \
|
||||||
|
$(common-objpfx)Versions.v \
|
||||||
|
$(..)scripts/versions.awk
|
||||||
|
( echo 'sysd-versions-subdirs = $(subdirs) $(config-sysdirs)' ; \
|
||||||
|
cat $(word 2,$^) \
|
||||||
|
| LC_ALL=C $(AWK) -v buildroot=$(common-objpfx) -v defsfile=$< \
|
||||||
|
-v move_if_change='$(move-if-change)' \
|
||||||
|
-f $(word 3,$^); \
|
||||||
|
) > $(common-objpfx)sysd-versionsT
|
||||||
|
mv -f $(common-objpfx)sysd-versionsT $(common-objpfx)sysd-versions
|
||||||
|
touch $@
|
||||||
|
endif # avoid-generated
|
||||||
|
endif # $(build-shared) = yes
|
||||||
|
endif # sysd-sorted-done
|
||||||
|
|
||||||
# The name under which the run-time dynamic linker is installed.
|
# The name under which the run-time dynamic linker is installed.
|
||||||
# We are currently going for the convention that `/lib/ld.so.1'
|
# We are currently going for the convention that `/lib/ld.so.1'
|
||||||
# names the SVR4/ELF ABI-compliant dynamic linker.
|
# names the SVR4/ELF ABI-compliant dynamic linker.
|
||||||
|
50
Makerules
50
Makerules
@ -446,56 +446,6 @@ object-suffixes-left := $(all-object-suffixes)
|
|||||||
include $(o-iterator)
|
include $(o-iterator)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Generate version maps, but wait until sysdep-subdirs is known
|
|
||||||
ifeq ($(sysd-sorted-done),t)
|
|
||||||
ifeq ($(build-shared),yes)
|
|
||||||
-include $(common-objpfx)sysd-versions
|
|
||||||
$(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions
|
|
||||||
common-generated += $(version-maps)
|
|
||||||
postclean-generated += sysd-versions Versions.all abi-versions.h \
|
|
||||||
Versions.def Versions.v.i Versions.v
|
|
||||||
|
|
||||||
ifndef avoid-generated
|
|
||||||
ifneq ($(sysd-versions-subdirs),$(sorted-subdirs) $(config-sysdirs))
|
|
||||||
sysd-versions-force = FORCE
|
|
||||||
FORCE:
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(common-objpfx)Versions.def: $(..)scripts/versionlist.awk \
|
|
||||||
$(common-objpfx)Versions.v
|
|
||||||
LC_ALL=C $(AWK) -f $^ > $@T
|
|
||||||
mv -f $@T $@
|
|
||||||
|
|
||||||
$(common-objpfx)Versions.all: $(..)scripts/firstversions.awk \
|
|
||||||
$(common-objpfx)soversions.i \
|
|
||||||
$(common-objpfx)Versions.def
|
|
||||||
{ while read which lib version setname; do \
|
|
||||||
test x"$$which" = xDEFAULT || continue; \
|
|
||||||
test -z "$$setname" || echo "$$lib : $$setname"; \
|
|
||||||
done < $(word 2,$^); \
|
|
||||||
cat $(word 3,$^); \
|
|
||||||
} | LC_ALL=C $(AWK) -f $< > $@T
|
|
||||||
mv -f $@T $@
|
|
||||||
# See %.v/%.v.i implicit rules in Makeconfig.
|
|
||||||
$(common-objpfx)Versions.v.i: $(wildcard $(subdirs:%=$(..)%/Versions)) \
|
|
||||||
$(wildcard $(sysdirs:%=%/Versions)) \
|
|
||||||
$(sysd-versions-force)
|
|
||||||
$(common-objpfx)sysd-versions: $(common-objpfx)versions.stmp
|
|
||||||
$(common-objpfx)versions.stmp: $(common-objpfx)Versions.all \
|
|
||||||
$(common-objpfx)Versions.v \
|
|
||||||
$(..)scripts/versions.awk
|
|
||||||
( echo 'sysd-versions-subdirs = $(subdirs) $(config-sysdirs)' ; \
|
|
||||||
cat $(word 2,$^) \
|
|
||||||
| LC_ALL=C $(AWK) -v buildroot=$(common-objpfx) -v defsfile=$< \
|
|
||||||
-v move_if_change='$(move-if-change)' \
|
|
||||||
-f $(word 3,$^); \
|
|
||||||
) > $(common-objpfx)sysd-versionsT
|
|
||||||
mv -f $(common-objpfx)sysd-versionsT $(common-objpfx)sysd-versions
|
|
||||||
touch $@
|
|
||||||
endif # avoid-generated
|
|
||||||
endif # $(build-shared) = yes
|
|
||||||
endif # sysd-sorted-done
|
|
||||||
|
|
||||||
# Generate .dT files as we compile.
|
# Generate .dT files as we compile.
|
||||||
compile-mkdep-flags = -MD -MP -MF $@.dt -MT $@
|
compile-mkdep-flags = -MD -MP -MF $@.dt -MT $@
|
||||||
compile-command.S = $(compile.S) $(OUTPUT_OPTION) $(compile-mkdep-flags)
|
compile-command.S = $(compile.S) $(OUTPUT_OPTION) $(compile-mkdep-flags)
|
||||||
|
@ -259,6 +259,9 @@ compatibility and the NSS modules libnss_compat, libnss_nis and
|
|||||||
libnss_nisplus are not built at all.
|
libnss_nisplus are not built at all.
|
||||||
Use this option to enable libnsl with all depending NSS modules and
|
Use this option to enable libnsl with all depending NSS modules and
|
||||||
header files.
|
header files.
|
||||||
|
For architectures and ABIs that have been added after version 2.28 of
|
||||||
|
@theglibc{} this option is not available, and the libnsl compatibility
|
||||||
|
library is not built.
|
||||||
|
|
||||||
@item --disable-crypt
|
@item --disable-crypt
|
||||||
Do not install the passphrase-hashing library @file{libcrypt} or the
|
Do not install the passphrase-hashing library @file{libcrypt} or the
|
||||||
|
10
nis/Makefile
10
nis/Makefile
@ -22,6 +22,14 @@ subdir := nis
|
|||||||
|
|
||||||
include ../Makeconfig
|
include ../Makeconfig
|
||||||
|
|
||||||
|
ifndef have-GLIBC_2.28
|
||||||
|
|
||||||
|
ifeq ($(build-obsolete-nsl),yes)
|
||||||
|
$(error --enabe-obsolete-nsl is not available)
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
ifeq ($(build-obsolete-nsl),yes)
|
ifeq ($(build-obsolete-nsl),yes)
|
||||||
headers := $(wildcard rpcsvc/*.[hx])
|
headers := $(wildcard rpcsvc/*.[hx])
|
||||||
|
|
||||||
@ -80,6 +88,8 @@ libnsl-inhibit-o = $(filter-out .os,$(object-suffixes))
|
|||||||
|
|
||||||
endif # not $(build-obsolete-nsl)
|
endif # not $(build-obsolete-nsl)
|
||||||
|
|
||||||
|
endif # have-GLIBC_2.28
|
||||||
|
|
||||||
include ../Rules
|
include ../Rules
|
||||||
|
|
||||||
|
|
||||||
|
23
scripts/haveversions.awk
Normal file
23
scripts/haveversions.awk
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# This script reads the contents of Versions.all and outputs a definition
|
||||||
|
# of variable have-VERSION for each symbol version VERSION which is
|
||||||
|
# defined.
|
||||||
|
#
|
||||||
|
# The have-VERSION variables can be used to check that a port supports a
|
||||||
|
# particular symbol version in makefiles due to its base version. A test
|
||||||
|
# for a compatibility symbol which was superseded with a GLIBC_2.15
|
||||||
|
# version could be tested like this:
|
||||||
|
#
|
||||||
|
# ifdef HAVE-GLIBC_2.14
|
||||||
|
# tests += tst-spawn4-compat
|
||||||
|
# endif # HAVE-GLIBC_2.14
|
||||||
|
#
|
||||||
|
# (NB: GLIBC_2.14 is the symbol version that immediately precedes
|
||||||
|
# GLIBC_2.15.)
|
||||||
|
|
||||||
|
NF == 1 && $1 != "}" {
|
||||||
|
haveversion[$1] = 1
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
for (i in haveversion)
|
||||||
|
printf "have-%s = yes\n", i
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user