diff --git a/ChangeLog b/ChangeLog index c5d5f09a8e..482260c8c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +1998-04-07 Ulrich Drepper + + * configure.in: Recognize --with-headers flag and determine + commandline options to be used in compilation. + * Makeconfig (+includes): Use $(sysincludes). + * config.make.in (sysincludes): Define from SYSINCLUDES. + * glibcbug.in: Use SYSINCLUDES information. + Patches by Zack Weinberg. + 1998-04-07 19:03 Zack Weinberg * glibcbug.in: On linux, report version of kernel headers seen @@ -239,8 +248,8 @@ * sysdeps/generic/libc-start.c: Allow init and fini to be null. - * sysdeps/sparc/sparc32/elf.S: Rewrite for __libc_start_main. - * sysdeps/sparc/sparc64/elf.S: Likewise. + * sysdeps/sparc/sparc32/elf/start.S: Rewrite for __libc_start_main. + * sysdeps/sparc/sparc64/elf/start.S: Likewise. 1998-04-06 Richard Henderson diff --git a/Makeconfig b/Makeconfig index d38ff67289..e2514d234c 100644 --- a/Makeconfig +++ b/Makeconfig @@ -541,7 +541,7 @@ endif # $(+cflags) == "" # `+sysdep-includes' will be defined by Makerules. +includes = -I. $(patsubst %/,-I%,$(objpfx)) $(patsubst %/,-I%,$(..)) \ -I$(..)include $($(stdio)-include) $(includes) \ - $(+sysdep-includes) $(last-includes) + $(+sysdep-includes) $(last-includes) $(sysincludes) # Since libio has several internal header files, we use a -I instead # of many little headers in the include directory. diff --git a/config.make.in b/config.make.in index 27d1e6e455..6fc1c95dfd 100644 --- a/config.make.in +++ b/config.make.in @@ -26,6 +26,7 @@ config-os = @host_os@ config-sysdirs = @sysnames@ defines = @DEFINES@ +sysincludes = @SYSINCLUDES@ elf = @elf@ have-initfini = @libc_cv_have_initfini@ diff --git a/configure.in b/configure.in index 9d12825264..44cde5c8eb 100644 --- a/configure.in +++ b/configure.in @@ -47,6 +47,12 @@ AC_ARG_WITH(cvs, dnl with_cvs=$withval, 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='') + AC_ARG_ENABLE(libio, dnl [ --enable-libio build in GNU libio instead of GNU stdio], [if test $enableval = yes; then @@ -470,6 +476,15 @@ AC_CHECK_TOOL(AR, ar) AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_TOOL(MIG, mig) +# if using special system headers, find out the compiler's sekrit +# header directory and add that to the list. NOTE: Only does the right +# thing on a system that doesn't need fixincludes. (Not presently a problem.) +if test -n "$sysheaders"; then + ccheaders=`$CC -print-file-name=include` + SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders" +fi +AC_SUBST(SYSINCLUDES) + # check if ar takes S AC_CACHE_CHECK(for ar S, libc_cv_ar_S, [dnl tmpo=$$.o diff --git a/glibcbug.in b/glibcbug.in index cc570408f2..11ac4b5ee3 100644 --- a/glibcbug.in +++ b/glibcbug.in @@ -11,6 +11,7 @@ ADDONS="@subdirs@" HOST="@host@" CC='@CC@' CFLAGS="@CFLAGS@" +SYSINCLUDES="@SYSINCLUDES@" VERSIONING="@VERSIONING@" BUILD_STATIC="@static@" BUILD_SHARED="@shared@" @@ -21,9 +22,6 @@ BUILD_BOUNDED="@bounded@" BUILD_STATIC_NSS="@static_nss@" STDIO="@stdio@" -PATH=/bin:/usr/bin:/usr/local/bin:$PATH -export PATH - TEMP=`mktemp -q /tmp/glibcbugXXXXXX 2>/dev/null` if test $? -ne 0; then TEMP=/tmp/glibcbug.$$ @@ -108,9 +106,9 @@ MACHINE=`[ -f /bin/machine ] && /bin/machine` CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'` case $HOST in *linux*) - KHDRS=`(echo '#include + KHDRS=`(echo '#include ' echo '! UTS_RELEASE' ) | - $CC -E - | sed -n '/!/s/[! "]//gp'`;; + $CC $SYSINCLUDES -E - | sed -n '/!/s/[! "]//gp'`;; esac ORGANIZATION_C=''