git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] autoconf: Add limited support for --htmldir

From
DSDavid Syzdek <david@syzdek.net>
Date
Feb 28, 2009, 07:23 UTC
Message-ID
<9a0027270902272323y44091bfakcb640f168c33a824@mail.gmail.com>
On Fri, Feb 27, 2009 at 4:57 PM, Jakub Narebski <jnareb@gmail.com> wrote:
Show 63 quoted lines
> On Sat, 28 Feb 2009, David Syzdek wrote:
>> On Fri, Feb 27, 2009 at 3:33 PM, Jakub Narebski <jnareb@gmail.com> wrote:
>>> On Thu, 26 Feb 2009, Jeff King wrote:
>>>> On Thu, Feb 26, 2009 at 09:48:29AM -0500, Tim Visher wrote:
>>>>
>>>>> I'm working on getting git 1.6.2-rc2 built.  I have a bin, man, info,
>>>>> and html directory in my home folder that I'd like to use as the
>>>>> defaults for git.  I attempted to do this through
>>>>>
>>>>>     make configure
>>>>>     ./configure --XXdir=/full/path/to/dir
>>>>>     make all man info html
>>>>>     make install install-man install-info install-html
> [...]
>
>>>> The configure support is notoriously incomplete (AFAIK, very few of the
>>>> active developers use it regularly). Probably you need something like
>>>> this (but I didn't test it):
>>>>
>>>> diff --git a/config.mak.in b/config.mak.in
>>>> index 7cce0c1..505d5c7 100644
>>>> --- a/config.mak.in
>>>> +++ b/config.mak.in
>>>> @@ -18,6 +18,8 @@ datarootdir = @datarootdir@
>>>>  template_dir = @datadir@/git-core/templates
>>>>
>>>>  mandir=@mandir@
>>>> +htmldir=@htmldir@
>>>> +infodir=@infodir@
>>>>
>>>>  srcdir = @srcdir@
>>>>  VPATH = @srcdir@
>>>
>>> Well, the infodir part works trivially, because autoconf (and
>>> therefore ./configure script) has support for --infodir=DIR.
>>> Below there is patch that adds that, with the commit message.
>>>
>>> But it is more difficult with respect to --htmldir. I am not autoconf
>>> hacker, so I don't know how to add support for having --htmldir=DIR in
>>> ./configure (in configure.ac).  What can be done is to derive htmldir
>>> in config.mak.in from other sources, for example:
>>
>> Autoconf add support for --htmldir in version 2.60.  Here is a snippet from
>> the help message from a configure script generated with 2.60:
>>
>> --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
>>
>> --docdir=DIR            documentation root [DATAROOTDIR/doc/PROJECT_TARNAME]
>>
>> --htmldir=DIR           html documentation [DOCDIR]
>>
>>
>> The current configure.ac requires autoconf version>= 2.59, bumping the
>> requirement to autoconf>= 2.60 would allow the autoconf variable $(htmldir)
>> to be used.  Bumping the required version of autoconf will affect users with
>> older linux installations who use git to upgrade git; and may affect the
>> maintainer's ability to create a "release" tarball if he has an older
>> version of autoconf.
>
> Well, I have autoconf 2.59, so I cannot test the following patch
> (and I am not sure if it is welcome). And of course it needs commit
> message, at least with explanation why bumping required version of
> autoconf was needed.

I tested the below patch using autoconf 2.59 and autoconf 2.62. If the version of autoconf used to create the configure script supports the `--htmldir' option then the htmldir is set by either autoconf or the user defined value. If the version of autoconf does not support the `--htmldir' option, then htmldir defaults to [DATADIR/doc/git].

This way a newer version of autoconf is not required for users on distros more than a year or so old, however users on newer distros are able to use the '--html' flag.

-- >8 -- Add support for --htmdir=DIR [DATAROOT/doc/git] if the configure script is created with autoconf 2.60 or higher. htmldir defaults to [DATADIR/doc/git] if the configure script is created with autoconf 2.59 or lower.

Signed-off-by: David M. Syzdek <david@syzdek.net>
---
 config.mak.in |    1 +
 configure.ac  |    7 +++++++
 2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/config.mak.in b/config.mak.in
index 7cce0c1..5ae076e 100644
--- a/config.mak.in
+++ b/config.mak.in
@@ -18,6 +18,7 @@ datarootdir = @datarootdir@
 template_dir = @datadir@/git-core/templates

 mandir=@mandir@
+htmldir=@htmldir@

 srcdir = @srcdir@
 VPATH = @srcdir@
diff --git a/configure.ac b/configure.ac
index 082a03d..6e16034 100644
--- a/configure.ac
+++ b/configure.ac
@@ -107,6 +107,13 @@ AS_HELP_STRING([],[Bare --with-tcltk will make
the GUI part only if])
 AS_HELP_STRING([],[Tcl/Tk interpreter will be found in a system.]),\
 GIT_PARSE_WITH(tcltk))
 #
+# Define ${htmldir} if the configure script was created with a version of
+# autoconf older than 2.60.
+if test "x${htmldir}" = "x";then
+   htmldir="${datadir}/doc/${PACKAGE_TARNAME}"
+   AC_SUBST(htmldir, [${htmldir}])
+fi
+#


 ## Checks for programs.
-- 
1.6.2.rc2.268.g13cc9
Next: Jakub Narebski
Message 1 of 4 in “autoconf: Add limited support for --htmldir”
  1. autoconf: Add limited support for --htmldirDavid Syzdek, Feb 28, 2009
  2. Jakub NarebskiFeb 28, 2009
  3. Nanako ShiraishiApr 10, 2009
  4. Maintainer for autoconf in git (was: [PATCH] autoconf: Add limited support for --htmldir)Jakub Narebski, Mar 2, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.