Subject: Re: [PATCH] Added make options NO_GUI and WITH_P4IMPORT.

From: Eygene Ryabinkin <[email-masked]>
Date: Mon, 26 Mar 2007 11:31:43 +0400

Junio, good day.

Wed, Mar 21, 2007 at 09:17:21AM -0700, Junio C Hamano wrote:
> Eygene Ryabinkin <[email-masked]> writes:
> 
> > Technically, the checks in Makefile will look as 'ifndef NO_GUI && NO_TCL_TK'
> > instead of 'ifndef NO_GUI'. Later they can diverge as the software will
> > evolve.
> >
> > Are people happy with such plan?
> 
> Maybe later you might even want to view the graphical history
> from the server displaying on remote X, who knows?

Not sure: I don't like X on the servers ;)) But others can...

> We have NO_CURL and such because lack of the necessary libraries
> and headers prevent your build from completing, but in the case
> of git-gui and gitk, they are just scripts and you would not
> have any trouble in building.  I do not know if adding more
> conditional to Makefile in order to skip them is worth it.

OK, I reworked the patch following the suggestion of Jakub and Johannes:
now configure has the built-in detection of the Tcl/Tk binary and has
the --with-tcltk/--without-tcltk options. To implement this I still
need the NO_TCLTK knob in the Makefile. Moreover, the configure's
switch --with-tcltk=/path/to/binary works as expected: the location
of the Tcl/Tk interpreter will be rewritten in the gitk and git-gui.
The patch follows on this thread.

And regarding the building troubles and the additional knob in the
Makefile: the trouble is in the packaging process. For example, RPM
or FreeBSD ports are looking at what is really installed, so if
user do not want the Tcl/Tk part, then no package parts that depend
on it should be installed. And the bare 'make install' installs all
things. Sure, you can make 'make install && rm -f <not needed
files>', but it is always a pain for the package builders to get
the idea about the precise file list. So I just wanted to integrate
the desired behaviour in the mainstream Git to make packager's life
a bit easy. May be by the cost of making developer's life a bit
harder: he should watch for the NO_TCLTK in his Makefiles.
-- 
Eygene