* Alexandre Lissy wrote on Thu, Aug 25, 2011 at 03:26:46PM CEST: > Path computation for installation in GCC's plugin/melt-modules/ path was > broken (in fact not updated to the latest changes). Present commit fixes > this by reading the link targets and installing them.
> --- a/contrib/MELT-Plugin-Makefile > +++ b/contrib/MELT-Plugin-Makefile > @@ -288,13 +288,11 @@ install-melt-sources: melt-sources melt-all-sources > ### phony makefile target from melt-build.mk > install-melt-modules: melt-modules melt-all-modules > $(mkinstalldirs) $(DESTDIR)/$(melt_module_dir) > - for d in $(wildcard melt-modules/*); do \ > - $(mkinstalldirs) $(DESTDIR)/$(melt_module_dir)/`basename $$d` ; \ > - for f in $$d/*.so ; do \ > - $(INSTALL_PROGRAM) $$f $(DESTDIR)/$(melt_module_dir)/`basename > $$d`/`basename $$f ` ; \ > - done; \ > + for l in $(wildcard melt-modules/*); do \ If there are no matches for this wildcard, this will generate a shell syntax error, unlike the old code. Perusing the MELT-Plugin-Makefile, it wasn't obvious whether this can ever happen in practice or not, but it might be prudent to guard against it nonetheless. One common way is to add a ':' in the for list, and test for != : inside. > + $(INSTALL_PROGRAM) `readlink $$l` > $(DESTDIR)/$(melt_module_dir)/$$(basename `readlink $$l`) ; \ No slash after $(DESTDIR), please. > done > > + > ## install the makefile for MELT modules > install-melt-mk: melt-module.mk > $(mkinstalldirs) $(DESTDIR)/$(libexecsubdir)