This is the mail archive of the mailing list for the libstdc++ project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix libstdc++/45711: --enable-libstdcxx-debug on darwin

I can reproduce the issue by simulating broken install and mkdir
programs.  The patch below should fix it.

OK for trunk?

The 4.5 branch probably has this issue as well, and 4.4 hasn't, because
it used older autotools which didn't provide MKDIR_P yet (and mkdir_p is
computed differently).

There is a workaround: specify absolute $INSTALL at toplevel configure,
for example:
  ../gcc/configure INSTALL="`pwd`/../install-sh -c"

With that in mind, I'll leave you to decide whether a backport to 4.5 is
desirable.  If you agree, I'll do it.


Fix PR libstdc++/45711.

2010-09-20  Ralf Wildenhues  <>

	PR libstdc++/45711
	* src/ (stamp-debug): Also adjust possibly-relative
	file names in MKDIR_P, and, for consistency, also top_build_prefix.
	* src/ Regenerate.

diff --git a/libstdc++-v3/src/ b/libstdc++-v3/src/
index d5194c3..bd748aa 100644
--- a/libstdc++-v3/src/
+++ b/libstdc++-v3/src/
@@ -421,13 +421,16 @@ endif
 debugdir = debug
 # Build a set of debug objects here.
+# Take care to fix all possibly-relative paths.
 	if test ! -d ${debugdir}; then \
 	  mkdir -p ${debugdir}; \
 	  (cd ${debugdir}; \
 	  sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \
+	      -e 's/top_build_prefix = \.\./top_build_prefix = ..\/../' \
 	      -e 's/srcdir = \.\./srcdir = ..\/../' \
 	      -e 's/glibcxx_basedir = \.\./glibcxx_basedir = ..\/../' \
+	      -e 's/MKDIR_P = \.\./MKDIR_P = ..\/../' \
 	      -e 's/all-local: build_debug/all-local:/' \
 	      -e 's/install-data-local: install_debug/install-data-local:/' \
 	  < ../Makefile > Makefile) ; \

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]