aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog50
-rw-r--r--INSTALL17
-rw-r--r--Makeconfig27
-rw-r--r--Makefile3
-rw-r--r--NEWS4
-rw-r--r--config.make.in3
-rwxr-xr-xconfigure287
-rw-r--r--configure.ac268
-rw-r--r--libidn/configure16
-rw-r--r--manual/Makefile9
-rw-r--r--manual/install.texi16
-rw-r--r--manual/libc-texinfo.sh17
-rw-r--r--manual/maint.texi11
-rwxr-xr-xscripts/build-many-glibcs.py1
-rwxr-xr-xscripts/gen-sorted.awk34
-rwxr-xr-xscripts/test-installation.pl3
-rw-r--r--sysdeps/nptl/Makeconfig2
-rw-r--r--sysdeps/unix/inet/Subdirs1
-rw-r--r--sysdeps/unix/inet/configure9
-rw-r--r--sysdeps/unix/inet/configure.ac (renamed from libidn/configure.ac)8
20 files changed, 137 insertions, 649 deletions
diff --git a/ChangeLog b/ChangeLog
index b81a3ec..fc96371 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,53 @@
+2017-10-05 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (--enable-add-ons): Remove option.
+ (machine): Do not mention add-ons in comment.
+ (LIBC_PRECONFIGURE): Likewise.
+ (add_ons): Remove variable and sanity checks and logic to locate
+ add-ons.
+ (add_ons_automatic): Remove variable.
+ (configured_add_ons): Likewise.
+ (add_ons_sfx): Likewise.
+ (add_ons_pfx): Likewise.
+ (add_on_subdirs): Likewise.
+ (sysnames_add_ons): Likewise. Remove loop over add-ons and
+ consideration of add-ons in Implies handling.
+ (sysdeps_add_ons): Likewise.
+ * configure: Regenerated.
+ * libidn/configure.ac: Remove.
+ * libidn/configure: Likewise.
+ * sysdeps/unix/inet/configure.ac: New file.
+ * sysdeps/unix/inet/configure: New generated file.
+ * sysdeps/unix/inet/Subdirs: Add libidn.
+ * Makeconfig (sysdeps-srcdirs): Remove variable.
+ (+sysdep_dirs): Do not include $(sysdeps-srcdirs).
+ ($(common-objpfx)config.status): Do not depend on add-on files.
+ ($(common-objpfx)shlib-versions.v.i): Do not mention add-ons in
+ comment.
+ (all-subdirs): Do not include $(add-on-subdirs).
+ * Makefile (dist-prepare): Do not use $(sysdeps-add-ons).
+ * config.make.in (add-ons): Remove variable.
+ (add-on-subdirs): Likewise.
+ (sysdeps-add-ons): Likewise.
+ * manual/Makefile (add-chapters): Remove.
+ ($(objpfx)texis): Do not depend on $(add-chapters).
+ (nonexamples): Do not handle $(add-chapters).
+ (examples): Do not handle $(add-ons).
+ (chapters.% top-menu.%): Do not pass '$(add-chapters)' to
+ libc-texinfo.sh.
+ * manual/install.texi (Installation): Do not mention add-ons.
+ (--enable-add-ons): Do not document configure option.
+ * INSTALL: Regenerated.
+ * manual/libc-texinfo.sh: Do not handle $2 add-ons argument.
+ * manual/maint.texi (Hierarchy Conventions): Do not mention
+ add-ons.
+ * scripts/build-many-glibcs.py (Glibc.build_glibc): Do not use
+ --enable-add-ons.
+ * scripts/gen-sorted.awk: Do not handle Subdirs files from
+ add-ons.
+ * scripts/test-installation.pl: Do not handle glibc-compat add-on.
+ * sysdeps/nptl/Makeconfig: Do not mention add-ons in comment.
+
2017-10-05 Andreas Schwab <schwab@suse.de>
[BZ #15142]
diff --git a/INSTALL b/INSTALL
index 4d9024c..bc972b2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -5,11 +5,6 @@ Before you do anything else, you should read the FAQ at
<http://sourceware.org/glibc/wiki/FAQ>. It answers common questions and
describes problems you may experience with compilation and installation.
- Features can be added to the GNU C Library via "add-on" bundles.
-These are separate tar files, which you unpack into the top level of the
-source tree. Then you give 'configure' the '--enable-add-ons' option to
-activate them, and they will be compiled into the library.
-
You will need recent versions of several GNU tools: definitely GCC
and GNU Make, and possibly others. *Note Tools for Compilation::,
below.
@@ -69,18 +64,6 @@ will be used, and CFLAGS sets optimization options for the compiler.
this option if you want to compile the GNU C Library with a newer
set of kernel headers than the ones found in '/usr/include'.
-'--enable-add-ons[=LIST]'
- Specify add-on packages to include in the build. If this option is
- specified with no list, it enables all the add-on packages it finds
- in the main source directory; this is the default behavior. You
- may specify an explicit list of add-ons to use in LIST, separated
- by spaces or commas (if you use spaces, remember to quote them from
- the shell). Each add-on in LIST can be an absolute directory name
- or can be a directory name relative to the main source directory,
- or relative to the build directory (that is, the current working
- directory). For example,
- '--enable-add-ons=nptl,../glibc-libidn-VERSION'.
-
'--enable-kernel=VERSION'
This option is currently only useful on GNU/Linux systems. The
VERSION parameter should have the form X.Y.Z and describes the
diff --git a/Makeconfig b/Makeconfig
index 0ceff92..5ff6f2e 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -59,15 +59,7 @@ stack-align-test-flags =
# `configure' writes a definition of `config-sysdirs' in `config.make'.
sysdirs := $(foreach D,$(config-sysdirs),$(firstword $(filter /%,$D) $(..)$D))
-# Add-ons that contribute sysdeps trees get added to the include list
-# after sysdeps/generic. This makes #include <sysdeps/...> work right
-# to find specific add-on files without assuming the add-on directory name.
-# It also means that headers can go into an add-on's base directory
-# instead of the add-on needing a sysdeps/generic of its own.
-sysdeps-srcdirs := $(foreach add-on,$(sysdeps-add-ons),\
- $(firstword $(filter /%,$(add-on)) \
- $(..)$(add-on)))
-+sysdep_dirs = $(sysdirs) $(sysdeps-srcdirs)
++sysdep_dirs = $(sysdirs)
ifdef objdir
+sysdep_dirs := $(objdir) $(+sysdep_dirs)
endif
@@ -81,8 +73,8 @@ $(common-objpfx)config.make: $(common-objpfx)config.status \
$(..)config.make.in $(..)config.h.in
cd $(<D); $(SHELL) $(<F)
-# Find all the add-on and sysdeps configure fragments, to make sure we
-# re-run configure when any of them changes.
+# Find all the sysdeps configure fragments, to make sure we re-run
+# configure when any of them changes.
$(common-objpfx)config.status: $(..)version.h $(..)configure \
$(foreach dir,$(sysdirs),\
$(wildcard $(dir)/Implies) \
@@ -90,14 +82,7 @@ $(common-objpfx)config.status: $(..)version.h $(..)configure \
$(firstword $(wildcard \
$(addprefix $(dir)/,configure configure.ac))))) \
$(patsubst %.ac,%,\
- $(wildcard $(..)sysdeps/*/preconfigure $(..)sysdeps/*/preconfigure.ac)) \
- $(patsubst %.ac,%,\
- $(foreach add-on,$(add-ons),\
- $(firstword $(wildcard \
- $(addprefix $(firstword $(filter /%,$(add-on)) $(..)$(add-on))/,\
- configure configure.ac))) \
- $(wildcard $(addprefix $(firstword $(filter /%,$(add-on)) $(..)$(add-on))/,\
- sysdeps/*/preconfigure sysdeps/*/preconfigure.ac))))
+ $(wildcard $(..)sysdeps/*/preconfigure $(..)sysdeps/*/preconfigure.ac))
@cd $(@D); if test -f $(@F); then exec $(SHELL) $(@F) --recheck; else \
echo The GNU C library has not been configured. >&2; \
echo Run \`configure\' to configure it before building. >&2; \
@@ -1077,8 +1062,6 @@ endif
ifeq ($(sysd-sorted-done),t)
-include $(common-objpfx)soversions.mk
ifndef avoid-generated
-# This lets add-ons give more-specific matches that override defaults
-# in the top-level file.
$(common-objpfx)shlib-versions.v.i: \
$(wildcard $(+sysdep_dirs:=/shlib-versions) \
$(subdir-srcdirs:=/shlib-versions)) \
@@ -1186,7 +1169,7 @@ all-subdirs = csu assert ctype locale intl catgets math setjmp signal \
grp pwd posix io termios resource misc socket sysvipc gmon \
gnulib iconv iconvdata wctype manual shadow gshadow po argp \
crypt localedata timezone rt conform debug mathvec support \
- $(add-on-subdirs) dlfcn elf
+ dlfcn elf
ifndef avoid-generated
# sysd-sorted itself will contain rules making the sysd-sorted target
diff --git a/Makefile b/Makefile
index 3e0ae6f..869fe70 100644
--- a/Makefile
+++ b/Makefile
@@ -351,8 +351,7 @@ files-for-dist := README INSTALL configure ChangeLog NEWS
# Regenerate stuff, then error if these things are not committed yet.
dist-prepare: $(files-for-dist)
- conf=`find sysdeps $(addsuffix /sysdeps,$(sysdeps-add-ons)) \
- -name configure`; \
+ conf=`find sysdeps -name configure`; \
$(MAKE) $$conf && \
git diff --stat HEAD -- $^ $$conf \
| $(AWK) '{ print; rc=1 } END { exit rc }'
diff --git a/NEWS b/NEWS
index a034cd8..464d1ce 100644
--- a/NEWS
+++ b/NEWS
@@ -50,6 +50,10 @@ Deprecated and removed features, and other changes affecting compatibility:
platforms where it was previously the same, this changes the C++ name
mangling for interfaces involving this type.
+* The add-ons mechanism for building additional packages at the same time as
+ glibc has been removed. The --enable-add-ons configure option is now
+ ignored.
+
Changes to build and runtime requirements:
[Add changes to build and runtime requirements here]
diff --git a/config.make.in b/config.make.in
index ea7a42c..fd2dbc9 100644
--- a/config.make.in
+++ b/config.make.in
@@ -90,9 +90,6 @@ build-pic-default= @libc_cv_pic_default@
build-pie-default= @libc_cv_pie_default@
build-profile = @profile@
build-static-nss = @static_nss@
-add-ons = @add_ons@
-add-on-subdirs = @add_on_subdirs@
-sysdeps-add-ons = @sysdeps_add_ons@
cross-compiling = @cross_compiling@
force-install = @force_install@
link-obsolete-rpc = @link_obsolete_rpc@
diff --git a/configure b/configure
index a7c72ea..c2c9c72 100755
--- a/configure
+++ b/configure
@@ -659,7 +659,6 @@ LN_S
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
-sysdeps_add_ons
sysnames
submachine
multi_arch
@@ -667,8 +666,6 @@ no_stack_protector
stack_protector
libc_cv_ssp
base_machine
-add_on_subdirs
-add_ons
have_tunables
build_pt_chown
build_nscd
@@ -771,7 +768,6 @@ enable_timezone_tools
enable_hardcoded_path_in_tests
enable_stackguard_randomization
enable_lock_elision
-enable_add_ons
enable_hidden_plt
enable_bind_now
enable_stack_protector
@@ -806,8 +802,7 @@ CPP
CXX
CXXFLAGS
CCC'
-ac_subdirs_all='
-'
+ac_subdirs_all=''
# Initialize some variables set by options.
ac_init_help=
@@ -1434,9 +1429,6 @@ Optional Features:
number at program start
--enable-lock-elision=yes/no
Enable lock elision for pthread mutexes by default
- --enable-add-ons[=DIRS...]
- configure and build add-ons in DIR1,DIR2,... search
- for add-ons if no parameter given
--disable-hidden-plt do not hide internal function calls to avoid PLT
--enable-bind-now disable lazy relocations in DSOs
--enable-stack-protector=[yes|no|all|strong]
@@ -3415,14 +3407,6 @@ if test "$enable_lock_elision" = yes ; then
fi
-# Check whether --enable-add-ons was given.
-if test "${enable_add_ons+set}" = set; then :
- enableval=$enable_add_ons;
-else
- enable_add_ons=yes
-fi
-
-
# Check whether --enable-hidden-plt was given.
if test "${enable_hidden_plt+set}" = set; then :
enableval=$enable_hidden_plt; hidden=$enableval
@@ -3785,7 +3769,7 @@ config_os="`echo $config_os | sed 's/^unknown-//'`"
# Some configurations imply other options.
elf=yes
-# The configure fragment of an add-on port can modify these to supplement
+# The configure fragment of a port can modify these to supplement
# or override the table in the case statement below. No fragment should
# ever change the config_* variables, however.
machine=$config_machine
@@ -3823,143 +3807,6 @@ $as_echo_n "checking for sysdeps preconfigure fragments... " >&6; }
$as_echo "" >&6; }
fi
-subdirs="$subdirs "
-
-
-case "$enable_add_ons" in
-''|no) add_ons= ;;
-yes|'*')
- add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
- sed 's@/[^/]*$@@' | sort | uniq`
- add_ons_automatic=yes
- ;;
-*) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
- add_ons_automatic=no ;;
-esac
-
-configured_add_ons=
-add_ons_sfx=
-add_ons_pfx=
-if test x"$add_ons" != x; then
- for f in $add_ons; do
- # Some sanity checks
- case "$f" in
- crypt)
- as_fn_error $? "
-*** It seems that you're using an old \`crypt' add-on. crypt is now
-*** part of glibc and using the old add-on will not work with this
-*** release. Start again with fresh sources and without the old
-*** \`crypt' add-on." "$LINENO" 5
- ;;
- localedata)
- as_fn_error $? "
-*** It seems that you're using an old \`localedata' add-on. localedata
-*** is now part of glibc and using the old add-on will not work with
-*** this release. Start again with fresh sources and without the old
-*** \`localedata' add-on." "$LINENO" 5
- ;;
- esac
- done
-
- # Now source each add-on's configure fragment.
- # The fragments can use $srcdir/$libc_add_on to find themselves,
- # and test $add_ons_automatic to see if they were explicitly requested.
- # A fragment can clear (or even change) $libc_add_on to affect
- # whether it goes into the list to be actually used in the build.
- use_add_ons=
- for libc_add_on in $add_ons; do
- # Test whether such a directory really exists.
- # It can be absolute, or relative to $srcdir, or relative to the build dir.
- case "$libc_add_on" in
- /*)
- libc_add_on_srcdir=$libc_add_on
- ;;
- *)
- test -d "$srcdir/$libc_add_on" || {
- if test -d "$libc_add_on"; then
- libc_add_on="`pwd`/$libc_add_on"
- else
- as_fn_error $? "add-on directory \"$libc_add_on\" does not exist" "$LINENO" 5
- fi
- }
- libc_add_on_srcdir=$srcdir/$libc_add_on
- ;;
- esac
-
- libc_add_on_frag=$libc_add_on_srcdir/configure
- libc_add_on_canonical=
- libc_add_on_config_subdirs=
- if test -r "$libc_add_on_frag"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: running configure fragment for add-on $libc_add_on" >&5
-$as_echo "$as_me: running configure fragment for add-on $libc_add_on" >&6;}
- libc_add_on_canonical=unknown
- libc_add_on_subdirs=
- . "$libc_add_on_frag"
- test -z "$libc_add_on" || {
- configured_add_ons="$configured_add_ons $libc_add_on"
- if test "x$libc_add_on_canonical" = xunknown; then
- as_fn_error $? "fragment must set \$libc_add_on_canonical" "$LINENO" 5
- fi
- for d in $libc_add_on_subdirs; do
- case "$libc_add_on" in
- /*) subdir_srcdir="$libc_add_on" ;;
- *) subdir_srcdir="\$(..)$libc_add_on" ;;
- esac
- case "$d" in
- .)
- d="${libc_add_on_canonical:-$libc_add_on}"
- ;;
- /*)
- subdir_srcdir="$d"
- ;;
- *)
- subdir_srcdir="$subdir_srcdir/$d"
- ;;
- esac
- d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
- add_on_subdirs="$add_on_subdirs $d"
- test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
-$d-srcdir = $subdir_srcdir"
- done
- for d in $libc_add_on_config_subdirs; do
- case "$d" in
- /*) as_fn_error $? "fragment uses absolute path in \$libc_add_on_config_subdirs" "$LINENO" 5 ;;
- esac
- if test ! -d "$libc_add_on_srcdir/$d"; then
- as_fn_error $? "fragment wants to configure missing directory $d" "$LINENO" 5
- fi
- case "$libc_add_on" in
- /*) as_fn_error $? "relative path required for add-on using \$libc_add_on_config_subdirs" "$LINENO" 5 ;;
- esac
- subdirs="$subdirs $libc_add_on/$d"
- done
- }
- fi
- if test -n "$libc_add_on"; then
- if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
-then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking add-on $libc_add_on for preconfigure fragments" >&5
-$as_echo_n "checking add-on $libc_add_on for preconfigure fragments... " >&6; }
- for frag in $frags; do
- name=`echo "$frag" | sed 's@/[^/]*$@@;s@^.*/@@'`
- echo $ECHO_N "$name $ECHO_C" >&6
- . "$frag"
- done
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
-$as_echo "" >&6; }
-fi
- use_add_ons="$use_add_ons $libc_add_on"
- add_ons_pfx="$add_ons_pfx $libc_add_on/"
- test -z "$libc_add_on_canonical" ||
- add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
- fi
- done
- # Use echo to strip excess whitespace.
- add_ons="`echo $use_add_ons`"
-fi
-
-
-
###
### By using the undocumented --enable-hacker-mode option for configure
@@ -4231,7 +4078,6 @@ done
# Find what sysdep directories exist.
-sysnames_add_ons=
sysnames=
for b in $base ''; do
for m0 in $mach ''; do
@@ -4240,34 +4086,21 @@ for b in $base ''; do
for o in /$ostry ''; do
test "$o" = / && continue
for m in $mach ''; do
- for d in $add_ons_pfx ''; do
- for a in $add_ons_sfx ''; do
- try_suffix="$m0$b$v$o$m"
- if test -n "$try_suffix"; then
- try_srcdir="${srcdir}/"
- case "$d" in
- /*) try_srcdir= ;;
- esac
- try="${d}sysdeps$try_suffix$a"
- test -n "$enable_debug_configure" &&
- echo "$0 DEBUG: try $try" >&2
- if test -d "$try_srcdir$try"; then
- sysnames="$sysnames $try"
- { test -n "$o" || test -n "$b"; } && os_used=t
- { test -n "$m" || test -n "$m0"; } && machine_used=t
- case x${m0:-$m} in
- x*/$submachine) submachine_used=t ;;
- esac
- if test -n "$d"; then
- case "$sysnames_add_ons" in
- *" $d "*) ;;
- *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
- esac
- fi
- fi
- fi
- done
- done
+ try_suffix="$m0$b$v$o$m"
+ if test -n "$try_suffix"; then
+ try_srcdir="${srcdir}/"
+ try="sysdeps$try_suffix"
+ test -n "$enable_debug_configure" &&
+ echo "$0 DEBUG: try $try" >&2
+ if test -d "$try_srcdir$try"; then
+ sysnames="$sysnames $try"
+ { test -n "$o" || test -n "$b"; } && os_used=t
+ { test -n "$m" || test -n "$m0"; } && machine_used=t
+ case x${m0:-$m} in
+ x*/$submachine) submachine_used=t ;;
+ esac
+ fi
+ fi
done
done
done
@@ -4276,7 +4109,7 @@ done
# If the assembler supports gnu_indirect_function symbol type and the
# architecture supports multi-arch, we enable multi-arch by default.
-case $sysnames_add_ons$sysnames in
+case $sysnames in
*"$multi_arch_d"*)
;;
*)
@@ -4339,24 +4172,15 @@ while test $# -gt 0; do
eval "${implies_type}=\"\$${implies_type} \$name_base/\$x\""
found=yes
fi
- for d in $add_ons_pfx ''; do
- try="${d}sysdeps/$x"
- case $d in
- /*) try_srcdir= ;;
- *) try_srcdir=$srcdir/ ;;
- esac
- test -n "$enable_debug_configure" &&
- echo "DEBUG: $name $implies_file $x try($d) {$try_srcdir}$try" >&2
- if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
- then
- eval "${implies_type}=\"\$${implies_type} \$try\""
- found=yes
- case "$sysnames_add_ons" in
- *" $d "*) ;;
- *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
- esac
- fi
- done
+ try="sysdeps/$x"
+ try_srcdir=$srcdir/
+ test -n "$enable_debug_configure" &&
+ echo "DEBUG: $name $implies_file $x try() {$try_srcdir}$try" >&2
+ if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
+ then
+ eval "${implies_type}=\"\$${implies_type} \$try\""
+ found=yes
+ fi
if test $found = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $name/$implies_file specifies nonexistent $x" >&5
$as_echo "$as_me: WARNING: $name/$implies_file specifies nonexistent $x" >&2;}
@@ -4394,63 +4218,6 @@ sysnames="$names $default_sysnames"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $default_sysnames" >&5
$as_echo "$default_sysnames" >&6; }
-# Collect the list of add-ons that supply partial sysdeps trees.
-sysdeps_add_ons=
-for add_on in $add_ons; do
- case "$add_on" in
- /*) xsrcdir= ;;
- *) xsrcdir="$srcdir/" ;;
- esac
-
- test -d "$xsrcdir$add_on/sysdeps" || {
- case "$configured_add_ons " in
- *" $add_on "*) ;;
- *|'')
- as_fn_error $? "add-on $add_on has no configure fragment or sysdeps tree" "$LINENO" 5
- ;;
- esac
- continue
- }
-
- sysdeps_add_ons="$sysdeps_add_ons $add_on"
- case "$sysnames_add_ons" in
- *" $add_on/ "*) ;;
- *|'')
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: add-on $add_on contributed no sysdeps directories" >&5
-$as_echo "$as_me: WARNING: add-on $add_on contributed no sysdeps directories" >&2;}
- continue ;;
- esac
-
- found=no
- for d in $sysnames; do
- case "$d" in
- $add_on/sysdeps/*) ;;
- *) continue ;;
- esac
- (cd "$xsrcdir$d" && for f in *[!~]; do
- case "$f" in
- sys|bits)
- for ff in $f/*.h; do
- test -d "$ff" || { test -e "$ff" && exit 88; }
- done
- ;;
- *)
- test -d "$f" || { test -e "$f" && exit 88; }
- ;;
- esac
- done)
- if test $? -eq 88; then
- found=yes
- break
- fi
- done
- if test $found = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: add-on $add_on contributed no useful sysdeps directories" >&5
-$as_echo "$as_me: WARNING: add-on $add_on contributed no useful sysdeps directories" >&2;}
- fi
-done
-
-
### Locate tools.
diff --git a/configure.ac b/configure.ac
index 4b83ae5..195e81a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -209,13 +209,6 @@ if test "$enable_lock_elision" = yes ; then
AC_DEFINE(ENABLE_LOCK_ELISION)
fi
-dnl Generic infrastructure for drop-in additions to libc.
-AC_ARG_ENABLE([add-ons],
- AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
- [configure and build add-ons in DIR1,DIR2,...
- search for add-ons if no parameter given]),
- , [enable_add_ons=yes])
-
AC_ARG_ENABLE([hidden-plt],
AC_HELP_STRING([--disable-hidden-plt],
[do not hide internal function calls to avoid PLT]),
@@ -483,7 +476,7 @@ config_os="`echo $config_os | sed 's/^unknown-//'`"
# Some configurations imply other options.
elf=yes
-# The configure fragment of an add-on port can modify these to supplement
+# The configure fragment of a port can modify these to supplement
# or override the table in the case statement below. No fragment should
# ever change the config_* variables, however.
machine=$config_machine
@@ -506,138 +499,9 @@ AC_ARG_WITH([cpu],
# check below.
libc_config_ok=no
-dnl Let sysdeps/*/preconfigure act here, like they can in add-ons.
+dnl Let sysdeps/*/preconfigure act here.
LIBC_PRECONFIGURE([$srcdir], [for sysdeps])
-dnl Having this here, though empty, makes sure that if add-ons' fragments
-dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
-dnl our AC_OUTPUT will actually use it.
-AC_CONFIG_SUBDIRS()
-
-case "$enable_add_ons" in
-''|no) add_ons= ;;
-yes|'*')
- add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
- sed 's@/[[^/]]*$@@' | sort | uniq`
- add_ons_automatic=yes
- ;;
-*) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
- add_ons_automatic=no ;;
-esac
-
-configured_add_ons=
-add_ons_sfx=
-add_ons_pfx=
-if test x"$add_ons" != x; then
- for f in $add_ons; do
- # Some sanity checks
- case "$f" in
- crypt)
- AC_MSG_ERROR([
-*** It seems that you're using an old \`crypt' add-on. crypt is now
-*** part of glibc and using the old add-on will not work with this
-*** release. Start again with fresh sources and without the old
-*** \`crypt' add-on.])
- ;;
- localedata)
- AC_MSG_ERROR([
-*** It seems that you're using an old \`localedata' add-on. localedata
-*** is now part of glibc and using the old add-on will not work with
-*** this release. Start again with fresh sources and without the old
-*** \`localedata' add-on.])
- ;;
- esac
- done
-
- # Now source each add-on's configure fragment.
- # The fragments can use $srcdir/$libc_add_on to find themselves,
- # and test $add_ons_automatic to see if they were explicitly requested.
- # A fragment can clear (or even change) $libc_add_on to affect
- # whether it goes into the list to be actually used in the build.
- use_add_ons=
- for libc_add_on in $add_ons; do
- # Test whether such a directory really exists.
- # It can be absolute, or relative to $srcdir, or relative to the build dir.
- case "$libc_add_on" in
- /*)
- libc_add_on_srcdir=$libc_add_on
- ;;
- *)
- test -d "$srcdir/$libc_add_on" || {
- if test -d "$libc_add_on"; then
- libc_add_on="`pwd`/$libc_add_on"
- else
- AC_MSG_ERROR(add-on directory \"$libc_add_on\" does not exist)
- fi
- }
- libc_add_on_srcdir=$srcdir/$libc_add_on
- ;;
- esac
-
- libc_add_on_frag=$libc_add_on_srcdir/configure
- libc_add_on_canonical=
- libc_add_on_config_subdirs=
- if test -r "$libc_add_on_frag"; then
- AC_MSG_NOTICE(running configure fragment for add-on $libc_add_on)
- libc_add_on_canonical=unknown
- libc_add_on_subdirs=
- . "$libc_add_on_frag"
- test -z "$libc_add_on" || {
- configured_add_ons="$configured_add_ons $libc_add_on"
- if test "x$libc_add_on_canonical" = xunknown; then
- AC_MSG_ERROR(fragment must set \$libc_add_on_canonical)
- fi
- for d in $libc_add_on_subdirs; do
- case "$libc_add_on" in
- /*) subdir_srcdir="$libc_add_on" ;;
- *) subdir_srcdir="\$(..)$libc_add_on" ;;
- esac
- case "$d" in
- .)
- d="${libc_add_on_canonical:-$libc_add_on}"
- ;;
- /*)
- subdir_srcdir="$d"
- ;;
- *)
- subdir_srcdir="$subdir_srcdir/$d"
- ;;
- esac
- d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
- add_on_subdirs="$add_on_subdirs $d"
- test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
-$d-srcdir = $subdir_srcdir"
- done
- for d in $libc_add_on_config_subdirs; do
- case "$d" in
- /*) AC_MSG_ERROR(dnl
-fragment uses absolute path in \$libc_add_on_config_subdirs) ;;
- esac
- if test ! -d "$libc_add_on_srcdir/$d"; then
- AC_MSG_ERROR(fragment wants to configure missing directory $d)
- fi
- case "$libc_add_on" in
- /*) AC_MSG_ERROR(dnl
-relative path required for add-on using \$libc_add_on_config_subdirs) ;;
- esac
- subdirs="$subdirs $libc_add_on/$d"
- done
- }
- fi
- if test -n "$libc_add_on"; then
- LIBC_PRECONFIGURE([$libc_add_on_srcdir], [add-on $libc_add_on for])
- use_add_ons="$use_add_ons $libc_add_on"
- add_ons_pfx="$add_ons_pfx $libc_add_on/"
- test -z "$libc_add_on_canonical" ||
- add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
- fi
- done
- # Use echo to strip excess whitespace.
- add_ons="`echo $use_add_ons`"
-fi
-AC_SUBST(add_ons)
-AC_SUBST(add_on_subdirs)
-
###
### By using the undocumented --enable-hacker-mode option for configure
@@ -853,7 +717,6 @@ dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
changequote([,])dnl
# Find what sysdep directories exist.
-sysnames_add_ons=
sysnames=
for b in $base ''; do
for m0 in $mach ''; do
@@ -862,34 +725,21 @@ for b in $base ''; do
for o in /$ostry ''; do
test "$o" = / && continue
for m in $mach ''; do
- for d in $add_ons_pfx ''; do
- for a in $add_ons_sfx ''; do
- try_suffix="$m0$b$v$o$m"
- if test -n "$try_suffix"; then
- try_srcdir="${srcdir}/"
- case "$d" in
- /*) try_srcdir= ;;
- esac
- try="${d}sysdeps$try_suffix$a"
- test -n "$enable_debug_configure" &&
- echo "$0 [DEBUG]: try $try" >&2
- if test -d "$try_srcdir$try"; then
- sysnames="$sysnames $try"
- { test -n "$o" || test -n "$b"; } && os_used=t
- { test -n "$m" || test -n "$m0"; } && machine_used=t
- case x${m0:-$m} in
- x*/$submachine) submachine_used=t ;;
- esac
- if test -n "$d"; then
- case "$sysnames_add_ons" in
- *" $d "*) ;;
- *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
- esac
- fi
- fi
- fi
- done
- done
+ try_suffix="$m0$b$v$o$m"
+ if test -n "$try_suffix"; then
+ try_srcdir="${srcdir}/"
+ try="sysdeps$try_suffix"
+ test -n "$enable_debug_configure" &&
+ echo "$0 [DEBUG]: try $try" >&2
+ if test -d "$try_srcdir$try"; then
+ sysnames="$sysnames $try"
+ { test -n "$o" || test -n "$b"; } && os_used=t
+ { test -n "$m" || test -n "$m0"; } && machine_used=t
+ case x${m0:-$m} in
+ x*/$submachine) submachine_used=t ;;
+ esac
+ fi
+ fi
done
done
done
@@ -898,7 +748,7 @@ done
# If the assembler supports gnu_indirect_function symbol type and the
# architecture supports multi-arch, we enable multi-arch by default.
-case $sysnames_add_ons$sysnames in
+case $sysnames in
*"$multi_arch_d"*)
;;
*)
@@ -960,24 +810,15 @@ while test $# -gt 0; do
eval "${implies_type}=\"\$${implies_type} \$name_base/\$x\""
found=yes
fi
- for d in $add_ons_pfx ''; do
- try="${d}sysdeps/$x"
- case $d in
- /*) try_srcdir= ;;
- *) try_srcdir=$srcdir/ ;;
- esac
- test -n "$enable_debug_configure" &&
- echo "[DEBUG]: $name $implies_file $x try($d) {$try_srcdir}$try" >&2
- if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
- then
- eval "${implies_type}=\"\$${implies_type} \$try\""
- found=yes
- case "$sysnames_add_ons" in
- *" $d "*) ;;
- *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
- esac
- fi
- done
+ try="sysdeps/$x"
+ try_srcdir=$srcdir/
+ test -n "$enable_debug_configure" &&
+ echo "[DEBUG]: $name $implies_file $x try() {$try_srcdir}$try" >&2
+ if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
+ then
+ eval "${implies_type}=\"\$${implies_type} \$try\""
+ found=yes
+ fi
if test $found = no; then
AC_MSG_WARN($name/$implies_file specifies nonexistent $x)
fi
@@ -1015,61 +856,6 @@ AC_SUBST(sysnames)
# The other names were emitted during the scan.
AC_MSG_RESULT($default_sysnames)
-# Collect the list of add-ons that supply partial sysdeps trees.
-sysdeps_add_ons=
-for add_on in $add_ons; do
- case "$add_on" in
- /*) xsrcdir= ;;
- *) xsrcdir="$srcdir/" ;;
- esac
-
- test -d "$xsrcdir$add_on/sysdeps" || {
- case "$configured_add_ons " in
- *" $add_on "*) ;;
- *|'')
- AC_MSG_ERROR(add-on $add_on has no configure fragment or sysdeps tree)
- ;;
- esac
- continue
- }
-
- sysdeps_add_ons="$sysdeps_add_ons $add_on"
- case "$sysnames_add_ons" in
- *" $add_on/ "*) ;;
- *|'')
- AC_MSG_WARN(add-on $add_on contributed no sysdeps directories)
- continue ;;
- esac
-
- found=no
- for d in $sysnames; do
- case "$d" in
- $add_on/sysdeps/*) ;;
- *) continue ;;
- esac
- (cd "$xsrcdir$d" && for f in *[[!~]]; do
- case "$f" in
- sys|bits)
- for ff in $f/*.h; do
- test -d "$ff" || { test -e "$ff" && exit 88; }
- done
- ;;
- *)
- test -d "$f" || { test -e "$f" && exit 88; }
- ;;
- esac
- done)
- if test $? -eq 88; then
- found=yes
- break
- fi
- done
- if test $found = no; then
- AC_MSG_WARN(add-on $add_on contributed no useful sysdeps directories)
- fi
-done
-AC_SUBST(sysdeps_add_ons)
-
### Locate tools.
diff --git a/libidn/configure b/libidn/configure
deleted file mode 100644
index 8195663..0000000
--- a/libidn/configure
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
-
-libc_add_on_canonical=
-
-if test "$shared" = yes; then :
-
- libc_add_on_subdirs=.
-
- # Get this defined in config.h for main source code to test.
- $as_echo "#define HAVE_LIBIDN 1" >>confdefs.h
-
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libidn add-on ignored with --disable-shared" >&5
-$as_echo "$as_me: WARNING: libidn add-on ignored with --disable-shared" >&2;}
-fi
diff --git a/manual/Makefile b/manual/Makefile
index 4ed63a8..3b4c7c9 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -40,20 +40,18 @@ chapters = $(addsuffix .texi, \
resource setjmp signal startup process ipc job \
nss users sysinfo conf crypt debug threads \
probes tunables)
-add-chapters = $(wildcard $(foreach d, $(add-ons), ../$d/$d.texi))
appendices = lang.texi header.texi install.texi maint.texi platform.texi \
contrib.texi
licenses = freemanuals.texi lgpl-2.1.texi fdl-1.3.texi
-include $(objpfx)texis
-$(objpfx)texis: texis.awk $(chapters) $(add-chapters) $(appendices) $(licenses)
+$(objpfx)texis: texis.awk $(chapters) $(appendices) $(licenses)
$(make-target-directory)
$(AWK) -f $^ > $@.T
mv -f $@.T $@
-nonexamples = $(filter-out $(add-chapters) %.c.texi, $(texis))
-examples = $(filter-out $(foreach d, $(add-ons), ../$d/%.c.texi), \
- $(filter %.c.texi, $(texis)))
+nonexamples = $(filter-out %.c.texi, $(texis))
+examples = $(filter %.c.texi, $(texis))
# Generated files directly included from libc.texinfo.
libc-texi-generated = chapters.texi top-menu.texi dir-add.texi \
@@ -69,7 +67,6 @@ texis-path := $(filter-out $(libc-texi-generated) summary.texi $(examples), \
chapters.% top-menu.%: libc-texinfo.sh $(texis-path) Makefile
AWK=$(AWK) $(SHELL) $< $(objpfx) \
'$(chapters)' \
- '$(add-chapters)' \
'$(appendices) $(licenses)'
diff --git a/manual/install.texi b/manual/install.texi
index 35948b1..96b988e 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -13,11 +13,6 @@ Before you do anything else, you should read the FAQ at
questions and describes problems you may experience with compilation
and installation.
-Features can be added to @theglibc{} via @dfn{add-on} bundles. These are
-separate tar files, which you unpack into the top level of the source
-tree. Then you give @code{configure} the @samp{--enable-add-ons} option
-to activate them, and they will be compiled into the library.
-
You will need recent versions of several GNU tools: definitely GCC and
GNU Make, and possibly others. @xref{Tools for Compilation}, below.
@@ -95,17 +90,6 @@ occasionally happen in this case. You can also use this option if you want to
compile @theglibc{} with a newer set of kernel headers than the ones found in
@file{/usr/include}.
-@item --enable-add-ons[=@var{list}]
-Specify add-on packages to include in the build. If this option is
-specified with no list, it enables all the add-on packages it finds in
-the main source directory; this is the default behavior. You may
-specify an explicit list of add-ons to use in @var{list}, separated by
-spaces or commas (if you use spaces, remember to quote them from the
-shell). Each add-on in @var{list} can be an absolute directory name
-or can be a directory name relative to the main source directory, or
-relative to the build directory (that is, the current working directory).
-For example, @samp{--enable-add-ons=nptl,../glibc-libidn-@var{version}}.
-
@item --enable-kernel=@var{version}
This option is currently only useful on @gnulinuxsystems{}. The
@var{version} parameter should have the form X.Y.Z and describes the
diff --git a/manual/libc-texinfo.sh b/manual/libc-texinfo.sh
index 4d0a522..aea27f9 100644
--- a/manual/libc-texinfo.sh
+++ b/manual/libc-texinfo.sh
@@ -31,26 +31,11 @@ collect_nodes () {
$AWK -f tsort.awk | sed 's/_/ /g'
}
-# Emit "@set ADD-ON" for each add-on contributing a manual chapter.
-for addon in $2; do
- addon=`basename $addon .texi`
- echo >&3 "@set $addon"
-done
-
collect_nodes $1 | build_menu
-if [ -n "$2" ]; then
-
- { echo; echo 'Add-ons'; echo; } >&4
-
- egrep '^(@c )?@node.*Top' `echo $2 /dev/null | tr ' ' '\n' | sort` |
- cut -d, -f1 | sed 's/@c //;s/@node //' | build_menu
-
-fi
-
{ echo; echo 'Appendices'; echo; } >&4
-collect_nodes $3 | build_menu
+collect_nodes $2 | build_menu
exec 3>&- 4>&- 5>&-
diff --git a/manual/maint.texi b/manual/maint.texi
index 473ab16..fce06bf 100644
--- a/manual/maint.texi
+++ b/manual/maint.texi
@@ -381,19 +381,10 @@ identical @file{irix6.2} and @file{irix6.3} directories,
by removing trailing suffixes starting with a period.
As an example, here is the complete list of directories that would be
-tried for the configuration @w{@samp{i686-linux-gnu}} (with the
-@file{crypt} and @file{linuxthreads} add-on):
+tried for the configuration @w{@samp{i686-linux-gnu}}:
@smallexample
sysdeps/i386/elf
-crypt/sysdeps/unix
-linuxthreads/sysdeps/unix/sysv/linux
-linuxthreads/sysdeps/pthread
-linuxthreads/sysdeps/unix/sysv
-linuxthreads/sysdeps/unix
-linuxthreads/sysdeps/i386/i686
-linuxthreads/sysdeps/i386
-linuxthreads/sysdeps/pthread/no-cmpxchg
sysdeps/unix/sysv/linux/i386
sysdeps/unix/sysv/linux
sysdeps/gnu
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 8ce1c6f..a6c01f9 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -1342,7 +1342,6 @@ class Glibc(object):
cmdlist.create_copy_dir(srcdir, srcdir_copy)
cfg_cmd = [os.path.join(srcdir_copy, 'configure'),
'--prefix=/usr',
- '--enable-add-ons',
'--enable-profile',
'--build=%s' % self.ctx.build_triplet,
'--host=%s' % self.triplet,
diff --git a/scripts/gen-sorted.awk b/scripts/gen-sorted.awk
index 922eafc..ecbed9e 100755
--- a/scripts/gen-sorted.awk
+++ b/scripts/gen-sorted.awk
@@ -46,36 +46,10 @@ type == "Subdirs" && NF == 2 && $1 == "inhibit" {
type == "Subdirs" && thisdir {
all[cnt++] = thisdir;
- if (FILENAME ~ (srcpfx ? /^\.\.\/sysdeps\// : /^sysdeps\//) \
- || system("test -d " srcpfx thisdir) == 0) {
- # This Subdirs file is in the main source tree,
- # or this subdirectory exists in the main source tree.
- this_srcdir = srcpfx thisdir
- }
- else {
- # The Subdirs file comes from an add-on that should have the subdirectory.
- dir = FILENAME;
- do
- sub(/\/[^/]+$/, "", dir);
- while (dir !~ /\/sysdeps$/);
- sub(/\/sysdeps$/, "", dir);
- if (system("test -d " dir "/" thisdir) == 0)
- dir = dir "/" thisdir;
- else {
- sub(/\/[^/]+$/, "", dir);
- if (system("test -d " dir "/" thisdir) == 0)
- dir = dir "/" thisdir;
- else {
- print FILENAME ":" FNR ":", "cannot find", thisdir > "/dev/stderr";
- exit 2
- }
- }
- file = dir "/Depend";
- if (srcpfx)
- sub(/^\.\.\//, "", dir);
- if (dir !~ /^\/.*$/)
- dir = "$(..)" dir;
- print thisdir "-srcdir", ":=", dir;
+ this_srcdir = srcpfx thisdir
+ if (system("test -d " this_srcdir) != 0) {
+ print FILENAME ":" FNR ":", "cannot find", this_srcdir > "/dev/stderr";
+ exit 2
}
file = this_srcdir "/Depend";
if (system("test -f " file) == 0) {
diff --git a/scripts/test-installation.pl b/scripts/test-installation.pl
index c5b9fde..45c666b 100755
--- a/scripts/test-installation.pl
+++ b/scripts/test-installation.pl
@@ -116,14 +116,13 @@ while (<SOVERSIONS>) {
# Filter out some libraries we don't want to link:
# - nss_ldap since it's not yet available
# - libdb1 since it conflicts with libdb
- # - libnss1_* from glibc-compat add-on
# - libthread_db since it contains unresolved references
# - it's just a test NSS module
# - We don't provide the libgcc so we don't test it
# - libmvec if it wasn't built
next if ($build_mathvec == 0 && $name eq "mvec");
if ($name ne "nss_ldap" && $name ne "db1"
- && !($name =~/^nss1_/) && $name ne "thread_db"
+ && $name ne "thread_db"
&& $name ne "nss_test1" && $name ne "libgcc_s") {
$link_libs .= " -l$name";
$versions{$name} = $version;
diff --git a/sysdeps/nptl/Makeconfig b/sysdeps/nptl/Makeconfig
index d31b776..3516d51 100644
--- a/sysdeps/nptl/Makeconfig
+++ b/sysdeps/nptl/Makeconfig
@@ -16,7 +16,7 @@
# License along with the GNU C Library; if not, see
# <http://www.gnu.org/licenses/>.
-# Makeconfig fragment for NPTL add-on.
+# Makeconfig fragment for NPTL.
# This gets included at the end of the main glibc Makeconfig.
have-thread-library = yes
diff --git a/sysdeps/unix/inet/Subdirs b/sysdeps/unix/inet/Subdirs
index 0a02dd4..1223e43 100644
--- a/sysdeps/unix/inet/Subdirs
+++ b/sysdeps/unix/inet/Subdirs
@@ -6,3 +6,4 @@ nis
nscd
nss
streams
+libidn
diff --git a/sysdeps/unix/inet/configure b/sysdeps/unix/inet/configure
new file mode 100644
index 0000000..fd0afad
--- /dev/null
+++ b/sysdeps/unix/inet/configure
@@ -0,0 +1,9 @@
+# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
+
+if test "$shared" = yes; then :
+
+ # Get this defined in config.h for main source code to test.
+ $as_echo "#define HAVE_LIBIDN 1" >>confdefs.h
+
+
+fi
diff --git a/libidn/configure.ac b/sysdeps/unix/inet/configure.ac
index 16740ff..e9b3443 100644
--- a/libidn/configure.ac
+++ b/sysdeps/unix/inet/configure.ac
@@ -1,11 +1,7 @@
-dnl glibc configure fragment for libidn add-on
+dnl glibc configure fragment for sysdeps/unix/inet.
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-libc_add_on_canonical=
-
AS_IF([test "$shared" = yes], [
- libc_add_on_subdirs=.
-
# Get this defined in config.h for main source code to test.
AC_DEFINE([HAVE_LIBIDN])
-], [AC_MSG_WARN([libidn add-on ignored with --disable-shared])])
+])