This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
PATCH for Re: Makefile problems with gcc 3.0.4/Soalris 7
- From: Phil Edwards <phil at jaj dot com>
- To: Ric Anderson <ric at sylvester dot Telcom dot Arizona dot EDU>
- Cc: gcc-bugs at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Tue, 2 Apr 2002 08:02:15 -0500
- Subject: PATCH for Re: Makefile problems with gcc 3.0.4/Soalris 7
- References: <200203301742.g2UHg1w12128@sylvester.Telcom.Arizona.EDU>
On Sat, Mar 30, 2002 at 10:42:01AM -0700, Ric Anderson wrote:
>
> gcc 3.0.4 installation balks when processing "gmake install" in the
> sparc-sun-solaris2.7/libstdc++-v3/include
> directory. The Makefile contains directives of the form
> $(INSTALL) -d ...
Oops. I should have caught that. Mea culpa.
The proper, portable solution is to not depend on /any/ install program
understanding '-d' or anything else; instead we use a script written
specifially for the purpose. It's always been there; we just forgot to
make use of it in this case.
Tested on i686-linux, applied to trunk and 3.1 branch. It's a 3.0
regression, so just on the off chance that a 3.0.5 will be released,
I'll be testing and applying the patch on that branch shortly.
2002-04-02 Phil Edwards <pme@gcc.gnu.org>
* include/Makefile.am (install-data-local): Use mkinstalldirs.
* include/Makefile.in: Regenerate.
Index: include/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/Makefile.am,v
retrieving revision 1.33
diff -u -3 -p -r1.33 Makefile.am
--- Makefile.am 2002/03/27 04:29:30 1.33
+++ Makefile.am 2002/04/02 12:55:30
@@ -417,33 +417,33 @@ ${target_builddir}/gthr-default.h: ${top
# tree using only the human-maintained file lists and directory
# components. Yes, with minor differences, this is sheer duplication
# of the staging rules above using $(INSTALL_DATA) instead of LN_S and
-# `$(INSTALL) -d' instead of `mkdir -p'. In particular,
+# `$(mkinstalldirs)' instead of `mkdir -p'. In particular,
# extra_target_headers are taken out of the build tree staging area;
# the rest are taken from the original source tree.
gxx_include_dir = @gxx_include_dir@
install-data-local:
- $(INSTALL) -d ${gxx_include_dir}
- $(INSTALL) -d ${gxx_include_dir}/${bits_builddir}
+ $(mkinstalldirs) ${gxx_include_dir}
+ $(mkinstalldirs) ${gxx_include_dir}/${bits_builddir}
for file in ${bits_headers}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${bits_builddir}; done
- $(INSTALL) -d ${gxx_include_dir}/${backward_builddir}
+ $(mkinstalldirs) ${gxx_include_dir}/${backward_builddir}
for file in ${backward_headers}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${backward_builddir}; done
- $(INSTALL) -d ${gxx_include_dir}/${ext_builddir}
+ $(mkinstalldirs) ${gxx_include_dir}/${ext_builddir}
for file in ${ext_headers}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${ext_builddir}; done
- $(INSTALL) -d ${gxx_include_dir}/${c_base_builddir}
+ $(mkinstalldirs) ${gxx_include_dir}/${c_base_builddir}
for file in ${c_base_headers_rename}; do \
$(INSTALL_DATA) ${c_base_builddir}/$${file} \
${gxx_include_dir}/${c_base_builddir}; done
c_base_headers_extra_install=${c_base_headers_extra};\
for file in $$c_base_headers_extra_install; do \
$(INSTALL_DATA) $$file ${gxx_include_dir}/${bits_builddir}; done
- $(INSTALL) -d ${gxx_include_dir}/${std_builddir}
+ $(mkinstalldirs) ${gxx_include_dir}/${std_builddir}
for file in ${std_headers_rename}; do \
$(INSTALL_DATA) ${std_builddir}/$${file} \
${gxx_include_dir}/${std_builddir}; done
- $(INSTALL) -d ${gxx_include_dir}/${target_builddir}
+ $(mkinstalldirs) ${gxx_include_dir}/${target_builddir}
for file in ${target_headers} ${extra_target_headers} \
${thread_target_headers}; do \
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${target_builddir}; done