This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: cross-compilation fails


On Fri, 12 Jun 1998 14:25:35 -0400 (EDT), Elliot Lee wrote:
>
>As for configparms not taking effect, perhaps that info should be used by
>autoconf-generated scripts (./configure) as if it were part of the
>config.cache, as well as by the Makefile's. Something like
>	[ -f "configparms" ] && . configparms
>near the top of configure.in might do the trick...?

This is something we've meant to do for awhile.  It's a lot more
complicated than the above, but the appended patch should do the
trick.  It's against the very latest development tree, but should
apply to recent snapshots with some fuzz.  I'd appreciate your testing
it on your cross-compilation arrangement.  Note that you'll have to
regenerate sysdeps/unix/sysv/linux/configure as well as the top-level
configure; the proper incantation from the sysdeps/.../linux directory
is `autoconf -l ../../..'

Uli: This doesn't break anything I can test (make, make check, make
install) and it fixes several bugs: the one Elliot reported, and also
that the autoconf switches for setting install directories didn't
work, and that the documentation claimed configparms worked like this
patch makes it work.

It's rather long, but most of that is rearranging configure.in.

zw

1998-06-13 19:29 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* configure.in: Read configparms for additional configuration
	options, just after the command-line options are parsed.
	Rearrange option handling code to work with this.  
	Shorten names of some configuration variables.  Rename
	--disable-sanity-checks to --disable-threads, which is clearer.

	* config.make.in: Add many variables to be substituted: all
	the standard installation directories, and all the parameters
	that can be set through configparms.

	* Makeconfig:  Don't include configparms; configure does
	that.  Strip out all the code that sets default values for
	variables guaranteed to be defined in config.make.  
	Have config.status depend on configparms if configparms exists.

	Delete pre-autoconf directory selection code.  Delete code to
	work around bugs in ancient versions of Make.

	* sysdeps/unix/sysv/linux/configure.in: Update for
	changed variable names in top-level configure.

	* configparms: New file; template.  Users should copy into
	build tree and edit.

============================================================
Index: Makeconfig
--- Makeconfig	1998/06/08 18:58:56	1.190
+++ Makeconfig	1998/06/13 23:27:13
@@ -33,31 +33,6 @@
 .. := ../
 endif
 
-# If config.make exists, the source directory was configured,
-# so don't try to be clever and find another directory to build in.
-ifneq (,$(wildcard $(..)config.make))
-ARCH =
-machine =
-else	# Not configured.
-ifndef ARCH
-ifdef machine
-ARCH = $(machine)
-endif # machine
-endif # ARCH
-endif # config.make
-
-# Directory for object files and libc.a.  If this is not defined, the
-# object files live in the subdirectories where their sources live, and
-# libc.a lives in the parent directory (this probably doesn't work any
-# more).
-ifdef ARCH
-ifeq ($(filter /%,$(ARCH)),)
-objdir := $(..)$(ARCH)
-else
-objdir = $(ARCH)
-endif
-endif
-
 # $(common-objdir) is the place to put objects and
 # such that are not specific to a single subdir.
 ifdef objdir
@@ -77,25 +52,13 @@
 endif
 
 # Root of the sysdeps tree.
-sysdep_dir := $(..)sysdeps
-export sysdep_dir := $(sysdep_dir)
+export sysdep_dir := $(..)sysdeps
 
 # Get the values defined by options to `configure'.
 include $(common-objpfx)config.make
 
-# We have a special subdir for each binary format.
-# For now, only ELF is fully supported.
-ifeq ($(elf),yes)
-binfmt-subdir = elf
-else
-# This is probably better than nothing.
-binfmt-subdir = aout
-endif
-
 # Complete path to sysdep dirs.
-full-config-sysdirs := $(filter /%, $(config-sysdirs)) \
-		       $(addprefix $(..), $(filter-out /%, $(config-sysdirs)))
-export full-config-sysdirs := $(full-config-sysdirs)
+export full-config-sysdirs := $(addprefix $(..), $(config-sysdirs))
 
 # Run config.status to update config.make and config.h.  We don't show the
 # dependence of config.h to Make, because it is only touched when it
@@ -109,6 +72,7 @@
 # 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 \
+			       $(wildcard $(common-objpfx)configparms) \
 			       $(foreach dir,$(full-config-sysdirs),\
 					 $(wildcard \
 					   $(dir)/Implies) \
@@ -124,129 +88,44 @@
 # We don't want CPPFLAGS to be exported to the command running configure.
 unexport CPPFLAGS
 
-# Get the user's configuration parameters.
-ifneq ($(wildcard $(..)configparms),)
-include $(..)configparms
-endif
-ifneq ($(objpfx),)
-ifneq ($(wildcard $(common-objpfx)configparms),)
-include $(common-objpfx)configparms
-endif
-endif
-
-####
-####	These are the configuration variables.  You can define values for
-####	the variables below in the file `configparms'.
-####	Do NOT edit this file.
-####
-
-
-# Set this to either `stdio' or `libio', to compile in either GNU stdio
-# or GNU libio.
-ifndef stdio
-stdio = stdio
-endif
-
-# Common prefix for machine-independent installation directories.
-ifeq ($(origin prefix),undefined) # ifndef would override explicit empty value.
-prefix = /usr/local
-endif
-
-# Decide whether we shall build the programs or not.  We always do this
-# unless the user tells us (in configparms) or we are building for a
-# standalone target.
-ifndef build-programs
-ifneq ($(config-os),none)
-build-programs=yes
-else
-build-programs=no
-endif
-endif
-
-# Common prefix for machine-dependent installation directories.
-ifeq ($(origin exec_prefix),undefined)
-exec_prefix = $(prefix)
-endif
-
 # Where to install the library and object files.
-ifndef libdir
-libdir = $(exec_prefix)/lib
-endif
 inst_libdir = $(install_root)$(libdir)
 
 # Where to install the shared library and dynamic linker.
-ifndef slibdir
-slibdir = $(exec_prefix)/lib
-endif
 inst_slibdir = $(install_root)$(slibdir)
 
-# Prefix to put on files installed in $(libdir).  For libraries `libNAME.a',
-# the prefix is spliced between `lib' and the name, so the linker switch
-# `-l$(libprefix)NAME' finds the library; for other files the prefix is
-# just prepended to the whole file name.
-ifeq ($(origin libprefix),undefined)
-libprefix =
-endif
-
 # Where to install the header files.
-ifndef includedir
-includedir = $(exec_prefix)/include
-endif
 inst_includedir = $(install_root)$(includedir)
 
 # Where to install machine-independent data files.
 # These are the timezone database, and the locale database.
-ifndef datadir
-datadir = $(prefix)/share
-endif
 inst_datadir = $(install_root)$(datadir)
 
 # Where to install the timezone data files (which are machine-independent).
-ifndef zonedir
 zonedir = $(datadir)/zoneinfo
-endif
 inst_zonedir = $(install_root)$(zonedir)
 
 # Where to install the locale and message catalog data files (which are
 # machine-independent).
-ifndef localedir
 localedir = $(datadir)/locale
-endif
 inst_localedir = $(install_root)$(localedir)
 
 # Where to install the locale charmap source files.
-ifndef i18ndir
 i18ndir = $(datadir)/i18n
-endif
 inst_i18ndir = $(install_root)$(i18ndir)
 
-# Where to install the shared object for charset transformation.
-ifndef gconvdir
+# Where to install the shared objects for charset transformation.
 gconvdir = $(libdir)/gconv
-endif
 inst_gconvdir = $(install_root)$(gconvdir)
 
 # Where to install programs.
-ifndef bindir
-bindir = $(exec_prefix)/bin
-endif
 inst_bindir = $(install_root)$(bindir)
 
 # Where to install internal programs.
-ifndef libexecdir
-libexecdir = $(exec_prefix)/libexec
-endif
 inst_libexecdir = $(install_root)$(libexecdir)
 
 # Where to install administrative programs.
-ifndef rootsbindir
-rootsbindir = $(exec_prefix)/sbin
-endif
 inst_rootsbindir = $(install_root)$(rootsbindir)
-
-ifndef sbindir
-sbindir = $(exec_prefix)/sbin
-endif
 inst_sbindir = $(install_root)$(sbindir)
 
 # Where to install the Info files.
@@ -257,55 +136,17 @@
 
 # Where to install default configuration files.  These include the local
 # timezone specification and network data base files.
-ifndef sysconfdir
-sysconfdir = $(prefix)/etc
-endif
 inst_sysconfdir = $(install_root)$(sysconfdir)
 
-# What timezone should be the installed default (e.g., US/Eastern).
-# Run `make -C time echo-zonenames' to see a list of available zone names.
-# The local timezone can be changed with `zic -l TIMEZONE' at any time.
-ifndef localtime
-localtime = Factory
-endif
-
 # Where to install the "localtime" timezone file; this is the file whose
-# contents $(localtime) specifies.  If this is a relative pathname, it is
-# relative to $(zonedir).  It is a good idea to put this somewhere
-# other than there, so the zoneinfo directory contains only universal data,
-# localizing the configuration data elsewhere.
-ifndef localtime-file
+# contents $(localtime) specifies.
 localtime-file = $(sysconfdir)/localtime
 inst_localtime-file = $(install_root)$(localtime-file)
-endif
 
-# What to use for leap second specifications in compiling the default
-# timezone files.  Set this to `/dev/null' for no leap second handling as
-# 1003.1 requires, or to `leapseconds' for proper leap second handling.
-# Both zone flavors are always available as `posix/ZONE' and `right/ZONE'.
-# This variable determines the default: if it's `/dev/null',
-# ZONE==posix/ZONE; if it's `leapseconds', ZONE==right/ZONE.
-ifndef leapseconds
-leapseconds = /dev/null
-endif
-
-# What timezone's DST rules should be used when a POSIX-style TZ
-# environment variable doesn't specify any rules.  For 1003.1 compliance
-# this timezone must use rules that are as U.S. federal law defines DST.
-# Run `make -C time echo-zonenames' to see a list of available zone names.
-# This setting can be changed with `zic -p TIMEZONE' at any time.
-# If you want POSIX.1 compatibility, use `America/New_York'.
-ifndef posixrules
-posixrules = America/New_York
-endif
-
 # Where to install the "posixrules" timezone file; this is file
 # whose contents $(posixrules) specifies.  If this is a relative
 # pathname, it is relative to $(zonedir).
-ifndef posixrules-file
 posixrules-file = posixrules
-endif
-
 
 # Directory where your system's native header files live.
 # This is used on Unix systems to generate some GNU libc header files.
@@ -313,49 +154,8 @@
 sysincludedir = /usr/include
 endif
 
-
-# Commands to install files.
-ifndef INSTALL_DATA
-INSTALL_DATA = $(INSTALL) -m 644
-endif
-ifndef INSTALL_PROGRAM
-INSTALL_PROGRAM = $(INSTALL)
-endif
-ifndef INSTALL
-INSTALL = install
-endif
-
-
-# The name of the C compiler.
-# If you've got GCC, and it works, use it.
-ifeq ($(origin CC),default)
-CC := gcc
-endif
-
-# The name of the C compiler to use for compilations of programs to run on
-# the host that is building the library.  If you set CC to a
-# cross-compiler, you must set this to the normal compiler.
-ifndef BUILD_CC
-BUILD_CC = $(CC)
-endif
-
 # Default flags to pass the C compiler.
-ifndef default_cflags
 default_cflags := -g -O
-endif
-
-# Flags to pass the C compiler when assembling preprocessed assembly code
-# (`.S' files).  On some systems the assembler doesn't understand the `#' line
-# directives the preprocessor produces.  If you have troubling compiling
-# assembly code, try using -P here to suppress these directives.
-ifndef asm-CPPFLAGS
-asm-CPPFLAGS =
-endif
-
-# ELF always supports init/fini sections
-ifeq ($(elf),yes)
-have-initfini = yes
-endif
 
 # Installed name of the startup code.
 ifneq ($(have-initfini),yes)
@@ -367,6 +167,10 @@
 start-installed-name = crt1.o
 endif
 
+# If binfmt is elf, different rules apply.
+ifeq ($(binfmt-subdir),elf)
+elf = yes
+endif
 
 # Command for linking programs with the C library.
 ifndef +link
@@ -480,10 +284,6 @@
 endef
 endif
 
-ifndef LD
-LD := ld -X
-endif
-
 ifndef	RANLIB
 RANLIB = ranlib
 endif
@@ -512,13 +312,6 @@
 else
 +force =
 endif
-
-####
-#### End of configuration variables.
-####
-
-# This tells some versions of GNU make before 3.63 not to export all variables.
-.NOEXPORT:
 
 # We want to echo the commands we're running without
 # umpteen zillion filenames along with it (we use `...' instead)
============================================================
Index: config.make.in
--- config.make.in	1998/05/15 14:35:58	1.55
+++ config.make.in	1998/06/13 23:27:13
@@ -9,11 +9,24 @@
 install_root =
 prefix = @prefix@
 exec_prefix = @exec_prefix@
-slibdir = @libc_cv_slibdir@
-sysconfdir = @libc_cv_sysconfdir@
+libprefix = @libprefix@
+libdir = @libdir@
+slibdir = @slibdir@
+includedir = @includedir@
+datadir = @datadir@
+bindir = @bindir@
+sysconfdir = @sysconfdir@
 libexecdir = @libexecdir@
-rootsbindir = @libc_cv_rootsbindir@
+rootsbindir = @rootsbindir@
+sbindir = @sbindir@
+infodir = @infodir@
+
+# Time zone tuning parameters.
+localtime = @localtime@
+leapseconds = @leapseconds@
+posixrules = @posixrules@
 
+
 # If ldconfig exists.  This will go away as soon as `ldconfig' is available
 # in GNU libc.
 has-ldconfig = @has_ldconfig@
@@ -31,7 +44,6 @@
 defines = @DEFINES@
 sysincludes = @SYSINCLUDES@
 
-elf = @elf@
 have-initfini = @libc_cv_have_initfini@
 need-nopic-initfini = @nopic_initfini@
 with-cvs = @with_cvs@
@@ -53,7 +65,9 @@
 build-omitfp = @omitfp@
 build-bounded = @bounded@
 build-static-nss = @static_nss@
+build-programs = @build_programs@
 stdio = @stdio@
+binfmt-subdir = @binfmt@
 add-ons = @subdirs@
 cross-compiling = @cross_compiling@
 force-install = @force_install@
============================================================
Index: configure.in
--- configure.in	1998/06/12 07:28:11	1.219
+++ configure.in	1998/06/13 23:27:13
@@ -8,103 +8,135 @@
 # This will get text that should go into config.make.
 config_vars=
 
-# Check for a --with-gmp argument and set gmp-srcdir in config.make.
-AC_ARG_WITH(gmp, dnl
-  --with-gmp=DIRECTORY	  find GMP source code in DIRECTORY (not needed),
-	    [dnl
-case "$with_gmp" in
-yes) AC_MSG_ERROR(--with-gmp requires an argument; use --with-gmp=DIRECTORY) ;;
-''|no) ;;
-*) config_vars="$config_vars
-gmp-srcdir = $withval" ;;
-esac
-])
-# Check for a --with-gettext argument and set gettext-srcdir in config.make.
-AC_ARG_WITH(gettext, dnl
-  --with-gettext=DIR	  find GNU gettext source code in DIR (not needed),
-	    [dnl
-case "$with_gettext" in
-yes)
-  AC_MSG_ERROR(--with-gettext requires an argument; use --with-gettext=DIR) ;;
-''|no) ;;
-*)
-  config_vars="$config_vars
-gettext-srcdir = $withval" ;;
-esac
-])
-
 dnl Arguments to specify presence of other packages/features.
 AC_ARG_WITH(fp, dnl
-[  --with-fp		  if using floating-point hardware [default=yes]],
-	    with_fp=$withval, with_fp=yes)
+[  --with-fp		  if using floating-point hardware [default=yes]],,
+with_fp=yes)
 AC_ARG_WITH(binutils, dnl
-  --with-binutils=PATH	  specify location of binutils (as and ld),
-	    path_binutils=$withval, path_binutils='')
+  --with-binutils=PATH	  specify location of binutils (as and ld))
 AC_ARG_WITH(elf, dnl
-  --with-elf		  if using the ELF object format,
-	    elf=$withval, elf=no)
+  --with-elf		  if using the ELF object format,,with_elf=no)
 AC_ARG_WITH(cvs, dnl
-[  --without-cvs	  if CVS should not be used],
-	    with_cvs=$withval, with_cvs=yes)
+[  --without-cvs	  if CVS should not be used],,with_cvs=yes)
 AC_SUBST(with_cvs)
-
 AC_ARG_WITH(headers, dnl
 [  --with-headers=PATH     location of system headers to use
                           [e.g. /usr/src/linux/include]
-                          [default=compiler default]],
-	    sysheaders=$withval, sysheaders='')
+                          [default=compiler default]])
 
 AC_ARG_ENABLE(libio, dnl
-[  --enable-libio          build in GNU libio instead of GNU stdio],
- 	      [if test $enableval = yes; then
-	         stdio=libio
-	       else
-	         stdio=stdio
-	       fi],
-	      stdio=default)
-
-AC_ARG_ENABLE(sanity-checks, dnl
-[  --disable-sanity-checks really do not use threads (should not be used
-			  except in special situations) [default=yes]],
-              enable_sanity=$enableval, enable_sanity=yes)
+[  --enable-libio          build in GNU libio instead of GNU stdio],,
+enable_libio=default)
 
+AC_ARG_ENABLE(threads, dnl
+[  --disable-threads      really do not use threads (should not be used
+			  except in special situations)],,
+enable_threads=yes)
+
 dnl Arguments to enable or disable building the static, shared, profiled,
 dnl and -fomit-frame-pointer libraries.
 AC_ARG_ENABLE(static, dnl
-[  --enable-static         build static library [default=yes]],
-	      static=$enableval, static=yes)
+[  --enable-static         build static library [default=yes]],,
+enable_static=yes)
 AC_ARG_ENABLE(shared, dnl
-[  --enable-shared         build shared library [default=yes if GNU ld & ELF]],
-	      shared=$enableval, shared=default)
+[  --enable-shared         build shared library [default=yes if possible]],,
+enable_shared=default)
 AC_ARG_ENABLE(profile, dnl
-[  --enable-profile        build profiled library [default=yes]],
-	      profile=$enableval, profile=yes)
+[  --enable-profile        build profiled library [default=yes]],,
+enable_profile=yes)
 AC_ARG_ENABLE(omitfp, dnl
-[  --enable-omitfp         build undebuggable optimized library [default=no]],
-	      omitfp=$enableval, omitfp=no)
+[  --enable-omitfp         build undebuggable optimized library [default=no]],,
+enable_omitfp=no)
 AC_ARG_ENABLE(bounded, dnl
-[  --enable-bounded        build with runtime bounds checking [default=no]],
-	      bounded=$enableval, bounded=no)
+[  --enable-bounded        build with runtime bounds checking [default=no]],,
+enable_bounded=no)
 AC_ARG_ENABLE(versioning, dnl
 [  --disable-versioning    do not include versioning information in the
-                          library objects [default=yes if supported]],
-             enable_versioning=$enableval, enable_versioning=yes)
+                          library objects [default=yes if supported]],,
+enable_versioning=yes)
+AC_ARG_ENABLE(programs, dnl
+[  --disable-programs      do not build auxiliary programs provided with
+			   libc [default=yes unless standalone]],,
+enable_programs=yes)
 
 dnl Generic infrastructure for drop-in additions to libc.
 AC_ARG_ENABLE(add-ons, dnl
 [  --enable-add-ons[=DIR1,DIR2]...
 			  configure and build add-ons in DIR1,DIR2,...
-                          search for add-ons if no parameter given],
-  [case "$enableval" in
+                          search for add-ons if no parameter given])
+
+dnl On some platforms we cannot use dynamic loading.  We must provide
+dnl static NSS modules.
+AC_ARG_ENABLE(static-nss, dnl
+[  --enable-static-nss     build static NSS modules [default=no]],,
+enable_static_nss=no)
+
+AC_ARG_ENABLE(force-install,
+[  --disable-force-install don't force installation of files from this package,
+			  even if they are older than the installed files],,
+enable_force_install=yes)
+
+# These are settable only in configparms.  Give defaults.
+slibdir='${exec_prefix}/lib'	AC_SUBST(slibdir)
+rootsbindir=$sbindir		AC_SUBST(rootsbindir)
+localtime=Factory		AC_SUBST(localtime)
+leapseconds=/dev/null		AC_SUBST(leapseconds)
+posixrules=America/New_York	AC_SUBST(posixrules)
+
+# Read configparms for overrides.  Configparms is only honored if it's
+# in the build directory.
+# FIXME: command line switches should win.  (Would require major changes to
+# the guts of autoconf.)
+if test -f configparms; then
+  . ./configparms
+fi
+
+# Check for a --with-gmp argument and set gmp-srcdir in config.make.
+case "$with_gmp" in
+yes) AC_MSG_ERROR(--with-gmp requires an argument; use --with-gmp=DIRECTORY) ;;
+''|no) ;;
+*) config_vars="$config_vars
+gmp-srcdir = $with_gmp" ;;
+esac
+
+# Check for a --with-gettext argument and set gettext-srcdir in config.make.
+case "$with_gettext" in
+yes)
+  AC_MSG_ERROR(--with-gettext requires an argument; use --with-gettext=DIR) ;;
+''|no) ;;
+*)
+  config_vars="$config_vars
+gettext-srcdir = $with_gettext" ;;
+esac
+
+# This is too obscure to be in --help text.  It's documented in configparms.
+libprefix=$with_libprefix	AC_SUBST(libprefix)
+
+path_binutils=$with_binutils
+elf=$with_elf
+sysheaders=$with_headers
+
+case $enable_libio in
+ yes)	  stdio=libio;;
+ no)	  stdio=stdio;;
+ default) stdio=default;;
+esac
+
+static=$enable_static	AC_SUBST(static)
+shared=$enable_shared	AC_SUBST(shared)
+profile=$enable_profile	AC_SUBST(profile)
+omitfp=$enable_omitfp	AC_SUBST(omitfp)
+bounded=$enable_bounded	AC_SUBST(bounded)
+
+case "$enable_add_ons" in
     yes) if test "$srcdir" = "."; then
 	   add_ons=`echo */configure | sed -e 's!/configure!!g'`
 	 else
 	   add_ons=`echo $srcdir/*/configure | \
 		    sed -e 's!/configure!!g' -e "s!$srcdir/!!g"`
 	 fi;;
-    *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
-   esac],
-  [add_ons=])
+    *) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`;;
+esac
 
 AC_CONFIG_SUBDIRS($add_ons)
 add_ons_pfx=
@@ -119,20 +151,12 @@
   done
 fi
 
-dnl On some platforms we cannot use dynamic loading.  We must provide
-dnl static NSS modules.
-AC_ARG_ENABLE(static-nss, dnl
-[  --enable-static-nss     build static NSS modules [default=no]],
-	      static_nss=$enableval, static_nss=no)
+static_nss=$enable_static_nss  AC_SUBST(static_nss)
 if test x"$static_nss" = xyes; then
   AC_DEFINE(DO_STATIC_NSS)
 fi
 
-AC_ARG_ENABLE(force-install,
-[  --disable-force-install don't force installation of files from this package,
-			  even if they are older than the installed files],
-	      force_install=$enableval, force_install=yes)
-AC_SUBST(force_install)
+force_install=$enable_force_install  AC_SUBST(force_install)
 
 AC_CANONICAL_HOST
 
@@ -454,6 +478,14 @@
   [version \([egcst0-9.-]*\)],
   [egcs-2.91.*|egcs-2.90.2[789]|egcs-2.90.[3-9][0-9]|*2.8.[1-9]*|*2.9.[0-9]*],
   critic_missing=t)
+if test -n "$ac_tool_prefix"; then
+AC_CHECK_PROG_VER(BUILD_CC, gcc cc, -v,
+  [version \([egcst0-9.-]*\)],
+  [egcs-2.91.*|egcs-2.90.2[789]|egcs-2.90.[3-9][0-9]|*2.8.[1-9]*|*2.9.[0-9]*],
+  critic_missing=t)
+else
+  BUILD_CC=$CC
+fi
 AC_CHECK_PROG_VER(MAKE, make gmake, --version,
   [version \([0-9][0-9.]*\), by],
   [3.75 | 3.76.[1-9]* | 3.7[789]* | 3.[89]*], critic_missing=t)
@@ -767,18 +799,22 @@
   fi
 fi
 
-if test $elf != yes; then
+if test $elf = yes; then
+ # ELF automatically has .init and .fini.
+ libc_cv_have_initfini=yes
+ AC_DEFINE(HAVE_INITFINI)
+else
   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
 		 [AC_TRY_COMPILE(, [asm (".section .init");
 				    asm (".section .fini");
 				    asm (".text");],
 				 libc_cv_have_initfini=yes,
 				 libc_cv_have_initfini=no)])
-  AC_SUBST(libc_cv_have_initfini)dnl
   if test $libc_cv_have_initfini = yes; then
     AC_DEFINE(HAVE_INITFINI)
   fi
 fi
+AC_SUBST(libc_cv_have_initfini)
 
 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
@@ -1112,14 +1148,10 @@
 esac
 AC_MSG_RESULT($ldap)
 
-AC_SUBST(libc_cv_slibdir)
-AC_SUBST(libc_cv_sysconfdir)
-AC_SUBST(libc_cv_rootsbindir)
-
 AC_SUBST(has_ldconfig)
 AC_SUBST(ldd_rewrite_script)
 
-AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf)
+AC_SUBST(gnu_ld) AC_SUBST(gnu_as)
 if test $gnu_ld = yes; then
   AC_DEFINE(HAVE_GNU_LD)
 fi
@@ -1127,11 +1159,14 @@
   AC_DEFINE(HAVE_GNU_AS)
 fi
 if test $elf = yes; then
+  binfmt=elf
   AC_DEFINE(HAVE_ELF)
+else
+  # Default.
+  binfmt=aout
 fi
+AC_SUBST(binfmt)
 
-AC_SUBST(static)
-AC_SUBST(shared)
 if test $shared = default; then
   if test $gnu_ld = yes; then
     shared=$elf
@@ -1154,11 +1189,13 @@
 fi
 rm -f conftest.*])
 AC_SUBST(pic_default)
+
+if test $config_os = none
+then build_programs=no
+else build_programs=$enable_programs
+fi
+AC_SUBST(build_programs)
 
-AC_SUBST(profile)
-AC_SUBST(omitfp)
-AC_SUBST(bounded)
-AC_SUBST(static_nss)
 AC_SUBST(nopic_initfini)
 
 AC_SUBST(DEFINES)
============================================================
Index: sysdeps/unix/sysv/linux/configure.in
--- sysdeps/unix/sysv/linux/configure.in	1998/04/01 06:45:43	1.15
+++ sysdeps/unix/sysv/linux/configure.in	1998/06/13 23:27:13
@@ -35,9 +35,9 @@
 # shared library objects and the configuration files on the root partition
 # in /lib and /etc.
 if test "$prefix" = "/usr"; then
-  libc_cv_slibdir="/lib"
-  libc_cv_sysconfdir="/etc"
-  libc_cv_rootsbindir="/sbin"
+  slibdir="/lib"
+  sysconfdir="/etc"
+  rootsbindir="/sbin"
 fi
 
 # Under Linux the LinuxThreads and crypt add-on should be available.
@@ -54,7 +54,7 @@
   *crypt*)
     message="\
 *** WARNING:
-*** Are you sure you do not want to use the \`linuxthread' add-on?"
+*** Are you sure you do not want to use the \`linuxthreads' add-on?"
     ;;
   *)
     message="\
@@ -64,14 +64,14 @@
 esac
 
 if test "$message"; then
-  if test $enable_sanity = yes; then
+  if test $enable_threads = yes; then
     echo "\
 *** You should not compile the GNU libc without the \`linuxthreads' and
 *** \`crypt' add-on.  Not using them risks to be incompatible with the
 *** libraries of other systems.  Consider getting the add-ons and restart
 *** the configuration.
 *** If you really mean to avoid those add-ons run configure again, now
-*** using the extra parameter \`--disable-sanity-checks'."
+*** using the extra parameter \`--disable-threads'."
     exit 1
   else
     echo "$message"
============================================================
Index: configparms
--- /dev/null	Tue May 27 20:49:58 1997
+++ configparms	Sat Jun 13 17:15:06 1998
@@ -0,0 +1,114 @@
+# This is a template file.  You can set configuration parameters for
+# GNU libc in this file, by copying it into the build directory and
+# editing it as you see fit.
+# It is parsed as a shell script, so you must quote strings with spaces
+# or shell metacharacters in them.
+#
+# Note: settings in this file will override command line switches 
+# to autoconf.
+
+# Switches to pass to C compiler.  This can only be used to tweak
+# optimizations -- in other words, only put -O,-g,-f,-m switches here.
+#CFLAGS=
+
+# Installation prefixes:
+
+# Prepended to all paths at install time.  For installing libc
+# somewhere other than where it thinks it will live.  Needed e.g. with
+# AFS.
+#install_root=
+
+# Base directory (standard), for non-executables and executables.
+#prefix=/usr/local
+#exec_prefix='${prefix}'
+
+# Specific installation dirs:
+#libdir='${prefix}/lib'		# libraries
+#slibdir='${libdir}'		# essential libraries (needed at boot)
+#includedir='${prefix}/include'	# header files
+#datadir='${prefix}/share'	# data files (timezone, i18n, locale)
+#bindir='${prefix}/bin'		# user programs
+#sbindir='${prefix}/sbin'	# admin programs
+#rootsbindir='${sbindir}'	# programs needed at boot
+#libexecdir='${prefix}/libexec'	# internal programs
+#sysconfdir='${prefix}/etc'	# config files
+
+# This string is prepended to executable names and library -l names.
+# Only needed in odd cases.
+#libprefix=
+
+# Should we install over apparently newer files?  Default is yes.
+#enable_force_install=yes
+
+# Autoconf command line switches.
+
+#with_fp=yes		# Does machine have an FPU? (an emulator counts)
+#with_binutils=		# path to as and ld, if they're somewhere strange
+#with_elf=		# force use of ELF object files
+#with_cvs=yes		# enable automatic CVS checkins of some files
+#with_headers=		# location of kernel headers to use
+			# (eg. /usr/src/linux/include)
+
+#enable_libio=		# force use of libio over old stdio
+#enable_threads=yes	# thread safe libc?
+
+#enable_static=yes	# compile static libc?
+#enable_shared=default	# shared? (default=yes if possible)
+#enable_profile=yes	# profiling?
+#enable_omitfp=no	# hyperoptimized and undebuggable?
+#enable_bounded=no	# with bounds checking (needs special compiler)?
+#enable_programs=yes	# compile auxiliary programs? (default=yes if possible)
+
+#enable_versioning=yes	# use symbol versioning? (recommended)
+#enable_add_ons=	# list add on dirs to use, or `yes' for all of them
+#enable_static_nss=no	# build static NSS libraries? (not usually needed)
+
+# Tuning parameters for timezone:
+
+# Default time zone; 'Factory' is UTC, but indicates that this should
+# be changed.
+#
+#localtime=Factory
+
+# What to use for leap second specifications in compiling the default
+# timezone files.  Set this to `/dev/null' for no leap second handling as
+# 1003.1 requires, or to `leapseconds' for proper leap second handling.
+# Both zone flavors are always available as `posix/ZONE' and `right/ZONE';
+# this variable determines the default.
+#
+leapseconds=leapseconds
+
+# What timezone's DST rules should be used when a POSIX-style TZ
+# environment variable doesn't specify any rules.  For 1003.1 compliance
+# this timezone must use rules that are as U.S. federal law defines DST.
+#
+#posixrules=America/New_York
+
+# For cross compiling, set build to the system name of the machine you
+# are compiling on, and host to the system name you're compiling for.
+# If Autoconf doesn't correctly guess which compilers to use, set
+# CC to the cross-compiler, and BUILD_CC to the native compiler.
+# Both must be recent versions of gcc.  You may also need to set AR,
+# RANLIB, and MIG in that case.
+#
+#build=
+#host=
+#CC=
+#BUILD_CC=
+#AR=
+#RANLIB=
+#MIG=
+
+# Other programs used in the build.  Set these if Autoconf doesn't
+# pick the right ones.
+#
+#MAKEINFO=
+#INSTALL=
+#INSTALL_PROGRAM=
+#INSTALL_DATA=
+#LN_S=
+#MSGFMT=
+#BASH=
+#KSH=
+#AWK=
+#PERL=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]