mirror of
git://sourceware.org/git/glibc.git
synced 2025-04-24 14:41:06 +08:00
Update from 2.1 version.
This commit is contained in:
parent
ba664d7a58
commit
6db91a6419
@ -94,8 +94,9 @@ catopen (const char *cat_name, int flag)
|
||||
nlspath = tmp;
|
||||
}
|
||||
else
|
||||
result->nlspath = __strdup (NLSPATH);
|
||||
nlspath = NLSPATH;
|
||||
|
||||
result->nlspath = __strdup (nlspath);
|
||||
if (result->nlspath == NULL)
|
||||
{
|
||||
free ((void *) result->cat_name);
|
||||
|
124
configure.in
124
configure.in
@ -76,6 +76,13 @@ AC_ARG_ENABLE(omitfp, dnl
|
||||
[ --enable-omitfp build undebuggable optimized library [default=no]],
|
||||
omitfp=$enableval, omitfp=no)
|
||||
|
||||
dnl Some gcc versions have problems with omit-frame-pointer. Warn about this.
|
||||
if test $omitfp = yes; then
|
||||
echo "*** Not all versions of GCC compile code correctly when the"
|
||||
echo "*** -fomit-frame-pointer version is used. You are on your own"
|
||||
echo "*** if you use it."
|
||||
fi
|
||||
|
||||
dnl Generic infrastructure for drop-in additions to libc.
|
||||
AC_ARG_ENABLE(add-ons, dnl
|
||||
[ --enable-add-ons=DIR... configure and build named extra directories],
|
||||
@ -103,6 +110,30 @@ gnu*)
|
||||
host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
|
||||
;;
|
||||
esac
|
||||
###
|
||||
### I put this here to prevent those annoying emails from people who cannot
|
||||
### read and try to compile glibc on unsupported platforms. --drepper
|
||||
###
|
||||
### By using the undocumented --enable-hacker-mode option for configure
|
||||
### one can skip this test to make the configuration not fail for unsupported
|
||||
### platforms.
|
||||
###
|
||||
if test -z "$enable_hacker_mode"; then
|
||||
case "$host_os" in
|
||||
linux* | gnu*)
|
||||
;;
|
||||
*)
|
||||
echo "*** The GNU C library is currently not available for this platform."
|
||||
echo "*** So far nobody cared to port it and if there is no volunteer it"
|
||||
echo "*** might never happen. So, if you have interest to see glibc on"
|
||||
echo "*** this platform visit"
|
||||
echo "*** http://www.gnu.org/software/libc/porting.html"
|
||||
echo "*** and join the group of porters"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# We keep the original values in `$config_*' and never modify them, so we
|
||||
# can write them unchanged into config.make. Everything else uses
|
||||
@ -116,7 +147,8 @@ gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
|
||||
gnu_ld=yes gnu_as=yes ;;
|
||||
esac
|
||||
case "$host_os" in
|
||||
linux*ecoff*)
|
||||
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
|
||||
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
|
||||
;;
|
||||
gnu* | linux* | sysv4* | solaris2*)
|
||||
# These systems (almost) always use the ELF format.
|
||||
@ -351,7 +383,7 @@ AC_MSG_RESULT(sysdeps/generic sysdeps/stub)
|
||||
AC_PROG_INSTALL
|
||||
if test "$INSTALL" = "${srcdir}/install-sh -c"; then
|
||||
# The makefiles need to use a different form to find it in $srcdir.
|
||||
INSTALL='$(..)./install-sh -c'
|
||||
INSTALL='\$(..)./install-sh -c'
|
||||
fi
|
||||
AC_PROG_LN_S
|
||||
AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :)
|
||||
@ -443,6 +475,37 @@ if test $libc_cv_need_minus_P = yes; then
|
||||
asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
|
||||
fi
|
||||
|
||||
# gcc 2.7.x has a bug where if -pipe is set, the assembler will always
|
||||
# be told to read stdin. This causes the compiler to hang when fed an
|
||||
# .s file.
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
case `${CC-cc} -v 2>&1` in
|
||||
*2.7*)
|
||||
# We must check this even if -pipe is not given here, because the user
|
||||
# might do `make CFLAGS=-pipe'.
|
||||
AC_CACHE_CHECK(for gcc 2.7.x -pipe bug, libc_cv_gcc_pipe_bug, [dnl
|
||||
cp /dev/null conftest.s
|
||||
cat >conftest1.s <<EOF
|
||||
.nosuchdirective
|
||||
EOF
|
||||
if ${CC-cc} -pipe -c conftest.s <conftest1.s 2>/dev/null; then
|
||||
libc_cv_gcc_pipe_bug=no
|
||||
else
|
||||
libc_cv_gcc_pipe_bug=yes
|
||||
fi
|
||||
rm -f conftest*])
|
||||
if test $libc_cv_gcc_pipe_bug = yes; then
|
||||
makeCC="${CC-cc} -B\$(common-objpfx)"
|
||||
makeCFLAGS=$CFLAGS
|
||||
CFLAGS=`echo $CFLAGS |sed 's/-pipe//'`
|
||||
fi;;
|
||||
*) libc_cv_gcc_pipe_bug=no;;
|
||||
esac
|
||||
else
|
||||
libc_cv_gcc_pipe_bug=no
|
||||
fi
|
||||
|
||||
|
||||
AC_CACHE_CHECK(for assembler global-symbol directive,
|
||||
libc_cv_asm_global_directive, [dnl
|
||||
libc_cv_asm_global_directive=UNKNOWN
|
||||
@ -450,7 +513,7 @@ for ac_globl in .globl .global; do
|
||||
cat > conftest.s <<EOF
|
||||
.text
|
||||
${ac_globl} foo
|
||||
foo: .long 0
|
||||
foo:
|
||||
EOF
|
||||
if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
|
||||
libc_cv_asm_global_directive=${ac_globl}
|
||||
@ -535,13 +598,45 @@ if test $elf != yes; then
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
||||
AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
|
||||
[cat > conftest.$ac_ext <<EOF
|
||||
dnl This sometimes fails to find confdefs.h, for some reason.
|
||||
dnl [#]line __oline__ "[$]0"
|
||||
[#]line __oline__ "configure"
|
||||
#include "confdefs.h"
|
||||
void underscore_test(void) {
|
||||
return; }
|
||||
EOF
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
if grep _underscore_test conftest* >/dev/null; then
|
||||
ifelse([$1], , :, [rm -f conftest*
|
||||
$1])
|
||||
else
|
||||
ifelse([$2], , , [rm -f conftest*
|
||||
$2])
|
||||
fi
|
||||
else
|
||||
echo "configure: failed program was:" >&AC_FD_CC
|
||||
cat conftest.$ac_ext >&AC_FD_CC
|
||||
ifelse([$2], , , [rm -f conftest*
|
||||
$2])
|
||||
fi
|
||||
rm -f conftest*])
|
||||
|
||||
if test $elf = yes; then
|
||||
libc_cv_asm_underscores=no
|
||||
else
|
||||
AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
|
||||
[AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
|
||||
libc_cv_asm_underscores=yes,
|
||||
libc_cv_asm_underscores=no)])
|
||||
if test $ac_cv_prog_cc_works = yes; then
|
||||
AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
|
||||
[AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
|
||||
libc_cv_asm_underscores=yes,
|
||||
libc_cv_asm_underscores=no)])
|
||||
else
|
||||
AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
|
||||
[AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
|
||||
libc_cv_asm_underscores=no)])
|
||||
fi
|
||||
fi
|
||||
if test $libc_cv_asm_underscores = no; then
|
||||
AC_DEFINE(NO_UNDERSCORES)
|
||||
@ -557,7 +652,7 @@ else
|
||||
cat > conftest.s <<EOF
|
||||
.text
|
||||
${libc_cv_asm_global_directive} foo
|
||||
foo: .long 0
|
||||
foo:
|
||||
.weak foo
|
||||
.weak bar; bar = foo
|
||||
EOF
|
||||
@ -575,7 +670,7 @@ if test $libc_cv_asm_weak_directive = no; then
|
||||
cat > conftest.s <<EOF
|
||||
.text
|
||||
${libc_cv_asm_global_directive} foo
|
||||
foo: .long 0
|
||||
foo:
|
||||
.weakext foo
|
||||
.weakext foo, bar
|
||||
EOF
|
||||
@ -769,5 +864,16 @@ fi
|
||||
VERSION=`sed -e 's/^#define VERSION "\([^"]*\)"/\1/p' -e d < $srcdir/version.h`
|
||||
AC_SUBST(VERSION)
|
||||
|
||||
if test $libc_cv_gcc_pipe_bug = yes; then
|
||||
realCC=$CC
|
||||
CC=$makeCC
|
||||
CFLAGS=$makeCFLAGS
|
||||
fi
|
||||
AC_OUTPUT_COMMANDS([
|
||||
if test "$realCC"; then
|
||||
sed -e 's/%{pipe:-}/%|/g' `$realCC -print-file-name=specs` >specsT
|
||||
mv specsT specs
|
||||
fi], [realCC=$realCC])
|
||||
|
||||
AC_OUTPUT(config.make glibcbug ${config_makefile} ${config_uname}, ,
|
||||
[echo '$config_vars' >> config.make])
|
||||
|
@ -6,8 +6,9 @@
|
||||
# these variables are filled in by configure
|
||||
#
|
||||
VERSION="@VERSION@"
|
||||
BUGGLIBC="bugs@gnu.ai.mit.edu"
|
||||
BUGGLIBC="bugs@gnu.org"
|
||||
ADDONS="@subdirs@"
|
||||
HOST="@host@"
|
||||
|
||||
PATH=/bin:/usr/bin:/usr/local/bin:$PATH
|
||||
export PATH
|
||||
@ -119,6 +120,7 @@ ${ORGANIZATION- $ORGANIZATION_C}
|
||||
>Release: libc-${VERSION}
|
||||
>Environment:
|
||||
$ENVIRONMENT_C
|
||||
`[ -n "$HOST" ] && echo Host type: $HOST`
|
||||
`[ -n "$SYSTEM" ] && echo System: $SYSTEM`
|
||||
`[ -n "$ARCH" ] && echo Architecture: $ARCH`
|
||||
`[ -n "$MACHINE" ] && echo Machine: $MACHINE`
|
||||
|
@ -175,11 +175,15 @@ facilities, type @code{make check}. This will produce several files
|
||||
with names like @file{@var{program}.out}.
|
||||
|
||||
To format the @cite{GNU C Library Reference Manual} for printing, type
|
||||
@w{@code{make dvi}}.
|
||||
@w{@code{make dvi}}. You need a working TeX installation to do this.
|
||||
|
||||
To install the library and its header files, and the Info files of the
|
||||
manual, type @code{make install}. This will build things if necessary,
|
||||
before installing them.@refill
|
||||
before installing them. If you want to install the files in a different
|
||||
place than the one specified at configuration time you can specify a
|
||||
value for the Makefile variable @code{install_root} on the command line.
|
||||
This is useful to create chroot'ed environment or to prepare binary
|
||||
releases.@refill
|
||||
|
||||
@node Tools for Installation
|
||||
@appendixsubsec Recommended Tools to Install the GNU C Library
|
||||
@ -196,7 +200,9 @@ build the GNU C library:
|
||||
You need the latest version of GNU @code{make}. Modifying the GNU C
|
||||
Library to work with other @code{make} programs would be so hard that we
|
||||
recommend you port GNU @code{make} instead. @strong{Really.}
|
||||
We recommend version GNU @code{make} version 3.75 or later.
|
||||
We recommend version GNU @code{make} version 3.75. Versions 3.76 and
|
||||
3.76.1 are known to have bugs which only show up in big projects like
|
||||
GNU @code{libc}.
|
||||
|
||||
@item
|
||||
GCC 2.7.2
|
||||
@ -206,12 +212,27 @@ compiler. We recommend GCC version 2.7.2 or later; earlier versions may
|
||||
have problems.
|
||||
|
||||
@item
|
||||
@code{binutils} 2.8
|
||||
@code{binutils} 2.8.1
|
||||
|
||||
Using the GNU @code{binutils} (assembler, linker, and related tools) is
|
||||
preferable when possible, and they are required to build an ELF shared C
|
||||
library. We recommend @code{binutils} version 2.8 or later; earlier
|
||||
versions are known to have problems or to not support all architectures.
|
||||
|
||||
@item
|
||||
@code{texinfo} 3.11
|
||||
|
||||
To correctly translate and install the Texinfo documentation you need
|
||||
this version of the @code{texinfo} package. Former versions did not
|
||||
understand all the tags used in the document and also the installation
|
||||
mechanisms for the info files was not present or worked differently.
|
||||
|
||||
On some Debian Linux based systems the used @code{install-info} program
|
||||
works differently. Here you have to run make like this:
|
||||
|
||||
@smallexample
|
||||
make INSTALL_INFO=/path/to/GNU/install-info install
|
||||
@end smallexample
|
||||
@end itemize
|
||||
|
||||
@node Supported Configurations
|
||||
@ -233,7 +254,6 @@ versions) used to run on the following configurations:
|
||||
|
||||
@smallexample
|
||||
alpha-dec-osf1
|
||||
alpha-@var{anything}-linuxecoff
|
||||
i@var{x}86-@var{anything}-bsd4.3
|
||||
i@var{x}86-@var{anything}-isc2.2
|
||||
i@var{x}86-@var{anything}-isc3.@var{n}
|
||||
|
Loading…
x
Reference in New Issue
Block a user