| dnl Make automake/libtool output more friendly to humans |
| 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 |
| 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}" |
| AC_SUBST(CC) |
| AC_SUBST(CXX) |
| AC_SUBST(FC) |
| AC_SUBST(F77) |
| |
| V=@ |
| else |
| V=1 |
| fi |
| Q='$(V:1=)' |
| AC_SUBST(V) |
| AC_SUBST(Q) |
| ]) |
| |