Sawfish
Browse all patches

Author[]

Harald van Dijk

Synopsis[]

This patch fixes the parallel build bug that can result in:

(compiling sawfish/wm/commands/x-cycle.jl)
error--> (file-error "No such file or directory" "sawfish/wm/util/x")

When make is run with -j2 (or higher), it's possible that src/fake-libexec gets executed before the targets of the symbolic links it is supposed to create exist. src/.libexec will be incomplete if this happens, and make fails in lisp. This patch tells make to not run src/fake-libexec before the build is ready.

Patch[]

--- sawfish/src/Makefile.in
+++ sawfish/src/Makefile.in
@@ -88,7 +88,7 @@
 	$(SHELL) $< $(DESTDIR)$(bindir) $(DESTDIR)$(repexecdir)/sawfish \
 	  $(foreach x,$(DL_DIRS),$(DESTDIR)$(sawfishexecdir)/$(x))
 
-.libexec :
+.libexec : $(DL_OBJS)
 	$(SHELL) $(srcdir)/fake-libexec
 
 clean :

Community's reasons for inclusion or rejection[]

Patch submitters, please vote also! Yes, obviosuly your vote will be positive, but it's the place to give your explanation why this patch is good for all Sawfish users, and why it is correct - good reasons for inclusion.

When voting anonymously please write your name, so that it can be associated with your posts on the mailing list. If you are logged in you can sign yourself by typing four tilda characters: ~~~~.

  • Yes vote: yes. Looks reasonable. Apparently fake-libexec takes a directory listing of .libs, so there is a dependency on any files created there. Those files are not make targets, but making $(DL_OBJS) causes them to be created as a side effect of libtool. It is a bit ugly to rely on that, but simplicity speaks for the presented solution. Tkorvola 10:19, 2 March 2008 (UTC)