A Large Angry SCM <gitzilla@xxxxxxxxx> writes: > In 026fa0d5ad9538ca76838070861531c037d7b9ba, "Move computation of > absolute paths from Makefile to runtime (in preparation for > RUNTIME_PREFIX)", the following change was made to the Makefile. The > problem is that $(abspath names...) is a relatively recent addition to > GNU make and when used in an older GNU make, the test always fails > resulting incorrect installation dirs for the templates and commands. > > The new test is also wrong; (for *nix systems) in that it really wants > to test if the first character is a '/' Ok, here is the final one from me that I am considering to commit, but it would be nice to hear success/failure feedback from people who had trouble with Steffen's changes. I'd also like to hear from people who have been happy with Steffen's changes that this does not break things for them. -- >8 -- The installation rules wanted to differentiate between a template_dir that is given as an absolute path (e.g. /usr/share/git-core/templates) and a relative one (e.g. share/git-core/templates) but it was done by checking if $(abspath $(template_dir)) and $(template_dir) yield the same string. This was wrong in number of ways. * The user can give template_dir with a trailing slash from the command line to invoke make, or in the included config.mak. A directory path ought to mean the same thing with or without such a trailing slash but use of $(abspath) means with an absolute path with a trailing slash fails the test. * The compilation could be done inside /usr directory with a relative pathname share/git-core/templates and it will be mistaken as an absolute path. * Versions of GNU make older than 3.81 do not have $(abspath) to begin with. This changes the detection logic to see if the given path begins with a slash. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- Makefile | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a82f173..605b147 100644 --- a/Makefile +++ b/Makefile @@ -1434,14 +1434,14 @@ remove-dashes: ### Installation rules -ifeq ($(abspath $(template_dir)),$(template_dir)) +ifneq ($(filter /%,$(firstword $(template_dir))),) template_instdir = $(template_dir) else template_instdir = $(prefix)/$(template_dir) endif export template_instdir -ifeq ($(abspath $(gitexecdir)),$(gitexecdir)) +ifneq ($(filter /%,$(firstword $(gitexecdir))),) gitexec_instdir = $(gitexecdir) else gitexec_instdir = $(prefix)/$(gitexecdir) -- 1.6.1.2.382.gda69a -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html