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

Re: [PATCHv5 3/6] Gitweb: add autoconfigure support for minifiers

From
Jakub Narebski <jnareb@gmail.com>
Date
Apr 1, 2010, 22:40 UTC
Message-ID
<201004020040.26177.jnareb@gmail.com>
In-Reply-To
<4BB430D9.1090900@mailservices.uwaterloo.ca>
On Thu, 1 Apr 2010, Mark Rada wrote:
> This will allow users to set a JavaScript/CSS minifier when/if they run
> the autoconfigure script while building git.
This is a good idea, IMHO.
>                                              This is much more 
> convenient than editing Makefile and gitweb/Makefile manually.

Actually recommended way of customizing the build if one doesn't want to use ./configure script (besides providing values in command line when invoking make) is not to edit Makefile, but to add appropriate definitions to [untracked] config.mak file.

Show 11 quoted lines
> 
> Signed-off-by: Mark Rada <marada@uwaterloo.ca>
> 
> ---
> 
> 	No changes since the previous version.
> 
>  Makefile        |    4 ----
>  configure.ac    |   20 ++++++++++++++++++++
>  gitweb/Makefile |   14 ++------------
>  3 files changed, 22 insertions(+), 16 deletions(-)

Why there is no change to config.mak.in? I would thought that it would contain JSMIN=@JSMIN@ etc.

But see also below: perhaps current version is a better version.
Show 13 quoted lines
> 
> diff --git a/Makefile b/Makefile
> index 450e4df..ef1a232 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -282,10 +282,6 @@ lib = lib
>  # DESTDIR=
>  pathsep = :
>  
> -# JavaScript/CSS minifier invocation that can function as filter
> -JSMIN =
> -CSSMIN =
> -

I think it is a good change anyway, as we unset variables in Makefile only in "Guard against environment variables" for variables such as LIB_OBJS. So even without support for JSMIN/CSSMIN in ./configure it would be a good change.

Show 31 quoted lines
>  export prefix bindir sharedir sysconfdir
>  
>  CC = gcc
> diff --git a/configure.ac b/configure.ac
> index 914ae57..bf36c72 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -179,6 +179,26 @@ fi],
>     AC_MSG_NOTICE([Will try -pthread then -lpthread to enable POSIX Threads.])
>  ])
>  
> +# Define option to enable JavaScript minification
> +AC_ARG_ENABLE([jsmin],
> + [AS_HELP_STRING([--enable-jsmin=ARG],
> +   [ARG is the value to pass to make to enable JavaScript minification.])],
> + [
> +   JSMIN=$enableval;
> +   AC_MSG_NOTICE([Setting JSMIN to '$JSMIN' to enable JavaScript minifying])
> +   GIT_CONF_APPEND_LINE(JSMIN=$enableval);
> + ])
> +
> +# Define option to enable CSS minification
> +AC_ARG_ENABLE([cssmin],
> + [AS_HELP_STRING([--enable-cssmin=ARG],
> +   [ARG is the value to pass to make to enable CSS minification.])],
> + [
> +   CSSMIN=$enableval;
> +   AC_MSG_NOTICE([Setting CSSMIN to '$CSSMIN' to enable CSS minifying])
> +   GIT_CONF_APPEND_LINE(CSSMIN=$enableval);
> + ])
> +

Why not follow the code as it was done e.g. for iconv (--without-iconv and --with-iconv=path); this would require JSMIN=@JSMIN@ in config.mak.in (and respectively for CSSMIN).

Alternatively, if you decide on appending to config.mak.autogen (by the way of config.mak.append) instead of filling config.mak.in, why not use ready macro GIT_PARSE_WITH_SET_MAKE_VAR?

[...]
Show 12 quoted lines
> diff --git a/gitweb/Makefile b/gitweb/Makefile
> index fffe700..ffee4bd 100644
> --- a/gitweb/Makefile
> +++ b/gitweb/Makefile
> @@ -14,10 +14,6 @@ prefix ?= $(HOME)
>  bindir ?= $(prefix)/bin
>  RM ?= rm -f
>  
> -# JavaScript/CSS minifier invocation that can function as filter
> -JSMIN ?=
> -CSSMIN ?=
> -
I can understand that this was not needed anyway.
Show 33 quoted lines
>  # default configuration for gitweb
>  GITWEB_CONFIG = gitweb_config.perl
>  GITWEB_CONFIG_SYSTEM = /etc/gitweb.conf
> @@ -30,18 +26,10 @@ GITWEB_STRICT_EXPORT =
>  GITWEB_BASE_URL =
>  GITWEB_LIST =
>  GITWEB_HOMETEXT = indextext.html
> -ifdef CSSMIN
> -GITWEB_CSS = gitweb.min.css
> -else
>  GITWEB_CSS = gitweb.css
> -endif
>  GITWEB_LOGO = git-logo.png
>  GITWEB_FAVICON = git-favicon.png
> -ifdef JSMIN
> -GITWEB_JS = gitweb.min.js
> -else
>  GITWEB_JS = gitweb.js
> -endif
>  GITWEB_SITE_HEADER =
>  GITWEB_SITE_FOOTER =
>  
> @@ -95,9 +83,11 @@ all:: gitweb.cgi
>  FILES = gitweb.cgi
>  ifdef JSMIN
>  FILES += gitweb.min.js
> +GITWEB_JS = gitweb.min.js
>  endif
>  ifdef CSSMIN
>  FILES += gitweb.min.css
> +GITWEB_CSS = gitweb.min.css
>  endif
>  gitweb.cgi: gitweb.perl $(GITWEB_JS) $(GITWEB_CSS)
O.K., this change means that it is two conditionals less...
-- 
Jakub Narebski
Poland
Previous: Mark RadaNext: Mark Rada
Message 2 of 4 in “[PATCHv5 3/6] Gitweb: add autoconfigure support for minifiers”
  1. Mark RadaApr 1, 2010
  2. Jakub NarebskiApr 1, 2010
  3. Mark RadaApr 2, 2010
  4. Jakub NarebskiApr 2, 2010

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.