This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[ada, build] Fix make install-gcc-specs with empty GCC_SPEC_FILES
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Arnaud Charlet <charlet at adacore dot com>
- Date: Mon, 02 May 2016 14:43:57 +0200
- Subject: [ada, build] Fix make install-gcc-specs with empty GCC_SPEC_FILES
- Authentication-results: sourceware.org; auth=none
Installing gcc 6.1.0 on Solaris 10 with /bin/ksh failed for
install-gcc-specs (I'd already seen that for 5.1.0, but forgotten about
it):
make[3]: Entering directory `/var/gcc/gcc-6.1.0/10-gcc-gas/gcc/ada'
for f in ; do \
cp -p /vol/src/gnu/gcc/gcc-6.1.0/gcc/ada/$f \
/vol/gcc-5/lib/gcc/i386-pc-solaris2.10/6.1.0/$(echo $f|sed -e 's#_[a-zA-Z0-9]*##g'); \
done
/bin/ksh: syntax error at line 1 : `;' unexpected
make[3]: *** [install-gcc-specs] Error 2
For most targets, GCC_SPEC_FILES is empty, and for f in ; do makes the
ancient Solaris 10 ksh88 choke. The problem can be avoided by using
$(foreach instead. During testing, I noticed that the target also
doesn't honor DESTDIR.
The following patch fixes both. Tested by running make
install-gcc-specs on i386-pc-solaris2.10 and additionally with
GCC_SPEC_FILES=vxworks-x86-link.spec.
Ok for mainline and the gcc-6 and gcc-5 branches?
Rainer
2016-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
Honor DESTDIR.
# HG changeset patch
# Parent 6a07b8a8ce8b870d4cf37ebbcac7d7965340d4d6
Fix make install-gcc-specs with empty GCC_SPECS_FILES
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -2670,10 +2670,9 @@ gnatlink-re: ../stamp-tools gnatmake-re
install-gcc-specs:
# Install all the requested GCC spec files.
- for f in $(GCC_SPEC_FILES); do \
- $(INSTALL_DATA_DATE) $(srcdir)/ada/$$f \
- $(libsubdir)/$$(echo $$f|sed -e 's#_[a-zA-Z0-9]*##g'); \
- done
+ $(foreach f,$(GCC_SPEC_FILES), \
+ $(INSTALL_DATA_DATE) $(srcdir)/ada/$(f) \
+ $(DESTDIR)$(libsubdir)/$$(echo $(f)|sed -e 's#_[a-zA-Z0-9]*##g');)
install-gnatlib: ../stamp-gnatlib-$(RTSDIR) install-gcc-specs
$(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University