When looking at PR 60589, I saw that libcilk's header files are installed multiple times. On my x86-64-gnu-linux system, I have them as:

lib/gcc/x86_64-unknown-linux-gnu/4.9.0/include/cilk/*.h
lib64/gcc/x86_64-unknown-linux-gnu/4.9.0/include/cilk/*.h

However, GCC only reads the latter - even with -m32. I think the attached patch does the right thing - at least it matches the other libraries and I only end up with the headers in lib64.

OK for the trunk?

* * *

Actually, libssp has the same issue: It also installs the headers twice. As I am not sure which projects all include libssp and where the development happens, I have not updated its Makefile.am.

Tobias
2014-03-20  Tobias Burnus  <bur...@net-b.de>

        PR other/60589
	* Makefile.am: Add nodist_ to the to-be-installed
	headers.
	* Makefile.in: Regenerate.

diff --git a/libcilkrts/Makefile.am b/libcilkrts/Makefile.am
index f2d13aa..4fa4d30 100644
--- a/libcilkrts/Makefile.am
+++ b/libcilkrts/Makefile.am
@@ -110,7 +110,7 @@ libcilkrts_la_LDFLAGS += -no-undefined
 # C/C++ header files for Cilk.
 # cilkincludedir = $(includedir)/cilk
 cilkincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/cilk
-cilkinclude_HEADERS =              \
+nodist_cilkinclude_HEADERS =       \
   include/cilk/cilk_api.h          \
   include/cilk/cilk_api_linux.h    \
   include/cilk/cilk.h              \
diff --git a/libcilkrts/Makefile.in b/libcilkrts/Makefile.in
index 092e2f7..9c10e7e 100644
--- a/libcilkrts/Makefile.in
+++ b/libcilkrts/Makefile.in
@@ -112,8 +112,7 @@ target_triplet = @target@
 DIST_COMMON = $(srcdir)/include/internal/rev.mk README ChangeLog \
 	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/../mkinstalldirs $(srcdir)/../depcomp \
-	$(cilkinclude_HEADERS)
+	$(srcdir)/../mkinstalldirs $(srcdir)/../depcomp
 
 # If we're building on Linux, use the Linux version script
 @LINUX_LINKER_SCRIPT_TRUE@am__append_1 = -Wl,--version-script,$(srcdir)/runtime/linux-symbols.ver
@@ -204,7 +203,7 @@ MULTIDIRS =
 MULTISUBDIR = 
 MULTIDO = true
 MULTICLEAN = true
-HEADERS = $(cilkinclude_HEADERS)
+HEADERS = $(nodist_cilkinclude_HEADERS)
 ETAGS = etags
 CTAGS = ctags
 ACLOCAL = @ACLOCAL@
@@ -245,8 +244,6 @@ LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LIBSTDCXX_RAW_CXX_CXXFLAGS = @LIBSTDCXX_RAW_CXX_CXXFLAGS@
-LIBSTDCXX_RAW_CXX_LDFLAGS = @LIBSTDCXX_RAW_CXX_LDFLAGS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
@@ -328,7 +325,6 @@ sysconfdir = @sysconfdir@
 target = @target@
 target_alias = @target_alias@
 target_cpu = @target_cpu@
-target_noncanonical = @target_noncanonical@
 target_os = @target_os@
 target_vendor = @target_vendor@
 toolexecdir = @toolexecdir@
@@ -403,7 +399,7 @@ libcilkrts_la_LDFLAGS = -version-info 5:0:0 -lpthread \
 # C/C++ header files for Cilk.
 # cilkincludedir = $(includedir)/cilk
 cilkincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/cilk
-cilkinclude_HEADERS = \
+nodist_cilkinclude_HEADERS = \
   include/cilk/cilk_api.h          \
   include/cilk/cilk_api_linux.h    \
   include/cilk/cilk.h              \
@@ -853,10 +849,10 @@ distclean-multi:
 	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
 maintainer-clean-multi:
 	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
-install-cilkincludeHEADERS: $(cilkinclude_HEADERS)
+install-nodist_cilkincludeHEADERS: $(nodist_cilkinclude_HEADERS)
 	@$(NORMAL_INSTALL)
 	test -z "$(cilkincludedir)" || $(MKDIR_P) "$(DESTDIR)$(cilkincludedir)"
-	@list='$(cilkinclude_HEADERS)'; test -n "$(cilkincludedir)" || list=; \
+	@list='$(nodist_cilkinclude_HEADERS)'; test -n "$(cilkincludedir)" || list=; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
@@ -866,9 +862,9 @@ install-cilkincludeHEADERS: $(cilkinclude_HEADERS)
 	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(cilkincludedir)" || exit $$?; \
 	done
 
-uninstall-cilkincludeHEADERS:
+uninstall-nodist_cilkincludeHEADERS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(cilkinclude_HEADERS)'; test -n "$(cilkincludedir)" || list=; \
+	@list='$(nodist_cilkinclude_HEADERS)'; test -n "$(cilkincludedir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 	test -n "$$files" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(cilkincludedir)' && rm -f" $$files ")"; \
@@ -981,7 +977,7 @@ info: info-am
 
 info-am:
 
-install-data-am: install-cilkincludeHEADERS
+install-data-am: install-nodist_cilkincludeHEADERS
 
 install-dvi: install-dvi-am
 
@@ -1029,7 +1025,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-cilkincludeHEADERS \
+uninstall-am: uninstall-nodist_cilkincludeHEADERS \
 	uninstall-toolexeclibLTLIBRARIES
 
 .MAKE: all-multi clean-multi distclean-multi install-am install-multi \
@@ -1040,17 +1036,18 @@ uninstall-am: uninstall-cilkincludeHEADERS \
 	clean-toolexeclibLTLIBRARIES ctags distclean distclean-compile \
 	distclean-generic distclean-libtool distclean-multi \
 	distclean-tags dvi dvi-am html html-am info info-am install \
-	install-am install-cilkincludeHEADERS install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-multi install-pdf \
+	install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-multi install-nodist_cilkincludeHEADERS install-pdf \
 	install-pdf-am install-ps install-ps-am install-strip \
 	install-toolexeclibLTLIBRARIES installcheck installcheck-am \
 	installdirs maintainer-clean maintainer-clean-generic \
 	maintainer-clean-multi mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \
 	pdf-am ps ps-am tags uninstall uninstall-am \
-	uninstall-cilkincludeHEADERS uninstall-toolexeclibLTLIBRARIES
+	uninstall-nodist_cilkincludeHEADERS \
+	uninstall-toolexeclibLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.

Reply via email to