threads / patch / 32384

patchMakefile: track TCLTK_PATH as it used to be tracked

Subject: [PATCH] Makefile: track TCLTK_PATH as it used to be tracked

## tl;dr

3 messages between Dec 18, 2012 and Dec 18, 2012. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Christian Couder· Dec 18, 2012, 14:57 UTC · lore

A long time ago, gitk used to live at the root of the git.git repository. In 62ba514 (Move gitk to its own subdirectory, 2007-11-17) it was moved to a subdirectory, but some code used to track TCLTK_PATH was left in the main Makefile instead of being moved to the new Makefile that was created in gitk-git/.

The code left in the main Makefile in git.git should now have been removed because it was found useless.

And this patch puts some code back to track TCLTK_PATH properly where it should be.

Note that there is already some code to do that in git-gui.

At the same time this patch creates a .gitignore and also marks some targets in the Makefile as PHONY.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
Hi Paul,
In this thread:
http://thread.gmane.org/gmane.comp.version-control.git/211641

Junio asked me to send you this patch. So here it is, for you to apply to your tree.

Thanks, Christian.

 .gitignore |  2 ++
 Makefile   | 16 ++++++++++++++--
 2 files changed, 16 insertions(+), 2 deletions(-)
 create mode 100644 .gitignore
Show changes to 2 files +16 −2

.gitignore, Makefile

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d7ebcaf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/GIT-TCLTK-VARS
+/gitk-wish
diff --git a/Makefile b/Makefile
index e1b6045..5acdc90 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,16 @@ DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
 bindir_SQ = $(subst ','\'',$(bindir))
 TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
 
+### Detect Tck/Tk interpreter path changes
+TRACK_TCLTK = $(subst ','\'',-DTCLTK_PATH='$(TCLTK_PATH_SQ)')
+
+GIT-TCLTK-VARS: FORCE
+	@VARS='$(TRACK_TCLTK)'; \
+		if test x"$$VARS" != x"`cat $@ 2>/dev/null`" ; then \
+			echo 1>&2 "    * new Tcl/Tk interpreter location"; \
+			echo "$$VARS" >$@; \
+		fi
+
 ## po-file creation rules
 XGETTEXT   ?= xgettext
 ifdef NO_MSGFMT
@@ -49,9 +59,9 @@ uninstall::
 	$(RM) '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
 
 clean::
-	$(RM) gitk-wish po/*.msg
+	$(RM) gitk-wish po/*.msg GIT-TCLTK-VARS
 
-gitk-wish: gitk
+gitk-wish: gitk GIT-TCLTK-VARS
 	$(QUIET_GEN)$(RM) $@ $@+ && \
 	sed -e '1,3s|^exec .* "$$0"|exec $(subst |,'\|',$(TCLTK_PATH_SQ)) "$$0"|' <gitk >$@+ && \
 	chmod +x $@+ && \
@@ -65,3 +75,5 @@ $(ALL_MSGFILES): %.msg : %.po
 	@echo Generating catalog $@
 	$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@)
 
+.PHONY: all install uninstall clean update-po
+.PHONY: FORCE
-- 
1.8.1.rc1.2.g8740035
Junio C Hamano· Dec 18, 2012, 17:07 UTC · re: Christian Couder · lore

Re: [PATCH] Makefile: track TCLTK_PATH as it used to be tracked

Christian Couder <chriscool@tuxfamily.org> writes:
Show 11 quoted lines
> A long time ago, gitk used to live at the root of the git.git
> repository. In 62ba514 (Move gitk to its own subdirectory,
> 2007-11-17) it was moved to a subdirectory, but some code used
> to track TCLTK_PATH was left in the main Makefile instead
> of being moved to the new Makefile that was created in gitk-git/.
>
> The code left in the main Makefile in git.git should now have
> been removed because it was found useless.
>
> And this patch puts some code back to track TCLTK_PATH properly
> where it should be.

It is more like "should have been moved to gitk's Makefile back then, but didn't. Make it so.".

Show 16 quoted lines
>
> Note that there is already some code to do that in git-gui.
>
> At the same time this patch creates a .gitignore and also marks
> some targets in the Makefile as PHONY.
>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
> Hi Paul,
>
> In this thread:
>
> http://thread.gmane.org/gmane.comp.version-control.git/211641
>
> Junio asked me to send you this patch.
> So here it is, for you to apply to your tree.

Paul, just to clarify, I didn't review the contents of the patch; I merely redirected the patch in the right direction, so this still needs to be vetted by you ;-)

Show 5 quoted lines
> ...
> +GIT-TCLTK-VARS: FORCE
> +	@VARS='$(TRACK_TCLTK)'; \
> +		if test x"$$VARS" != x"`cat $@ 2>/dev/null`" ; then \
> +			echo 1>&2 "    * new Tcl/Tk interpreter location"; \

I think in a related patch to the top-level Makefile changes it to lose "1" to read it as "echo >&2" here.

Christian Couder· Dec 18, 2012, 18:23 UTC · re: Junio C Hamano · lore

Re: [PATCH] Makefile: track TCLTK_PATH as it used to be tracked

From: Junio C Hamano <gitster@pobox.com>
Show 10 quoted lines
> Christian Couder <chriscool@tuxfamily.org> writes:
> 
>> ...
>> +GIT-TCLTK-VARS: FORCE
>> +	@VARS='$(TRACK_TCLTK)'; \
>> +		if test x"$$VARS" != x"`cat $@ 2>/dev/null`" ; then \
>> +			echo 1>&2 "    * new Tcl/Tk interpreter location"; \
> 
> I think in a related patch to the top-level Makefile changes it to
> lose "1" to read it as "echo >&2" here.
Yeah, I forgot to remove the 1 here.

Thanks, Christian.

← back to recent threads