summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--Makeconfig2
-rw-r--r--config.make.in1
-rw-r--r--configure.in15
-rw-r--r--glibcbug.in8
5 files changed, 31 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index c5d5f09a8e..482260c8c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+1998-04-07  Ulrich Drepper  <drepper@cygnus.com>
+
+	* 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  <zack@rabi.phys.columbia.edu>
 
 	* 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  <rth@cygnus.com>
 
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 <linux/version.h>
+  KHDRS=`(echo '#include <linux/version.h>'
 	  echo '! UTS_RELEASE' ) |
-	 $CC -E - | sed -n '/!/s/[! "]//gp'`;;
+	 $CC $SYSINCLUDES -E - | sed -n '/!/s/[! "]//gp'`;;
 esac
 
 ORGANIZATION_C='<organization of PR author (multiple lines)>'