[PATCH] Replace shave with automake silent-rules

Dan Nicholson dbn.lists at gmail.com
Sun Dec 20 11:09:11 PST 2009


On Sun, Dec 20, 2009 at 6:42 AM, Gaetan Nadon <gaetan.nadon at videotron.ca> wrote:
> On Sat, 2009-12-19 at 22:17 +0100, Ingmar Vanhassel wrote:
>
> Which are enabled by default in Xorg's util-macros 1.3 if automake-1.11
> is used.
> ---
>  .gitignore       |    2 -
>  acinclude.m4     |   77
> ----------------------------------------------------
>  configure.ac     |    4 ---
>  shave-libtool.in |   69 -----------------------------------------------
>  shave.in         |   79
> ------------------------------------------------------
>  5 files changed, 0 insertions(+), 231 deletions(-)
>  delete mode 100644 acinclude.m4
>  delete mode 100644 shave-libtool.in
>  delete mode 100644 shave.in
>
> diff --git a/.gitignore b/.gitignore
> index fc236a3..22bba42 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -76,5 +76,3 @@ core
>  #		Edit the following section as needed
>  # For example, !report.pc overrides *.pc. See 'man gitignore'
>  #
> -shave
> -shave-libtool
> diff --git a/acinclude.m4 b/acinclude.m4
> deleted file mode 100644
> index 0a3509e..0000000
> --- a/acinclude.m4
> +++ /dev/null
> @@ -1,77 +0,0 @@
> -dnl Make automake/libtool output more friendly to humans
> -dnl  Damien Lespiau <damien.lespiau at gmail.com>
> -dnl
> -dnl SHAVE_INIT([shavedir],[default_mode])
> -dnl
> -dnl shavedir: the directory where the shave scripts are, it defaults to
> -dnl           $(top_builddir)
> -dnl default_mode: (enable|disable) default shave mode.  This parameter
> -dnl               controls shave's behaviour when no option has been
> -dnl               given to configure.  It defaults to disable.
> -dnl
> -dnl * SHAVE_INIT should be called late in your configure.(ac|in) file (just
> -dnl   before AC_CONFIG_FILE/AC_OUTPUT is perfect.  This macro rewrites CC
> and
> -dnl   LIBTOOL, you don't want the configure tests to have these variables
> -dnl   re-defined.
> -dnl * This macro requires GNU make's -s option.
> -
> -AC_DEFUN([_SHAVE_ARG_ENABLE],
> -[
> -  AC_ARG_ENABLE([shave],
> -    AS_HELP_STRING(
> -      [--enable-shave],
> -      [use shave to make the build pretty [[default=$1]]]),,
> -      [enable_shave=$1]
> -    )
> -])
> -
> -AC_DEFUN([SHAVE_INIT],
> -[
> -  dnl you can tweak the default value of enable_shave
> -  m4_if([$2], [enable], [_SHAVE_ARG_ENABLE(yes)], [_SHAVE_ARG_ENABLE(no)])
> -
> -  if test x"$enable_shave" = xyes; then
> -    dnl where can we find the shave scripts?
> -    m4_if([$1],,
> -      [shavedir="$ac_pwd"],
> -      [shavedir="$ac_pwd/$1"])
> -    AC_SUBST(shavedir)
> -
> -    dnl make is now quiet
> -    AC_SUBST([MAKEFLAGS], [-s])
> -    AC_SUBST([AM_MAKEFLAGS], ['`test -z $V && echo -s`'])
> -
> -    dnl we need sed
> -    AC_CHECK_PROG(SED,sed,sed,false)
> -
> -    dnl substitute libtool
> -    SHAVE_SAVED_LIBTOOL=$LIBTOOL
> -    LIBTOOL="${SHELL} ${shavedir}/shave-libtool '${SHAVE_SAVED_LIBTOOL}'"
> -    AC_SUBST(LIBTOOL)
> -
> -    dnl substitute cc/cxx
> -    SHAVE_SAVED_CC=$CC
> -    SHAVE_SAVED_CXX=$CXX
> -    SHAVE_SAVED_FC=$FC
> -    SHAVE_SAVED_F77=$F77
> -    SHAVE_SAVED_OBJC=$OBJC
> -    CC="${SHELL} ${shavedir}/shave cc ${SHAVE_SAVED_CC}"
> -    CXX="${SHELL} ${shavedir}/shave cxx ${SHAVE_SAVED_CXX}"
> -    FC="${SHELL} ${shavedir}/shave fc ${SHAVE_SAVED_FC}"
> -    F77="${SHELL} ${shavedir}/shave f77 ${SHAVE_SAVED_F77}"
> -    OBJC="${SHELL} ${shavedir}/shave objc ${SHAVE_SAVED_OBJC}"
> -    AC_SUBST(CC)
> -    AC_SUBST(CXX)
> -    AC_SUBST(FC)
> -    AC_SUBST(F77)
> -    AC_SUBST(OBJC)
> -
> -    V=@
> -  else
> -    V=1
> -  fi
> -  Q='$(V:1=)'
> -  AC_SUBST(V)
> -  AC_SUBST(Q)
> -])
> -
> diff --git a/configure.ac b/configure.ac
> index 6b3c4c6..ce5bf3c 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -42,8 +42,6 @@ AC_SYS_LARGEFILE
>
>  AM_MAINTAINER_MODE
>
> -AC_CONFIG_FILES([shave shave-libtool])
> -
>  # Checks for programs.
>  AC_DISABLE_STATIC
>  AC_PROG_LIBTOOL
> @@ -379,8 +377,6 @@ AC_MSG_NOTICE(
>  [Please install that driver as well for rage128-based cards.]
>  )
>
> -SHAVE_INIT(.,enable)
> -
>  AC_OUTPUT([
>  	Makefile
>  	src/Makefile
> diff --git a/shave-libtool.in b/shave-libtool.in
> deleted file mode 100644
> index 1f3a720..0000000
> --- a/shave-libtool.in
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -#!/bin/sh
> -
> -# we need sed
> -SED=@SED@
> -if test -z "$SED" ; then
> -SED=sed
> -fi
> -
> -lt_unmangle ()
> -{
> -   last_result=`echo $1 | $SED -e 's#.libs/##' -e
> 's#[0-9a-zA-Z_\-\.]*_la-##'`
> -}
> -
> -# the real libtool to use
> -LIBTOOL="$1"
> -shift
> -
> -# if 1, don't print anything, the underlaying wrapper will do it
> -pass_though=0
> -
> -# scan the arguments, keep the right ones for libtool, and discover the
> mode
> -preserved_args=
> -while test "$#" -gt 0; do
> -    opt="$1"
> -    shift
> -
> -    case $opt in
> -    --mode=*)
> -        mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'`
> -        preserved_args="$preserved_args $opt"
> -        ;;
> -    -o)
> -        lt_output="$1"
> -        preserved_args="$preserved_args $opt"
> -	;;
> -    *)
> -        preserved_args="$preserved_args $opt"
> -        ;;
> -      esac
> -done
> -
> -case "$mode" in
> -compile)
> -    # shave will be called and print the actual CC/CXX/LINK line
> -    preserved_args="$preserved_args --shave-mode=$mode"
> -    pass_though=1
> -    ;;
> -link)
> -    preserved_args="$preserved_args --shave-mode=$mode"
> -    Q="  LINK  "
> -    ;;
> -*)
> -    # let's u
> -    # echo "*** libtool: Unimplemented mode: $mode, fill a bug report"
> -    ;;
> -esac
> -
> -lt_unmangle "$lt_output"
> -output=$last_result
> -
> -if test -z $V; then
> -    if test $pass_though -eq 0; then
> -        echo "$Q$output"
> -    fi
> -    $LIBTOOL --silent $preserved_args
> -else
> -    echo $LIBTOOL $preserved_args
> -    $LIBTOOL $preserved_args
> -fi
> diff --git a/shave.in b/shave.in
> deleted file mode 100644
> index 5c16f27..0000000
> --- a/shave.in
> +++ /dev/null
> @@ -1,79 +0,0 @@
> -#!/bin/sh
> -
> -# we need sed
> -SED=@SED@
> -if test -z "$SED" ; then
> -SED=sed
> -fi
> -
> -lt_unmangle ()
> -{
> -   last_result=`echo $1 | $SED -e 's#.libs/##' -e
> 's#[0-9a-zA-Z_\-\.]*_la-##'`
> -}
> -
> -# the tool to wrap (cc, cxx, ar, ranlib, ..)
> -tool="$1"
> -shift
> -
> -# the reel tool (to call)
> -REEL_TOOL="$1"
> -shift
> -
> -pass_through=0
> -preserved_args=
> -while test "$#" -gt 0; do
> -    opt="$1"
> -    shift
> -
> -    case $opt in
> -    --shave-mode=*)
> -        mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'`
> -	;;
> -    -o)
> -        lt_output="$1"
> -        preserved_args="$preserved_args $opt"
> -	;;
> -    *)
> -        preserved_args="$preserved_args $opt"
> -        ;;
> -      esac
> -done
> -
> -# mode=link is handled in the libtool wrapper
> -case "$mode,$tool" in
> -link,*)
> -    pass_through=1
> -    ;;
> -*,cxx)
> -    Q="  CXX   "
> -    ;;
> -*,cc)
> -    Q="  CC    "
> -    ;;
> -*,fc)
> -    Q="  FC    "
> -    ;;
> -*,f77)
> -    Q="  F77   "
> -    ;;
> -*,objc)
> -    Q="  OBJC   "
> -    ;;
> -*,*)
> -    # should not happen
> -    Q="  CC    "
> -    ;;
> -esac
> -
> -lt_unmangle "$lt_output"
> -output=$last_result
> -
> -if test -z $V; then
> -    if test $pass_through -eq 0; then
> -        echo "$Q$output"
> -    fi
> -    $REEL_TOOL $preserved_args
> -else
> -    echo $REEL_TOOL $preserved_args
> -    $REEL_TOOL $preserved_args
> -fi
>
> Acked-by: Gaetan Nadon <memsize at videotron.ca>
>
> I think the convention for the e-mail title is:
> [PATCH] <module>: tiltle

I think the convention is actually [PATCH <module>]. That way, when
the commit goes into the xf86-video-ati tree, it doesn't say
"xf86-video-ati: Replace shave...". That would be redundant. The
situation you're thinking of is in the xserver (or kernel) where there
are multiple subsystems and you want to keep them separated. E.g.,
[PATCH] xfree86: Do something to the xfree86 DDX.

> I prefer using git format-patch and attach the patch, as it is now, we don't
> see the commit text and your sign-off.

The commit message was right in the body of the email, but there
wasn't a sign-off. I think you might have missed it.

> In my reader the white space does not expand the same way and the patch
> cannot be applied.
> It would be best to obtain approval from the module maintainer.

I think git-format-patch + git-send-email know how to do the right
thing. Certainly a lot of people use them without complaints. It
sounds like it might be a problem with your reader mangling the patch.

--
Dan


More information about the xorg-devel mailing list