Add shave support, enabled by default.
This cuts down build system noise so that warnings are more visible. The old style output can be reenabled for build system debugging using "make V=1", or --disable-shave at configure time.
This commit is contained in:
parent
c3a82106a1
commit
d9dbdb3255
|
|
@ -24,6 +24,8 @@ install-sh
|
|||
libtool
|
||||
ltmain.sh
|
||||
missing
|
||||
shave
|
||||
shave-libtool
|
||||
stamp-h1
|
||||
i810.4
|
||||
intel.4
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ AM_INIT_AUTOMAKE([dist-bzip2])
|
|||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
shave
|
||||
shave-libtool
|
||||
])
|
||||
|
||||
# Checks for programs.
|
||||
AC_DISABLE_STATIC
|
||||
AC_PROG_LIBTOOL
|
||||
|
|
@ -259,6 +264,8 @@ XORG_RELEASE_VERSION
|
|||
|
||||
XORG_CHECK_LINUXDOC
|
||||
|
||||
SHAVE_INIT([.], [enable])
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
uxa/Makefile
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
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)
|
||||
])
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
#!/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
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
#!/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 "
|
||||
;;
|
||||
*,*)
|
||||
# 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
|
||||
Loading…
Reference in New Issue