diff options
-rw-r--r-- | ChangeLog | 50 | ||||
-rw-r--r-- | INSTALL | 17 | ||||
-rw-r--r-- | Makeconfig | 27 | ||||
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | config.make.in | 3 | ||||
-rwxr-xr-x | configure | 287 | ||||
-rw-r--r-- | configure.ac | 268 | ||||
-rw-r--r-- | libidn/configure | 16 | ||||
-rw-r--r-- | manual/Makefile | 9 | ||||
-rw-r--r-- | manual/install.texi | 16 | ||||
-rw-r--r-- | manual/libc-texinfo.sh | 17 | ||||
-rw-r--r-- | manual/maint.texi | 11 | ||||
-rwxr-xr-x | scripts/build-many-glibcs.py | 1 | ||||
-rwxr-xr-x | scripts/gen-sorted.awk | 34 | ||||
-rwxr-xr-x | scripts/test-installation.pl | 3 | ||||
-rw-r--r-- | sysdeps/nptl/Makeconfig | 2 | ||||
-rw-r--r-- | sysdeps/unix/inet/Subdirs | 1 | ||||
-rw-r--r-- | sysdeps/unix/inet/configure | 9 | ||||
-rw-r--r-- | sysdeps/unix/inet/configure.ac (renamed from libidn/configure.ac) | 8 |
20 files changed, 137 insertions, 649 deletions
@@ -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] @@ -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 @@ -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 @@ -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 }' @@ -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@ @@ -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])]) +]) |