staging headers fix (was Re: libstdc++ problem)

Phil Edwards pedwards@disaster.jaj.com
Mon Jul 16 09:39:00 GMT 2001


On Sun, Jul 15, 2001 at 11:03:17PM -0400, Stephen M. Webb wrote:
> The fix lies somewere in the dark bowels of aclocal.m4.  The C_INCLUDE_DIR
> symbol should use glibcpp_srcdir instead of top_srcdir.  I'm not sure if
> top_srcdir is defined at the point C_INCLUDE_DIR get defined (it wasn't when
> I wrote the original patch, since it predated the introduction of
> glibcpp_srcdir).

It isn't.  We do a lot of work in GLIBCPP_EXPORT_INSTALL_INFO that should
probably be done earlier, but I'm not entirely certain how much of that logic
depends on the cross-compiling bits.  This patch moves the glibcpp_srcdir
bits up to GLIBCPP_CONFIGURE, which should be safe because glibcpp_srcdir
doesn't care whether we're cross-compiling.  Now C_INCLUDE_DIR can use
glibcpp_srcdir.

With this patch, and reverting the workaround from yesterday, all symlinks
are created with absolute paths even when using a relative-path configure.
Can someone who was experiencing the original problem please test this?
(Don't forget to run 'aclocal && autoconf'.)

> Anyway, I don't have time to work a proper patch up at the moment, but at least
> this is a pointer in the right direction.

Yes it was; thank you very much!

Phil


Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/acinclude.m4,v
retrieving revision 1.166
diff -u -3 -r1.166 acinclude.m4
--- acinclude.m4	2001/07/13 16:47:54	1.166
+++ acinclude.m4	2001/07/16 16:37:58
@@ -15,6 +15,17 @@
   glibcpp_basedir=$srcdir/$toprel/$1/libstdc++-v3
   AC_SUBST(glibcpp_basedir)
 
+  # Export build and source directories.
+  # These need to be absolute paths, yet at the same time need to
+  # canonicalize only relative paths, because then amd will not unmount
+  # drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd.
+  glibcpp_builddir=`pwd`
+  case $srcdir in
+  [\\/$]* | ?:[\\/]*) glibcpp_srcdir=${srcdir} ;;
+  *) glibcpp_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
+  esac
+  glibcpp_prefixdir=${prefix}
+
   AM_INIT_AUTOMAKE(libstdc++, 3.0.0)
 
   # Never versions of autoconf add an underscore to these functions.
@@ -1549,17 +1560,6 @@
 
 glibcpp_toolexecdir=no
 glibcpp_toolexeclibdir=no
-
-# Export build and source directories.
-# These need to be absolute paths, yet at the same time need to
-# canonicalize only relative paths, because then amd will not unmount
-# drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd.
-glibcpp_builddir=`pwd`
-case $srcdir in
-[\\/$]* | ?:[\\/]*) glibcpp_srcdir=${srcdir} ;;
-*) glibcpp_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
-esac
-glibcpp_prefixdir=${prefix}
 
 AC_MSG_CHECKING([for interface version number])
 libstdcxx_interface=$INTERFACE
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/configure.in,v
retrieving revision 1.68
diff -u -3 -r1.68 configure.in
--- configure.in	2001/07/15 22:17:43	1.68
+++ configure.in	2001/07/16 16:37:58
@@ -38,7 +38,7 @@
 
 # Will set LN_S to either 'ln -s' or 'ln'.  With autoconf 2.50+, can also
 # be 'cp -p' if linking isn't available.
-ac_cv_prog_LN_S='cp -p'
+#ac_cv_prog_LN_S='cp -p'
 AC_PROG_LN_S
 
 # We use these options to decide which functions to include.



More information about the Gcc-bugs mailing list