Re: [PATCH] Added make options NO_GUI and WITH_P4IMPORT.
- From
- Eygene Ryabinkin <rea-git@codelabs.ru>
- Date
- Mar 26, 2007, 07:31 UTC
- Message-ID
- <20070326073143.GB44578@codelabs.ru>
- In-Reply-To
- <7v1wji371q.fsf@assigned-by-dhcp.cox.net>
Junio, good day.
Wed, Mar 21, 2007 at 09:17:21AM -0700, Junio C Hamano wrote:
Show 10 quoted lines
> Eygene Ryabinkin <rea-git@codelabs.ru> 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...
Show 5 quoted lines
> 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