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 Libstdc++
mailing list