# Get full path of executable ($1)
AC_DEFUN(STEPMAKE_GET_EXECUTABLE, [
- type -p "$1" 2>&1 | awk '{print $NF}'
+ ## which doesn't work in ash, if /usr/bin/which isn't installed
+ ## type -p doesn't work in ash
+ ## command -v doesn't work in zsh
+ ## command -v "$1" 2>&1
+ ## this test should work in ash, bash, pdksh (ksh), zsh
+ type -p "$1" 2>/dev/null | tail -1 | awk '{print $NF}'
])
# Get version string from executable ($1)
AC_DEFUN(STEPMAKE_GET_VERSION, [
- "$1" --version 2>&1 | grep -v '^$' | head -1 | awk '{print $NF}'
+ ## "$1" --version 2>&1 | grep -v '^$' | head -1 | awk '{print $NF}'
+ ##
+ ## ARG.
+ ## Workaround for broken Debian gcc version string:
+ ## gcc (GCC) 3.1.1 20020606 (Debian prerelease)
+ ##
+ ## Assume, and hunt for, dotted version multiplet.
+ changequote(<<, >>)dnl
+ "$1" --version 2>&1 | grep '[0-9]\.[0-9]' | head -1 | \
+ sed -e 's/.*[^-.0-9]\([0-9][0-9]*\.[0-9][.0-9]*\).*/\1/'
+ changequote([, ])dnl
])
-# Calculate numeric version from version string ($1)
+# Calculate simplistic numeric version from version string ($1)
+# As yet, we have no need for something more elaborate.
AC_DEFUN(STEPMAKE_NUMERIC_VERSION, [
echo "$1" | awk -F. '
{
- if ([$]3) {last = [$]3}
- else {last =0}
+ if ([$]3) {three = [$]3}
+ else {three = 0}
}
- {printf "%s%s%s\n",[$]1*100, [$]2*10,last}'
+ {printf "%s%s%s\n", [$]1*100, [$]2*10, three}'
])
# Return if tested proram ($1) was found (true) or not (false).
AC_DEFUN(STEPMAKE_CHECK_SEARCH_RESULT, [
r="`eval echo '$'"$1"`"
- if test -n "$r" -a "$r" != "error" -a "$r" != "no" && ! expr '`eval echo '$'"$1"`' : '.*\(echo\)' > /dev/null; then
+ if test -n "$r" -a "$r" != "error" -a "$r" != "no" && expr '`eval echo '$'"$1"`' : '.*\(echo\)' > /dev/null; then
+ true
+ else
##STEPMAKE_WARN(cannot find $2. $3)
false
- else
- true
fi
])
AC_DEFUN(STEPMAKE_CHECK_VERSION, [
r="`eval echo '$'"$1"`"
AC_MSG_CHECKING("$r version")
+ #exe=`STEPMAKE_GET_EXECUTABLE($r)`
exe=`STEPMAKE_GET_EXECUTABLE($r)`
ver=`STEPMAKE_GET_VERSION($exe)`
num=`STEPMAKE_NUMERIC_VERSION($ver)`
STEPMAKE_CHECK_VERSION(BISON, $1, $2)
fi
])
-
AC_DEFUN(STEPMAKE_COMPILE, [
AC_PROG_CXX
STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1)
- AC_CHECK_HEADER(FlexLexer.h, true,
- STEPMAKE_WARN(cannot find flex header. Please install Flex headers correctly))
-
CPPFLAGS="$CPPFLAGS $DEFINES"
CXXFLAGS="$CXXFLAGS $OPTIMIZE"
LDFLAGS="$LDFLAGS $EXTRA_LIBES"
AC_DEFUN(STEPMAKE_DATADIR, [
if test "$datadir" = "\${prefix}/share"; then
- datadir='${prefix}/share/'$package
+ datadir='${prefix}/share/'$package/$FULL_VERSION
fi
DIR_DATADIR=${datadir}
presome=${prefix}
AC_SUBST(datadir)
AC_SUBST(DIR_DATADIR)
-
- dnl yeah, so fuck me gently with a cactus: this doesnt belong here
- dnl Please take the person responsible for inventing shell-scripts out
- dnl and shoot him. On behalf of the sane world, thank you.
- dnl DIR_SHAREDSTATEDIR="foobar"
- dnl AC_SUBST(DIR_SHAREDSTATEDIR)
+
+ # we used to set DIR_SHAREDSTATEDIR here,
+ # but apparently that broke something
AC_DEFINE_UNQUOTED(DIR_DATADIR, "${DIR_DATADIR}")
])
])
+AC_DEFUN(STEPMAKE_FLEXLEXER, [
+ AC_HAVE_HEADERS(FlexLexer.h, true, false)
+ if test $? -ne 0; then
+ warn='FlexLexer.h (flex package)'
+ STEPMAKE_ADD_ENTRY($1, $warn)
+ fi
+])
+
+
+AC_DEFUN(STEPMAKE_GCC, [
+ if test "$GCC" = "yes"; then
+ STEPMAKE_CHECK_VERSION(CC, $1, $2)
+ else
+ warn="$CC (Please install *GNU* cc)"
+ STEPMAKE_ADD_ENTRY($1, $warn)
+ fi
+])
+
AC_DEFUN(STEPMAKE_GETTEXT, [
DIR_LOCALEDIR=${localedir}
fi
done
STEPMAKE_OPTIONAL_REQUIRED(GUILE_CONFIG, $guile_config, $1)
- #if expr "$GUILE_CONFIG" : '.*\(echo\)' >/dev/null; then
if test $? -ne 0; then
STEPMAKE_ADD_ENTRY($1, 'guile-config (guile-devel, guile-dev or libguile-dev package)')
fi
changequote(<<, >>)dnl
GUILE_MAJOR_VERSION=`expr $guile_version : '\([0-9]*\)'`
GUILE_MINOR_VERSION=`expr $guile_version : '[0-9]*\.\([0-9]*\)'`
+ GUILE_PATCH_LEVEL=`expr $guile_version : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
changequote([, ])dnl
STEPMAKE_GUILE_FLAGS
AC_DEFINE_UNQUOTED(GUILE_MAJOR_VERSION, $GUILE_MAJOR_VERSION)
AC_DEFINE_UNQUOTED(GUILE_MINOR_VERSION, $GUILE_MINOR_VERSION)
+ AC_DEFINE_UNQUOTED(GUILE_PATCH_LEVEL, $GUILE_PATCH_LEVEL)
])
AC_DEFUN(STEPMAKE_GXX, [
- AC_MSG_CHECKING("g++ version")
- cxx_version=`$CXX --version`
- AC_MSG_RESULT("$cxx_version")
- changequote(<<, >>)dnl
- # urg, egcs: how to check for egcs >= 1.1?
- if expr "$cxx_version" : '.*2\.[89]' > /dev/null ||
- expr "$cxx_version" : '.*egcs' > /dev/null ||
- expr "$cxx_version" : '3\.[0-9]' > /dev/null
- changequote([, ])dnl
- then
- true
+ if test "$GXX" = "yes"; then
+ STEPMAKE_CHECK_VERSION(CXX, $1, $2)
else
- STEPMAKE_WARN(cannot find g++ 2.8, 2.9, 3.x or egcs 1.1)
- STEPMAKE_ADD_ENTRY($1, 'g++ >= 2.95 (gcc package)')
+ warn="$CXX (Please install *GNU* c++)"
+ STEPMAKE_ADD_ENTRY($1, $warn)
fi
])
-
AC_DEFUN(STEPMAKE_INIT, [
. $srcdir/VERSION
$MAKE -v 2> /dev/null | grep GNU > /dev/null
if test "$?" = 1; then
warn='make (Please install *GNU* make)'
- STEPMAKE_WARN($warn)
+ # STEPMAKE_WARN($warn)
STEPMAKE_ADD_ENTRY(REQUIRED, $warn)
fi
fi
AC_SUBST(INSTALL)
AC_DEFINE_UNQUOTED(DIRSEP, '${DIRSEP}')
AC_DEFINE_UNQUOTED(PATHSEP, '${PATHSEP}')
- AC_SUBST(PATHSEP)
AC_SUBST(DIRSEP)
+ AC_SUBST(PATHSEP)
+ AC_SUBST(ROOTSEP)
STEPMAKE_DATADIR
])
AC_DEFUN(STEPMAKE_PYTHON_DEVEL, [
- AC_HAVE_HEADERS(python2.2/Python.h python2.1/Python.h python2.0/Python.h python2/Python.h python/Python.h python1.5/Python.h Python.h)
- if test $? -ne 0; then
- STEPMAKE_ADD_ENTRY($1, 'python.h (python-devel, python-dev or libpython-dev package)')
+ AC_HAVE_HEADERS(python2.2/Python.h python2.1/Python.h python2.0/Python.h python2/Python.h python/Python.h python1.5/Python.h Python.h, PYTHON_HEADER=yes)
+ if test -z "$PYTHON_HEADER"; then
+ warn='python.h (python-devel, python-dev or libpython-dev package)'
+ STEPMAKE_ADD_ENTRY($1, $warn)
fi
])