]> git.donarmstrong.com Git - lilypond.git/blobdiff - aclocal.m4
Web-ja: update introduction
[lilypond.git] / aclocal.m4
index a7f2f4430052d6f57d1181a5cc88a83460cc6bc5..1228f6ca29c6208a89c19bdf8aee3f651a9c3dcb 100644 (file)
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
 dnl aclocal.m4   -*-shell-script-*-
-dnl StepMake subroutines for configure.in
+dnl StepMake subroutines for configure.ac
 
-AC_DEFUN(AC_STEPMAKE_BIBTEX2HTML, [
-    AC_CHECK_PROGS(BIBTEX2HTML, bibtex2html bib2html, error)
+
+### mostly interal macros
+
+# Get full path of executable ($1)
+AC_DEFUN(STEPMAKE_GET_EXECUTABLE, [
+    ## 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 -n 1 | awk '{print $NF}'
+])
+
+
+# Get version string from executable ($1)
+AC_DEFUN(STEPMAKE_GET_VERSION, [
+    ## "$1" --version 2>&1 | grep -v '^$' | head -n 1 | awk '{print $NF}'
+    ##
+    ## ARG.
+    ## Workaround for broken Debian gcc version string:
+    ##     gcc (GCC) 3.1.1 20020606 (Debian prerelease)
+    ##
+    ## -V: Workaround for python
+
+    changequote(<<, >>)#dnl
+
+    ## Assume and hunt for dotted version multiplet.
+    ## use eval trickery, because we cannot use multi-level $() instead of ``
+    ## for compatibility reasons.
+    
+    ## grab the first version number in  --version output.
+    eval _ver=\"\`("$1" --version || "$1" -V) 2>&1 |
+               grep -E '(^| )[0-9][0-9]*\.[0-9]' |
+               head -n 1 |
+               tr ' ' '\n' |
+               sed 's/\([0-9][0-9]*\.[0-9][0-9.]*\).*/\1/g' |
+               grep -E '(^| )[0-9][0-9]*\.[0-9]' |
+               head -n 1\`\"
+
+    if test -z "$_ver"; then
+        ## If empty, try date [fontforge]
+        eval _ver=\"\`("$1" --version || "$1" -V) 2>&1 \
+           | grep '\(^\|[^0-9a-f]\)[0-9]\{6,8\}\([^0-9a-f]\|$\)' \
+           | head -n 1 \
+           | sed -e 's/^[^.0-9]*//' -e 's/[^.0-9]*$//'\`\"
+    fi
+    echo "$_ver"
+    changequote([, ])#dnl
+])
+
+# 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) {three = [$]3}
+      else {three = 0}
+    }
+    {printf "%.0f\n", [$]1*1000000 + [$]2*1000 + three}'
+])
+
+
+# Add item ($2) to list ($1, one of 'OPTIONAL', 'REQUIRED')
+AC_DEFUN(STEPMAKE_ADD_ENTRY, [
+    eval "$1"=\"`eval echo \"'$'$1\" \"$2\"`\"
+])
+
+# Check if tested program ($2) was found ($1).
+# If not, add entry to missing-list ($3, one of 'OPTIONAL', 'REQUIRED').
+# We could abort here if a 'REQUIRED' program is not found
+AC_DEFUN(STEPMAKE_OPTIONAL_REQUIRED, [
+    STEPMAKE_CHECK_SEARCH_RESULT($1)
+    if test $? -ne 0; then
+       STEPMAKE_ADD_ENTRY($3, $2)
+       if test "$3" = "REQUIRED"; then
+           command="echo ERROR: $2 not found"
+           # abort configure process here?
+       else
+           command="- echo $2 not found"
+       fi
+       eval "$1"='$command'
+       false
+    else
+       true
+    fi
+])
+
+
+# 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
+       true
+    else
+       ##STEPMAKE_WARN(cannot find $2. $3)
+       false
+    fi
+])
+
+
+# Check version of program ($1)
+# If version ($4: optional argument, supply if version cannot be
+# parsed using --version or -V ) is smaller than requested ($3), add
+# entry to missing-list ($2, one of 'OPTIONAL', 'REQUIRED').
+AC_DEFUN(STEPMAKE_CHECK_VERSION, [
+    r="`eval echo '$'"$1"`"
+    AC_MSG_CHECKING([$r version])
+    exe=`STEPMAKE_GET_EXECUTABLE($r)`
+    if test -n "$4"; then
+        ver="$4"
+    else
+        ver=`STEPMAKE_GET_VERSION($exe)`
+    fi
+    num=`STEPMAKE_NUMERIC_VERSION($ver)`
+    req=`STEPMAKE_NUMERIC_VERSION($3)`
+    AC_MSG_RESULT([$ver])
+    if test "$num" -lt "$req"; then
+       STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
+    fi
+    vervar="`echo $1 | tr '[a-z]' '[A-Z]'`_VERSION"
+    eval `echo $vervar=$num`
+##    AC_SUBST(`eval echo $vervar`)
+])
+
+# Check version of program ($1)
+# If version is greater than or equals unsupported ($3),
+# add entry to unsupported list ($2, 'UNSUPPORTED')
+AC_DEFUN(STEPMAKE_CHECK_VERSION_UNSUPPORTED, [
+    r="`eval echo '$'"$1"`"
+    AC_MSG_CHECKING([$r version])
+    exe=`STEPMAKE_GET_EXECUTABLE($r)`
+    ver=`STEPMAKE_GET_VERSION($exe)`
+    num=`STEPMAKE_NUMERIC_VERSION($ver)`
+    sup=`STEPMAKE_NUMERIC_VERSION($3)`
+    AC_MSG_RESULT([$ver])
+    if test "$num" -ge "$sup"; then
+       STEPMAKE_ADD_ENTRY($2, ["$r < $3 (installed: $ver)"])
+    fi
+])
+
+### Macros to build configure.ac
+
+
+AC_DEFUN(STEPMAKE_BIBTEX2HTML, [
+    STEPMAKE_PROGS(BIBTEX2HTML, bibtex2html bib2html, $1)
     if test "$BIBTEX2HTML" = "bib2html"; then
        BIBTEX2HTML_FLAGS='$< $(@)'
     else
@@ -15,221 +156,621 @@ AC_DEFUN(AC_STEPMAKE_BIBTEX2HTML, [
 ])
 
 
-AC_DEFUN(AC_STEPMAKE_COMPILE, [
+AC_DEFUN(STEPMAKE_BISON, [
+    # ugh, automake: we want (and check for) bison
+    AC_PROG_YACC
+    
+    STEPMAKE_PROGS(BISON, bison, $1)
+    
+    # urg.  should test functionality rather than version.
+    if test "$BISON" = "bison" -a -n "$2"; then
+       STEPMAKE_CHECK_VERSION(BISON, $1, $2)
+    fi
+])
+
+AC_DEFUN(STEPMAKE_COMPILE_BEFORE, [
     # -O is necessary to get inlining
-    OPTIMIZE=""
-    CFLAGS=${CFLAGS:-""}
-    CXXFLAGS=${CXXFLAGS:-$CFLAGS}
-    LDFLAGS=${LDFLAGS:-""}
-    checking_b=yes
-    optimise_b=no
+    CFLAGS=${CFLAGS-""}
+    CXXFLAGS=${CXXFLAGS-$CFLAGS}
+    LDFLAGS=${LDFLAGS-""}
+    optimise_b=yes
+    checks_b=no
     profile_b=no
     debug_b=yes
+    pipe_b=yes
 
-    AC_ARG_ENABLE(checking,
-    [  enable-checking         set runtime checks (assert calls). Default: on],
-    [checking_b=$enableval] )
+    AC_ARG_ENABLE(debugging,
+    [AS_HELP_STRING([--enable-debugging],
+                    [compile with debugging info.  Default: on])],
+    [debug_b=$enableval])
 
-    # actually, the default is: tja='-O' to get inlining...
-    # off=''  --jcn
+    AC_ARG_ENABLE(checking,
+    [AS_HELP_STRING([--enable-checking],
+                    [compile with expensive run-time checks.  Default: off])],
+    [checks_b=$enableval])
 
-    #actually, that sucks.
-    #  tja looks like a typo.  Default is optimisation off. --hwn
-    
-    AC_ARG_ENABLE(optimise,
-    [  enable-optimise         use maximal speed optimisations. Default: off],
+    AC_ARG_ENABLE(optimising,
+    [AS_HELP_STRING([--enable-optimising],
+                    [compile with optimising.  Default: on])],
     [optimise_b=$enableval])
-    
+
     AC_ARG_ENABLE(profiling, 
-    [  enable-profiling        compile with gprof support. Default: off],
+    [AS_HELP_STRING([--enable-profiling],
+                    [compile with gprof support.  Default: off])],
     [profile_b=$enableval])
     
-    AC_ARG_ENABLE(debugging,
-    [  enable-debugging        set debug info. Default: on],
-    [debug_b=$enableval])
-
-    AC_ARG_ENABLE(mingw-prefix,
-    [  enable-mingw-prefix=DIR set the mingw32 directory (standalone windows32 exes)],
-    [MINGWPREFIX=$enableval],
-    [MINGWPREFIX=no])
-
-    if test "$checking_b" = no; then
-       # ugh
-       AC_DEFINE(NDEBUG)
-       DEFINES="$DEFINES -DNDEBUG"
-    fi
+    AC_ARG_ENABLE(pipe, 
+    [AS_HELP_STRING([--enable-pipe],
+                    [compile with -pipe.  Default: on])],
+    [pipe_b=$enableval])
 
     if test "$optimise_b" = yes; then
-       OPTIMIZE="-O2 -finline-functions"
+       OPTIMIZE=" -O2 -finline-functions"
+       # following two lines are compatibility while Patchy has not
+       # yet learnt about --enable-checking.  But once it has, we
+       # don't want -DDEBUG twice, so we omit it here if it is going
+       # to get added anyway later.
+    elif test "$checks_b" != yes; then
+       DEFINES="$DEFINES -DDEBUG"
     fi
 
-    if test "$optimise_b" = no; then
-       OPTIMIZE=""
+    if test "$checks_b" = yes; then
+       DEFINES="$DEFINES -DDEBUG"
     fi
 
     if test $profile_b = yes; then
-       EXTRA_LIBES="-pg"
+       EXTRA_LIBS="-pg"
        OPTIMIZE="$OPTIMIZE -pg"
     fi
 
-    if test $debug_b = yes; then       
+    if test $debug_b = yes; then
        OPTIMIZE="$OPTIMIZE -g"
     fi
+])
 
-    # however, C++ support in mingw32 v 0.1.4 is still flaky
-    if test x$MINGWPREFIX != xno; then 
-       ICFLAGS="-I$MINGWPREFIX/include"
-       ILDFLAGS="-$MINGWPREFIX/lib"
-    fi
+AC_DEFUN(STEPMAKE_COMPILE, [
+
+    AC_REQUIRE([STEPMAKE_COMPILE_BEFORE])
+    AC_REQUIRE([AC_PROG_CC])
 
-    AC_PROG_CC
+    STEPMAKE_OPTIONAL_REQUIRED(CC, cc, $1)
     LD='$(CC)'
     AC_SUBST(LD)
 
+    # If -pipe requested, test if it works and add to CFLAGS.
+    if test "$pipe_b" = yes; then
+       save_cflags="$CFLAGS"
+       CFLAGS=" -pipe $CFLAGS";
+       AC_CACHE_CHECK([whether compiler understands -pipe],
+           [stepmake_cv_cflags_pipe],
+           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[/* -pipe test */]])],
+               [stepmake_cv_cflags_pipe=yes],
+               [stepmake_cv_cflags_pipe=no]))
+       CFLAGS=$save_cflags
+       if test $stepmake_cv_cflags_pipe = yes; then
+           OPTIMIZE="$OPTIMIZE -pipe"
+       fi
+    fi
+
     CFLAGS="$CFLAGS $OPTIMIZE"
-    CPPFLAGS=${CPPFLAGS:-""}
+    CPPFLAGS=${CPPFLAGS-""}
+
+    AC_MSG_CHECKING([for IEEE-conformance compiler flags])
+    save_cflags="$CFLAGS"
+    case "$host" in
+        alpha*-*-*)
+           dnl should do compile test?
+           AC_MSG_RESULT(-mieee)
+           CFLAGS=" -mieee $CFLAGS"
+           ;;
+       *)
+           AC_MSG_RESULT([none])
+           ;;
+    esac
+
     AC_SUBST(cross_compiling)
     AC_SUBST(CFLAGS)
     AC_SUBST(CPPFLAGS)
     AC_SUBST(LDFLAGS)
-    AC_SUBST(ICFLAGS)
-    AC_SUBST(ILDFLAGS)
     AC_SUBST(DEFINES)
-    AC_SUBST(EXTRA_LIBES)
+    AC_SUBST(EXTRA_LIBS)
 ])
 
-AC_DEFUN(AC_STEPMAKE_CXX, [
-    AC_LANG_CPLUSPLUS
+AC_DEFUN(STEPMAKE_CXX, [
     AC_PROG_CXX
+    STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1)
 
-    AC_CHECK_HEADER(FlexLexer.h, true,
-       AC_STEPMAKE_WARN(can"\'"t find flex header. Please install Flex headers correctly))
-
-    CPPFLAGS="$CPPFLAGS $DEFINES"
     CXXFLAGS="$CXXFLAGS $OPTIMIZE"
-    LDFLAGS="$LDFLAGS $EXTRA_LIBES"
 
-    AC_SUBST(CXXFLAGS)
     AC_SUBST(CXX)
-    LD='$(CXX)'
-    AC_SUBST(LD)
+    AC_SUBST(CXXFLAGS)
 ])
 
-AC_DEFUN(AC_STEPMAKE_CXXTEMPLATE, [
+
+AC_DEFUN(STEPMAKE_CXXTEMPLATE, [
     AC_CACHE_CHECK([whether explicit instantiation is needed],
-       lily_cv_need_explicit_instantiation,
-       AC_TRY_LINK([
+       stepmake_cv_need_explicit_instantiation,
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([[
     template <class T> struct foo { static int baz; };
     template <class T> int foo<T>::baz = 1;
-    ], [ return foo<int>::baz; ],
-           lily_cv_need_explicit_instantiation=no,
-           lily_cv_need_explicit_instantiation=yes))
-    if test x"$lily_cv_need_explicit_instantiation"x = x"yes"x; then
+    ]], [[ return foo<int>::baz; ]])],[stepmake_cv_need_explicit_instantiation=no],[stepmake_cv_need_explicit_instantiation=yes]))
+    if test x"$stepmake_cv_need_explicit_instantiation"x = x"yes"x; then
        AC_DEFINE(NEED_EXPLICIT_INSTANTIATION)
     fi
 ])
 
-AC_DEFUN(AC_STEPMAKE_DATADIR, [
-    if test "$datadir" = "\${prefix}/share"; then
-           datadir='${prefix}/share/'$package
-    fi
-    DIR_DATADIR=${datadir}
+AC_DEFUN(STEPMAKE_GXXCODEGENBUG, [
+    AC_MSG_CHECKING([options for known g++ bugs])
+    case "$GXX:$CXX_VERSION" in
+       yes:400600[[0-2]])
+           AC_MSG_RESULT([-fno-optimize-sibling-calls (tail call bug)])
+           CXXFLAGS="$CXXFLAGS -fno-optimize-sibling-calls"
+           ;;
+       yes:400700?)
+           AC_MSG_RESULT([-fno-tree-vrp (comparison bug)])
+           CXXFLAGS="$CXXFLAGS -fno-tree-vrp"
+           ;;
+       *) AC_MSG_RESULT([none])
+    esac
+    AC_SUBST(CXXFLAGS)
+])
+
+
+AC_DEFUN(STEPMAKE_DATADIR, [
     presome=${prefix}
     if test "$prefix" = "NONE"; then
+       presome=${ac_default_prefix}
+    fi
+    
+    build_package_datadir=$ugh_ugh_autoconf250_builddir/out$CONFIGSUFFIX/share/$package
+    
+    DATADIR=`echo ${datadir} | sed "s!\\\${datarootdir}!${presome}/share!"`
+    DATADIR=`echo ${DATADIR} | sed "s!\\\${prefix}!$presome!"`
+    BUILD_PACKAGE_DATADIR=`echo ${build_package_datadir} | sed "s!\\\${prefix}!$presome!"`
+    
+    AC_SUBST(datadir)
+    AC_SUBST(datarootdir)
+    AC_SUBST(build_package_datadir)
+    AC_DEFINE_UNQUOTED(DATADIR, ["${DATADIR}"])
+    AC_DEFINE_UNQUOTED(BUILD_PACKAGE_DATADIR, ["${BUILD_PACKAGE_DATADIR}"])
+])
+
+## ugh: cut & paste programming from datadir. 
+AC_DEFUN(STEPMAKE_LIBDIR, [
+    presome=${exec_prefix}
+    if test "$presome" = "NONE"; then
+           presome=${prefix}
+    fi
+    if test "$presome" = "NONE"; then
            presome=${ac_default_prefix}
     fi
-    DIR_DATADIR=`echo ${DIR_DATADIR} | sed "s!\\\${prefix}!$presome!"`
 
-    AC_SUBST(datadir)
-    AC_SUBST(DIR_DATADIR)
+    build_package_libdir=$ugh_ugh_autoconf250_builddir/out$CONFIGSUFFIX/lib/$package
     
-    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)
+    LIBDIR=`echo ${libdir} | sed "s!\\\${exec_prefix}!$presome!"`
+    BUILD_PACKAGE_LIBDIR=`echo ${build_package_libdir} | sed "s!\\\${exec_prefix}!$presome!"`
     
-    AC_DEFINE_UNQUOTED(DIR_DATADIR, "${DIR_DATADIR}")
+    AC_SUBST(libdir)
+    AC_SUBST(build_package_libdir)
+    AC_DEFINE_UNQUOTED(LIBDIR, ["${LIBDIR}"])
+    AC_DEFINE_UNQUOTED(BUILD_PACKAGE_LIBDIR, ["${BUILD_PACKAGE_LIBDIR}"])
+])
+
+
+AC_DEFUN(STEPMAKE_PREFIX_EXPAND_FIXUP, [
+    # undo expanding of explicit --infodir=/usr/share
+    # to ease install-time override with prefix=...
+    strip=`echo $includedir | eval sed s@^$prefix@@`
+    if test "$includedir" = "`eval echo $prefix$strip`"; then
+           includedir='${prefix}'$strip''
+    fi
+    strip=`echo $libdir | eval sed s@^$exec_prefix@@`
+    if test "$libdir" = "`eval echo $exec_prefix$strip`"; then
+           libdir='${exec_prefix}'$strip''
+    fi
+    strip=`echo $infodir | eval sed s@^$datarootdir@@`
+    if test "$infodir" = "`eval echo $datarootdir$strip`"; then
+           infodir='${datarootdir}'$strip''
+    fi
+    strip=`echo $mandir | eval sed s@^$datarootdir@@`
+    if test "$mandir" = "`eval echo $datarootdir$strip`"; then
+           mandir='${datarootdir}'$strip''
+    fi
 ])
 
-AC_DEFUN(AC_STEPMAKE_END, [
-    AC_OUTPUT($CONFIGFILE.make:config.make.in)
+
+AC_DEFUN(STEPMAKE_END, [
+    STEPMAKE_PREFIX_EXPAND_FIXUP
+
+    AC_SUBST(OPTIONAL)
+    AC_SUBST(REQUIRED)
+    
+    AC_CONFIG_FILES([$CONFIGFILE.make:config.make.in])
+    AC_OUTPUT
+    
+    if test -n "$OPTIONAL"; then
+       echo
+        echo "WARNING: Please consider installing optional programs or files: $OPTIONAL"
+    fi
+
+    if test -n "$REQUIRED"; then
+       echo
+        echo "ERROR: Please install required programs: $REQUIRED"
+    fi
+    
+    if test -n "$UNSUPPORTED"; then
+       echo
+        echo "ERROR: Please use older version of programs: $UNSUPPORTED"
+    fi
+    
+    if test -n "$OPTIONAL$REQUIRED$UNSUPPORTED"; then
+       echo
+       echo "See INSTALL.txt for more information on how to build $PACKAGE_NAME"
+       if test -f config.cache ; then
+           echo "Remove config.cache before rerunning ./configure"
+       fi 
+    fi
+    
+    if test -n "$REQUIRED$UNSUPPORTED"; then
+       rm -f $srcdir/GNUmakefile
+        exit 1
+    fi
 
     # regular in-place build
     # test for srcdir_build = yes ?
-    if test "$builddir" = "."; then
+    if test "$srcdir_build" = "yes"; then
        rm -f $srcdir/GNUmakefile
        cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile
        chmod 444 $srcdir/GNUmakefile
-    else # --srcdir build
-        rm -f GNUmakefile
-       cp $srcdir/make/srcdir.make.in GNUmakefile
-       chmod 444 GNUmakefile
+    else
+       if test -f $srcdir/GNUmakefile; then
+           cat <<EOF
+Source directory already configured.  Please clean the source directory
+
+     make -C $srcdir distclean
+
+and rerun configure.
+EOF
+           exit 2
+       fi
+
+       abssrcdir="`cd $srcdir; pwd`"
+       absbuilddir="`pwd`"
+       for d in 2 3 4 5 ; do
+           for mf in `cd $srcdir ; find . -maxdepth $d -mindepth $d -name GNUmakefile`; do
+               case "$abssrcdir" in
+                   "$absbuilddir"/*)
+# source is below build directory, always copy
+                       ;;
+                   *)
+                       case "$abssrcdir/${mf#./}" in
+                           "$absbuilddir"/*)
+# find descended into build directory, don't copy
+                               continue
+                       esac
+               esac
+               mkdir -p ${mf%/*}
+               cat <<EOF | $PYTHON -  > $mf
+print 'depth=' + ('../' * ( $d-1 ) )
+print 'include \$(depth)/config\$(if \$(conf),-\$(conf),).make'
+print 'include \$(configure-srcdir)/$mf'
+print 'MODULE_INCLUDES += \$(src-dir)/\$(outbase)'
+EOF
+           done
+           for mf in `cd $srcdir ; find . -maxdepth $d -mindepth $d -name '*.make' | grep -v config.make `; do
+               case "$abssrcdir" in
+                   "$absbuilddir"/*)
+# source is below build directory, always copy
+                       ;;
+                   *)
+                       case "$abssrcdir/${mf#./}" in
+                           "$absbuilddir"/*)
+# find descended into build directory, don't copy
+                               continue
+                       esac
+               esac
+               mkdir -p ${mf%/*}
+               cat <<EOF | $PYTHON -  > $mf
+print 'include \$(depth)/config\$(if \$(conf),-\$(conf),).make'
+print 'include \$(configure-srcdir)/$mf'
+EOF
+           done
+       done
+
+       rm -f GNUmakefile
+       cat <<EOF > GNUmakefile
+depth = .
+include config\$(if \$(conf),-\$(conf),).make
+include \$(configure-srcdir)/GNUmakefile.in
+EOF
+       chmod 444 GNUmakefile
+       AC_SUBST(VPATH)
     fi
 ])
 
-AC_DEFUN(AC_STEPMAKE_GXX, [
-    # ugh autoconf
-    # urg, egcs: how to check for egcs >= 1.1?
-    changequote(<<, >>)dnl
-    if $CXX --version | egrep '2\.[89]' > /dev/null ||
-       $CXX --version | grep 'egcs' > /dev/null
-    changequote([, ])dnl
-    then
-           true
+
+AC_DEFUN(STEPMAKE_FLEX, [
+    # ugh, automake: we want (and check for) flex
+    # AC_PROG_LEX
+    # urg: automake 1.3: hope this doesn't break 1.2 ac_cv_pro_lex_root hack...
+
+    # AC_PROG_LEX()
+    # ugh, ugh
+    ac_cv_prog_lex_root=lex.yy
+    STEPMAKE_PROGS(FLEX, flex, $1)
+])
+
+
+AC_DEFUN(STEPMAKE_FLEXLEXER, [
+    AC_CHECK_HEADERS([FlexLexer.h],[true],[false])
+    if test $? -ne 0; then
+       warn='FlexLexer.h (flex package)'
+       STEPMAKE_ADD_ENTRY($1, $warn)
+    fi
+    # check for yyFlexLexer.yy_current_buffer,
+    # in 2.5.4 <= flex < 2.5.29
+    AC_CACHE_CHECK([for yyFlexLexer.yy_current_buffer],
+       [stepmake_cv_flexlexer_yy_current_buffer],
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+using namespace std;
+#include <FlexLexer.h>
+class yy_flex_lexer: public yyFlexLexer
+{
+  public:
+    yy_flex_lexer ()
+    {
+      yy_current_buffer = 0;
+    }
+};
+]])],
+           [stepmake_cv_flexlexer_yy_current_buffer=yes],
+           [stepmake_cv_flexlexer_yy_current_buffer=no]))
+    if test $stepmake_cv_flexlexer_yy_current_buffer = yes; then
+       AC_DEFINE(HAVE_FLEXLEXER_YY_CURRENT_BUFFER, 1, [Define to 1 if yyFlexLexer has yy_current_buffer.])
+    fi
+])
+  
+
+
+AC_DEFUN(STEPMAKE_FLEXLEXER_LOCATION, [
+       AC_MSG_CHECKING([FlexLexer.h location])
+
+       # ugh.
+       cat <<EOF > conftest.cc
+using namespace std;
+#include <FlexLexer.h>
+EOF
+       FLEXLEXER_FILE=`eval $ac_cpp conftest.cc | \
+         sed 's!# 1 "\(.*FlexLexer.h\)"!@FLEXLEXER@\1@@!g' | grep '@@' | \
+         sed 's!.*@FLEXLEXER@\(.*\)@@.*$!\1!g' ` 1> /dev/null 2> /dev/null
+       rm conftest.cc
+       AC_SUBST(FLEXLEXER_FILE)
+        AC_MSG_RESULT($FLEXLEXER_FILE)
+])
+
+AC_DEFUN(STEPMAKE_GCC_OR_CLANG, [
+    STEPMAKE_HAS_CLANG()
+    if test "$HAS_CLANG" = "no"; then
+        if test "$GCC" = "yes"; then
+            STEPMAKE_CHECK_VERSION(CC, $1, $2)
+        else
+           warn="$CC (Please install *GNU* cc)"
+           STEPMAKE_ADD_ENTRY($1, $warn)
+        fi
+    fi
+    # no else, we're fine with any clang
+])
+
+AC_DEFUN(STEPMAKE_GETTEXT, [
+    presome=${prefix}
+    if test "$prefix" = "NONE"; then
+           presome=${ac_default_prefix}
+    fi
+    LOCALEDIR=`echo ${localedir} | sed "s!\\\${prefix}!$presome!"`
+    
+    AC_SUBST(localedir)
+    AC_DEFINE_UNQUOTED(LOCALEDIR, ["${LOCALEDIR}"])
+    AC_CHECK_LIB(intl, gettext)
+    AC_CHECK_FUNCS(gettext)
+])
+
+
+# Check for guile, between minimum ($2) and maximum version ($3).
+# If missing, add entry to missing-list ($1, one of 'OPTIONAL', 'REQUIRED')
+AC_DEFUN(STEPMAKE_GUILE, [
+    AC_MSG_CHECKING([for guile])
+    guile="guile"
+    found="no"
+    for r in $GUILE guile guile2 guile2.0 guile-2.0 guile1 guile1.9 guile1.8 guile-1 guile-1.9 guile-1.8; do
+       exe=`STEPMAKE_GET_EXECUTABLE($r)`
+       if ! $exe --version > /dev/null 2>&1 ; then
+           continue
+       fi
+       ver=`STEPMAKE_GET_VERSION($exe)`
+       num=`STEPMAKE_NUMERIC_VERSION($ver)`
+       req=`STEPMAKE_NUMERIC_VERSION($2)`
+       sup=`STEPMAKE_NUMERIC_VERSION($3)`
+       if test -n "$2" && test "$num" -lt "$req"; then
+           guile=["$r >= $2 (installed: $ver)"]
+           continue
+       else
+           if test -n "$3" && test "$num" -ge "$sup"; then
+               guile=["$r < $3 (installed: $ver)"]
+               continue
+           else
+               guile=$r
+               found=$r
+               break
+           fi
+       fi
+    done
+    AC_MSG_RESULT([$found])
+    if test "$found" != "no"; then
+       AC_MSG_CHECKING([$guile version])
+       AC_MSG_RESULT([$ver])
+       GUILE=$found
     else
-           AC_STEPMAKE_WARN(can\'t find g++ 2.8, 2.9 or egcs 1.1)
+       STEPMAKE_ADD_ENTRY($1, $guile)
+    fi
+    STEPMAKE_PATH_PROG(GUILE, $GUILE)
+])
+
+
+#   STEPMAKE_GUILE_FLAGS --- set flags for compiling and linking with Guile
+#
+#   This macro runs the guile-config script, installed with Guile,
+#   to find out where Guile's header files and libraries are
+#   installed.  It sets two variables, marked for substitution, as
+#   by AC_SUBST.
+#   
+#     GUILE_CFLAGS --- flags to pass to a C or C++ compiler to build
+#             code that uses Guile header files.  This is almost
+#             always just a -I flag.
+#   
+#     GUILE_LDFLAGS --- flags to pass to the linker to link a
+#             program against Guile.  This includes -lguile for
+#             the Guile library itself, any libraries that Guile
+#             itself requires (like -lqthreads), and so on.  It may
+#             also include a -L flag to tell the compiler where to
+#             find the libraries.
+
+AC_DEFUN([STEPMAKE_GUILE_FLAGS], [
+    exe=`STEPMAKE_GET_EXECUTABLE($guile_config)`
+    if test -x $exe; then
+       AC_MSG_CHECKING([guile compile flags])
+       GUILE_CFLAGS="`$guile_config compile`"
+       AC_MSG_RESULT($GUILE_CFLAGS)
+       AC_MSG_CHECKING([guile link flags])
+       GUILE_LDFLAGS="`$guile_config link`"
+       AC_MSG_RESULT($GUILE_LDFLAGS)
     fi
+    AC_SUBST(GUILE_CFLAGS)
+    AC_SUBST(GUILE_LDFLAGS)
 ])
 
-AC_DEFUN(AC_STEPMAKE_GUILE, [
+
+# Check for guile-config, between minimum ($2) and maximum version ($3).
+# If missing, add entry to missing-list ($1, one of 'OPTIONAL', 'REQUIRED')
+AC_DEFUN(STEPMAKE_GUILE_DEVEL, [
     ## First, let's just see if we can find Guile at all.
-    AC_MSG_CHECKING("for guile-config")
-    for guile_config in guile-config $target-guile-config $build-guile-config; do
-       AC_MSG_RESULT("$guile_config")
-       if ! $guile_config --version > /dev/null 2>&1 ; then
-           AC_MSG_WARN("cannot execute $guile_config")
-           AC_MSG_CHECKING("if we are cross compiling")
-           guile_config=error
+    test -n "$target_alias" && target_guile_config=$target_alias-guile-config
+    test -n "$host_alias" && host_guile_config=$host_alias-guile-config
+    AC_MSG_CHECKING([for guile-config])
+    guile_config="guile-config"
+    found="no"
+    for r in $GUILE_CONFIG \
+      $target_guile_config $host_guile_config $build_guile_config \
+      guile-config \
+      guile2-config   guile-2-config   guile-config-2   \
+      guile2.2-config guile-2.2-config guile-config-2.2 \
+      guile2.0-config guile-2.0-config guile-config-2.0 \
+      guile1-config   guile-1-config   guile-config-1   \
+      guile1.9-config guile-1.9-config guile-config-1.9 \
+      guile1.8-config guile-1.8-config guile-config-1.8; \
+      do
+       exe=`STEPMAKE_GET_EXECUTABLE($r)`
+       if ! $exe --version > /dev/null 2>&1 ; then
+           continue
+       fi
+       ver=`STEPMAKE_GET_VERSION($exe)`
+       num=`STEPMAKE_NUMERIC_VERSION($ver)`
+       req=`STEPMAKE_NUMERIC_VERSION($2)`
+       sup=`STEPMAKE_NUMERIC_VERSION($3)`
+       if test -n "$2" -a "$num" -lt "$req"; then
+           guile_config=["$r >= $2 (installed: $ver)"]
+           continue
        else
-           break
+           if test -n "$3" -a "$num" -ge "$sup"; then
+               guile_config=["$r < $3 (installed: $ver)"]
+               continue
+           else
+               guile_config=$r
+               found=$r
+               break
+           fi
        fi
     done
-    if test "$guile_config" = "error"; then
-       AC_MSG_ERROR("cannot find guile-config; is Guile installed?")
-       exit 1
-    fi
-    AC_MSG_CHECKING("Guile version")
-    need_guile_version="1.3.4"
-    need_guile_version_numeric=100304
-    guile_version=`$guile_config --version 2>&1 | awk '{print $NF}'`
-    guile_version_numeric=`echo $guile_version | awk -F. '
-{if ([$]3) {last = [$]3}
-else {last =0}}
-{printf "%s%s%s\n",[$]1*100, [$]2*10,last}'`
-    AC_MSG_RESULT("$guile_version")
-    if test $guile_version_numeric -lt $need_guile_version_numeric
-    then
-        AC_STEPMAKE_WARN("Guile version "$need_guile_version" or newer is needed")
-    fi
-    GUILE_FLAGS
-    AC_PATH_PROG(GUILE, guile, error)
-    AC_SUBST(GUILE)
+    AC_MSG_RESULT([$found])
+    if test "$found" != "no"; then
+       AC_MSG_CHECKING([$guile_config version])
+       AC_MSG_RESULT([$ver])
+       GUILE_CONFIG=$found
+    else
+       STEPMAKE_ADD_ENTRY($1, "$guile_config (guile-devel, guile-dev or libguile-dev package)")
+    fi
+
+    AC_SUBST(GUILE_CONFIG)
+    
+    guile_version="$ver"
+    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
+    save_CPPFLAGS="$CPPFLAGS"
+    save_LIBS="$LIBS"
+    CPPFLAGS="$GUILE_CFLAGS $CPPFLAGS"
+    LIBS="$GUILE_LDFLAGS $LIBS"
+    AC_CHECK_HEADERS([libguile.h])
+    AC_CHECK_LIB(guile, scm_boot_guile)
+    AC_CHECK_FUNCS(scm_boot_guile,,libguile_b=no)
+    if test "$libguile_b" = "no"; then
+           warn='libguile (libguile-dev, guile-devel or guile-dev
+   package).'
+           STEPMAKE_ADD_ENTRY(REQUIRED, $warn)
+    fi
+    CPPFLAGS="$save_CPPFLAGS"
+    LIBS="$save_LIBS"
+    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(AC_STEPMAKE_INIT, [
+
+AC_DEFUN(STEPMAKE_DLOPEN, [
+    AC_CHECK_LIB(dl, dlopen)
+    AC_CHECK_FUNCS(dlopen)
+])
+
+AC_DEFUN(STEPMAKE_HAS_CLANG, [
+    AC_EGREP_CPP(yes,
+      [#ifdef __clang__
+       yes
+       #endif
+      ], HAS_CLANG=yes, HAS_CLANG=no)
+])
+
+AC_DEFUN(STEPMAKE_GXX_OR_CLANG, [
+    STEPMAKE_HAS_CLANG()
+    if test "$HAS_CLANG" = "no"; then
+        if test "$GXX" = "yes"; then
+            STEPMAKE_CHECK_VERSION(CXX, $1, $2)
+        else
+           warn="$CXX (Please install *GNU* c++)"
+           STEPMAKE_ADD_ENTRY($1, $warn)
+        fi
+    fi
+    # no else, we're fine with any clang
+])
+
+
+AC_DEFUN(STEPMAKE_INIT, [
 
     . $srcdir/VERSION
     FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
+    MICRO_VERSION=$PATCH_LEVEL
+    TOPLEVEL_VERSION=$FULL_VERSION
     if test x$MY_PATCH_LEVEL != x; then
        FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL
     fi
-
+    VERSION=$FULL_VERSION
+    export MAJOR_VERSION MINOR_VERSION PATCH_LEVEL
     # urg: don't "fix" this: irix doesn't know about [:lower:] and [:upper:]
-    changequote(<<, >>)dnl
+    changequote(<<, >>)#dnl
     PACKAGE=`echo $PACKAGE_NAME | tr '[a-z]' '[A-Z]'`
     package=`echo $PACKAGE_NAME | tr '[A-Z]' '[a-z]'`
-    changequote([, ])dnl
+    changequote([, ])#dnl
 
     # No versioning on directory names of sub-packages 
     # urg, urg
@@ -249,80 +790,82 @@ AC_DEFUN(AC_STEPMAKE_INIT, [
     fi
 
     AC_MSG_CHECKING(Package)
-    if test "x$PACKAGE" = "xSTEPMAKE"; then
+    if test "$PACKAGE" = "STEPMAKE"; then
        AC_MSG_RESULT(Stepmake package!)
 
        AC_MSG_CHECKING(builddir)
+
+       ugh_ugh_autoconf250_builddir="`pwd`"
+       
        if test "$srcdir" = "."; then
-           builddir=.
+           srcdir_build=yes
        else
-           absolute_builddir="`pwd`"
-           package_absolute_builddir="`dirname $absolute_builddir`"
+           srcdir_build=no
+           package_builddir="`dirname $ugh_ugh_autoconf250_builddir`"
            package_srcdir="`dirname  $srcdir`"
-           builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`"
        fi
-       AC_MSG_RESULT($builddir)
+       AC_MSG_RESULT($ugh_ugh_autoconf250_builddir)
 
        (cd stepmake 2>/dev/null || mkdir stepmake)
-       (cd stepmake; rm -f stepmake; ln -s ../$srcdir/stepmake .)
        (cd stepmake; rm -f bin; ln -s ../$srcdir/bin .)
-       AC_CONFIG_AUX_DIR(bin)
        stepmake=stepmake
     else
         AC_MSG_RESULT($PACKAGE)
 
        AC_MSG_CHECKING(builddir)
-       if test "$srcdir" = "."; then
-           builddir=.
-           srcdir_build=no
-       else
-           absolute_builddir="`pwd`"
-#          builddir="`dirname  $srcdir`/`basename $absolute_builddir`"
-           builddir="`bash $srcdir/buildscripts/walk.sh \"$srcdir\"`"
+       ugh_ugh_autoconf250_builddir="`pwd`"
+
+       here_dir=$(cd . && pwd)
+       full_src_dir=$(cd $srcdir && pwd)
+
+       if test "$full_src_dir" = "$here_dir"; then
            srcdir_build=yes
+       else
+           srcdir_build=no
        fi
-       AC_MSG_RESULT($builddir)
-       if expr "$srcdir" : '/' > /dev/null 2>&1; then
-           absolute_srcdir=yes
-           AC_STEPMAKE_WARN(Absolute --srcdir specified: $srcdir)
-       fi
+       AC_MSG_RESULT($ugh_ugh_autoconf250_builddir)
 
        AC_MSG_CHECKING(for stepmake)
        # Check for installed stepmake
        if test -d $stepmake; then
            AC_MSG_RESULT($stepmake)
        else
-           if test "$absolute_srcdir" != "yes"; then
-               stepmake='$(depth)'/$srcdir/stepmake
-           else
-               stepmake=$srcdir/stepmake
-           fi
-           AC_MSG_RESULT($srcdir/stepmake  ($datadir/stepmake not found))
+           stepmake="`cd $srcdir/stepmake; pwd`"
+           AC_MSG_RESULT([$srcdir/stepmake  ($datadir/stepmake not found)])
        fi
+    fi
+
+    AC_SUBST(ugh_ugh_autoconf250_builddir)
 
-       AC_CONFIG_AUX_DIR(\
-         $HOME/usr/local/share/stepmake/bin\
-         $HOME/usr/local/lib/stepmake/bin\
-         $HOME/usr/share/stepmake/bin\
-         $HOME/usr/lib/stepmake/bin\
-         /usr/local/share/stepmake/bin\
-         /usr/local/lib/stepmake/bin\
-         /usr/share/stepmake/bin\
-         /usr/lib/stepmake/bin\
-         stepmake/bin\
-         $srcdir/stepmake/bin\
-       )
-    fi
-
-    AC_SUBST(builddir)
+    # Use absolute directory for non-srcdir builds, so that build
+    # dir can be moved.
+    if test "$srcdir_build" = "no" ;  then 
+       srcdir="`cd $srcdir; pwd`"
+    fi
+    
+    AC_SUBST(srcdir)
     AC_SUBST(stepmake)
     AC_SUBST(package)
     AC_SUBST(PACKAGE)
     AC_SUBST(PACKAGE_NAME)
-    AC_DEFINE_UNQUOTED(PACKAGE, "${PACKAGE_NAME}")
-    AC_DEFINE_UNQUOTED(TOPLEVEL_VERSION, "${FULL_VERSION}")
-
-    if test "$package_depth" = "" ; then
+    AC_SUBST(VERSION)
+    AC_SUBST(MAJOR_VERSION)
+    AC_SUBST(MINOR_VERSION)
+    AC_SUBST(MICRO_VERSION)
+
+    # stepmake nonstandard names
+    AC_SUBST(PATCH_LEVEL)
+    AC_SUBST(TOPLEVEL_VERSION)
+    
+    # We don't need the upper case variant,
+    # so stick to macros are uppercase convention.
+    # AC_DEFINE_UNQUOTED(package, ["${package}"])
+    # AC_DEFINE_UNQUOTED(PACKAGE, ["${PACKAGE}"])
+    AC_DEFINE_UNQUOTED(PACKAGE, ["${package}"])
+    AC_DEFINE_UNQUOTED(PACKAGE_NAME, ["${PACKAGE_NAME}"])
+    AC_DEFINE_UNQUOTED(TOPLEVEL_VERSION, ["${FULL_VERSION}"])
+
+    if test -z "$package_depth"; then
        package_depth="."
     else
        package_depth="../$package_depth"
@@ -335,168 +878,77 @@ AC_DEFUN(AC_STEPMAKE_INIT, [
 
     CONFIGSUFFIX=
     AC_ARG_ENABLE(config,
-    [  enable-config=FILE      put configure settings in config-FILE.make],
-    [CONFIGSUFFIX=-$enableval])
+    [AS_HELP_STRING([--enable-config=CONF],
+                    [put settings in config-CONF.make and config-CONF.h;
+                   do `make conf=CONF' to get output in ./out-CONF])],
+    [CONFIGURATION=$enableval])
+
+    ##'`#
 
+    test -n "$CONFIGURATION" && CONFIGSUFFIX="-$CONFIGURATION"
     CONFIGFILE=config$CONFIGSUFFIX
     AC_SUBST(CONFIGSUFFIX)
      
     AC_CANONICAL_HOST
-    AC_CHECK_PROGS(MAKE, gmake make, error)
-    AC_CHECK_PROGS(FIND, find, error)
+    STEPMAKE_PROGS(MAKE, gmake make, REQUIRED)
+    STEPMAKE_PROGS(FIND, find, REQUIRED)
 
-dnl system supplied INSTALL is unsafe; use our own install.
-dnl    AC_PROG_INSTALL
-dnl    if test "$INSTALL" = "bin/install-sh"; then
-dnl    export INSTALL="\$\(depth\)/bin/install-sh"
-dnl    fi
+    STEPMAKE_PROGS(TAR, tar, REQUIRED)
 
-    AC_CHECK_PROGS(TAR, tar, error)
-
-    if test "x`uname`" = "xHP-UX"; then
-       AC_PATH_PROG(BASH, bash, /bin/sh)
-       AC_STEPMAKE_WARN(avoiding buggy /bin/sh)
-       AC_PATH_PROG(SHELL, bash, /bin/ksh)
+    if test "$(echo 2)" != "2" ||
+       test "x`uname`" = "xHP-UX"; then
+       AC_PATH_PROG(KSH, ksh, /bin/ksh)
+       AC_PATH_PROG(BASH, bash, $KSH)
+       STEPMAKE_WARN(avoiding buggy /bin/sh)
+       AC_PATH_PROG(SHELL, bash, $KSH)
     else
-       AC_PATH_PROG(BASH, bash, /bin/sh)
        SHELL=/bin/sh
-       AC_SUBST(SHELL)
+       AC_PATH_PROG(BASH, bash, $SHELL)
     fi
+    AC_SUBST(SHELL)
 
+    STEPMAKE_PYTHON(REQUIRED, 1.5, 3.0)
 
-    AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python)
-    AC_SUBST(PYTHON)
-
-    if test $MAKE != "error" ; then
-       $MAKE -v 2> /dev/null | grep GNU > /dev/null
-       if test "$?" = 1
-       then
-               AC_STEPMAKE_WARN(Please install *GNU* make) 
-       fi
-    fi 
+    if expr "$MAKE" : '.*\(echo\)' >/dev/null; then
+       $MAKE -v 2> /dev/null | grep GNU > /dev/null
+       if test "$?" = 1; then
+           warn='make (Please install *GNU* make)'
+           # STEPMAKE_WARN($warn)
+           STEPMAKE_ADD_ENTRY(REQUIRED, $warn)
+        fi
+    fi
 
-    AC_CHECK_SEARCH_RESULT($PYTHON, python, You should install Python)
+    ROOTSEP=':'
+    DIRSEP='/'
+    PATHSEP=':'
+    LN=ln
+    LN_S='ln -s'
+    ZIP="zip -r -9"
 
-    if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_NT"; then
-       LN=cp # hard link does not work under cygnus-nt
-       LN_S='cp -r' # symbolic link does not work for native nt
-       ZIP="zip -r -9" #
-       program_suffix=.exe
-       # urg
-       # ROOTSEP=':'
-        # DIRSEP='\\'
-       # PATHSEP=';'
-       #
-       # cygwin fixes all these things.  
-       # it seems these were used because of dos-style TEXINPUTS and
-       # MFINPUTS needed for miktex.
-       # but this breaks parsing of all other cygwin/unix style paths.
-       #
-       # if your (mik)tex breaks, make a:
-       #    /usr/local/bin/tex:
-       #    #!/bin/sh
-       #    TEXINPUTS=`cygpath -pw $TEXINPUTS` /texmf/miktex/bin/tex $*
-       #
-       # and
-       #
-       #    /usr/local/bin/mf:
-       #    #!/bin/sh
-       #    MFINPUTS=`cygpath -pw $MFINPUTS` /texmf/miktex/bin/mf $*
-       #
-       # this way, you may have buildscripts/out/lilypond-profile 
-       # 'automatically' sourced from /usr/etc/profile.d/ too.
-       #
-       ROOTSEP=':'
-        DIRSEP='/'
-       PATHSEP=':'
-       INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
-    else
-       ROOTSEP=':'
-       DIRSEP='/'
-       PATHSEP=':'
-       LN=ln
-       LN_S='ln -s'
-       ZIP="zip -r -9"
-        INSTALL="\$(SHELL) \$(stepdir)/../bin/install-sh -c"
-    fi
     AC_SUBST(program_prefix)
     AC_SUBST(program_suffix)
     AC_SUBST(ZIP)
     AC_SUBST(LN)
     AC_SUBST(LN_S)
-    AC_SUBST(INSTALL)
-    AC_DEFINE_UNQUOTED(DIRSEP, '${DIRSEP}')
-    AC_DEFINE_UNQUOTED(PATHSEP, '${PATHSEP}')
-    AC_SUBST(PATHSEP)
+    AC_DEFINE_UNQUOTED(DIRSEP, ['${DIRSEP}'])
+    AC_DEFINE_UNQUOTED(PATHSEP, ['${PATHSEP}'])
     AC_SUBST(DIRSEP)
+    AC_SUBST(PATHSEP)
+    AC_SUBST(ROOTSEP)
   
-    AC_STEPMAKE_DATADIR
+    STEPMAKE_DATADIR
+    STEPMAKE_LIBDIR
 ])
 
-AC_DEFUN(AC_STEPMAKE_KPATHSEA, [
-
-    kpathsea_b=yes
-    AC_ARG_ENABLE(kpathsea,
-    [  enable-kpathsea         use kpathsea lib.  Default: on],
-    [kpathsea_b=$enableval])
-
-    if test $kpathsea_b = yes; then    
-       AC_HAVE_HEADERS(kpathsea/kpathsea.h)
-       AC_CHECK_LIB(kpathsea, kpse_find_file)
-       # urg: kpse_find_tfm is a #define, how to check for this?
-       # AC_CHECK_LIB(kpathsea, kpse_find_tfm)
-       # AC_CHECK_FUNCS(kpse_find_file kpse_find_tfm,, AC_STEPMAKE_WARN(Cannot find kpathsea functions.  You may have to create TFM files manually.))
-       AC_CHECK_FUNCS(kpse_find_file,, AC_STEPMAKE_WARN(Cannot find kpathsea functions.  You may have to create TFM files manually.) kpathsea_b=no)
-    fi
-    AC_MSG_CHECKING(whether to use kpathsea)
-    if test $kpathsea_b = yes; then
-        AC_MSG_RESULT(yes)
-       KPATHSEA=1
-    else
-        AC_MSG_RESULT(no)
-       KPATHSEA=0
-    fi
-
-    AC_SUBST(KPATHSEA)
-    AC_DEFINE_UNQUOTED(KPATHSEA, $KPATHSEA)
-])
-
-AC_DEFUN(AC_STEPMAKE_LEXYACC, [
-    # ugh, automake: we want (and check for) bison
-    AC_PROG_YACC
-    # ugh, automake: we want (and check for) flex
-    # AC_PROG_LEX
-    # urg: automake 1.3: hope this doesn't break 1.2 ac_cv_pro_lex_root hack...
-
-    # AC_DECL_YYTEXT
-    # ugh, ugh
-    ac_cv_prog_lex_root=lex.yy
-
-    AC_CHECK_PROGS(BISON, bison, error)
-    AC_CHECK_PROGS(FLEX, flex, error)
-    AC_CHECK_SEARCH_RESULT($BISON, bison,  Please install Bison, 1.25 or newer)
-    AC_CHECK_SEARCH_RESULT($FLEX,  flex, Please install Flex, 2.5 or newer)
-
-    if test $BISON != "error"; then
-       bison_version=`$BISON --version | sed 's/^.*version 1.//g'`
-       if test `echo $bison_version | sed 's/\..*$//g'` -lt 25; then
-           AC_STEPMAKE_WARN(Your bison is a bit old (1.$bison_version). You might have to install 1.25)
-       fi      
-    fi
-
-    AC_SUBST(BISON)
-    AC_SUBST(FLEX)
-])
-
-AC_DEFUN(AC_STEPMAKE_LIB, [
-    AC_CHECK_PROGS(AR, ar, error)
+    
+AC_DEFUN(STEPMAKE_LIB, [
+    STEPMAKE_PROGS(AR, ar, $1)
     AC_PROG_RANLIB
-
-    AC_SUBST(AR)
-    AC_SUBST(RANLIB)
+    STEPMAKE_OPTIONAL_REQUIRED(RANLIB, ranlib, $1)
 ])
 
-AC_DEFUN(AC_STEPMAKE_LIBTOOL, [
+
+AC_DEFUN(STEPMAKE_LIBTOOL, [
     # libtool.info ...
     # **Never** try to set library version numbers so that they correspond
     # to the release number of your package.  This is an abuse that only
@@ -505,25 +957,28 @@ AC_DEFUN(AC_STEPMAKE_LIBTOOL, [
     REVISION=$PATCH_LEVEL
     # CURRENT=$MINOR_VERSION
     CURRENT=`expr $MINOR_VERSION + 1`
-    # AGE=$(expr $MAJOR_VERSION + 1)
+    # AGE=`expr $MAJOR_VERSION + 1`
     AGE=$MAJOR_VERSION
     AC_SUBST(CURRENT)
     AC_SUBST(REVISION)
     AC_SUBST(AGE)
 ])
 
-AC_DEFUN(AC_STEPMAKE_LOCALE, [
+
+AC_DEFUN(STEPMAKE_LOCALE, [
     lang=English
     ALL_LINGUAS="en nl"
 
     # with/enable ??
     AC_ARG_WITH(localedir,
-    [  with-localedir=LOCALE   use LOCALE as locale dir. Default: PREFIX/share/locale ],
+    [AS_HELP_STRING([--with-localedir=DIR],
+                    [location of locales.  Default: PREFIX/share/locale])],
     localedir=$with_localedir,
     localedir='${prefix}/share/locale')
 
     AC_ARG_WITH(lang,
-    [  with-lang=LANG          use LANG as language to emit messages],
+    [AS_HELP_STRING([--with-lang=LANG],
+                    [use LANG as language to emit messages])],
     language=$with_lang,
     language=English)
 
@@ -541,673 +996,435 @@ AC_DEFUN(AC_STEPMAKE_LOCALE, [
     AC_MSG_RESULT($lang)
 
     if test "$lang" = "unknown" ; then
-       AC_STEPMAKE_WARN($language not supported; available are: $ALL_LINGUAS)
+       STEPMAKE_WARN($language not supported; available are: $ALL_LINGUAS)
     fi
 
 ])
 
-AC_DEFUN(AC_STEPMAKE_GETTEXT, [
-    DIR_LOCALEDIR=${localedir}
-    presome=${prefix}
-    if test "$prefix" = "NONE"; then
-           presome=${ac_default_prefix}
-    fi
-    DIR_LOCALEDIR=`echo ${DIR_LOCALEDIR} | sed "s!\\\${prefix}!$presome!"`
-    AC_SUBST(localedir)
-    AC_SUBST(DIR_LOCALEDIR)
-    AC_DEFINE_UNQUOTED(DIR_LOCALEDIR, "${DIR_LOCALEDIR}")
 
-    AC_CHECK_LIB(intl, gettext)
-    AC_CHECK_FUNCS(gettext)
+AC_DEFUN(STEPMAKE_MAKEINFO, [
+    STEPMAKE_PROGS(MAKEINFO, makeinfo, $1)
 ])
 
-AC_DEFUN(AC_STEPMAKE_MAN, [
-    AC_CHECK_PROGS(GROFF, groff ditroff, -echo no groff)
-    AC_CHECK_PROGS(TROFF, troff, -echo no troff)
-    AC_CHECK_PROGS(TBL, tbl, cat)
+
+AC_DEFUN(STEPMAKE_MAN, [
+    STEPMAKE_PROGS(GROFF, groff ditroff, $1)
+    AC_SUBST(GROFF)
+    STEPMAKE_PROGS(TROFF, troff, $1)
+    AC_SUBST(TROFF)
+    STEPMAKE_PROGS(TBL, tbl, $1)
+    AC_SUBST(TBL)
 ])
 
-AC_DEFUN(AC_STEPMAKE_MSGFMT, [
-    # AC_CHECK_PROGS(MSGFMT, msgfmt, -echo no msgfmt)
-    AC_CHECK_PROGS(MSGFMT, msgfmt, \$(SHELL) \$(step-bindir)/fake-msgfmt.sh )
-    AC_MSG_CHECKING(whether msgfmt accepts -o)
-    msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`"
-    if test "$msgfmt_output" = ""; then
-       AC_MSG_RESULT(yes)
-    else
-       # urg
-       MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh"
-       AC_MSG_RESULT(no)
-       AC_STEPMAKE_WARN(please install msgfmt from GNU gettext)
-    fi
-    if test ! -n "$MSGFMT"; then
-       AC_STEPMAKE_WARN(please install msgfmt from GNU gettext)
-    fi
+
+AC_DEFUN(STEPMAKE_MSGFMT, [
+    STEPMAKE_PROGS(MSGFMT, msgfmt, $1)
 ])
 
-#why has this been dropped?
-AC_DEFUN(XXAC_STEPMAKE_TEXMF_DIRS, [
-    AC_ARG_ENABLE(tex-prefix,
-    [  enable-tex-prefix=DIR   set the tex-directory to find TeX subdirectories.  Default: PREFIX],
-    [TEXPREFIX=$enableval],
-    [TEXPREFIX=auto] )
-    
-    AC_ARG_ENABLE(tex-dir,
-    [  enable-tex-dir=DIR      set the directory to put $PACKAGE_NAME TeX files in. ],
-    [TEXDIR=$enableval],
-    [TEXDIR=auto] )
-
-    AC_ARG_ENABLE(mf-dir,
-    [  enable-mf-dir=DIR       set the directory to put $PACKAGE_NAME MetaFont files in. ],
-    [MFDIR=$enableval],
-    [MFDIR=auto])
-
-    if test "x$TEXPREFIX" = xauto ; then
-       AC_TEX_PREFIX(TEXPREFIX)
-    else
-     find_texprefix=$TEXPREFIX
-    fi
 
-    if test "x$MFDIR" = xauto; then
-       AC_MF_SUBDIR(MFDIR)
+# Check for program ($2), set full path result to ($1).
+# If missing, add entry to missing-list ($3, one of 'OPTIONAL', 'REQUIRED')
+AC_DEFUN(STEPMAKE_PATH_PROG, [
+    AC_CHECK_PROGS($1, $2, no)
+    STEPMAKE_OPTIONAL_REQUIRED($1, $2, $3)
+    if test $? -eq 0; then
+       AC_PATH_PROGS($1, $2)
+       if test -n "$4"; then
+           STEPMAKE_CHECK_VERSION($1, $3, $4)
+       fi
     fi
-       
-    if test "x$TEXDIR" = xauto ; then
-       AC_TEX_SUBDIR(TEXDIR)
+])
+
+
+# Check for program in set of names ($2), set result to ($1) .
+# If missing, add entry to missing-list ($3, one of 'OPTIONAL', 'REQUIRED')
+# If exists, and a minimal version ($4) is required
+AC_DEFUN(STEPMAKE_PROGS, [
+    AC_CHECK_PROGS($1, $2, no)
+    STEPMAKE_OPTIONAL_REQUIRED($1, $2, $3)
+    if test $? -eq 0 -a -n "$4"; then
+       STEPMAKE_CHECK_VERSION($1, $3, $4)
     fi
-    AC_SUBST(TEXPREFIX)
-    AC_SUBST(TEXDIR)
-    AC_SUBST(MFDIR)
 ])
 
-AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [
-    AC_ARG_ENABLE(tfm-path,
-    [  enable-tfm-path=PATH    set path of tex directories where tfm files live, esp.: cmr10.tfm.  Default: use kpsewhich],
-    [tfm_path=$enableval],
-    [tfm_path=auto] )
 
-    AC_CHECK_PROGS(KPSEWHICH, kpsewhich, no)
-    AC_MSG_CHECKING(for tfm path)
+AC_DEFUN(STEPMAKE_PERL, [
+    STEPMAKE_PATH_PROG(PERL, perl, $1)
+])
 
-    TFM_FONTS="cmr msam"
 
-    if test "x$tfm_path" = xauto ; then
-       if test "x$KPSEWHICH" != "xno" ; then
-           for i in $TFM_FONTS; do
-               dir=`$KPSEWHICH tfm ${i}10.tfm`
-               TFM_PATH="$TFM_PATH `dirname $dir`"
-           done
+# Check for python, between minimum ($2) and maximum version ($3).
+# If missing, add entry to missing-list ($1, one of 'OPTIONAL', 'REQUIRED')
+AC_DEFUN(STEPMAKE_PYTHON, [
+    AC_MSG_CHECKING([for python])
+    python="python"
+    found="no"
+    for r in $PYTHON python python3 python3.3 python3.2 python3.1 python3.0 python2 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0; do
+       exe=`STEPMAKE_GET_EXECUTABLE($r)`
+       if ! $exe -V > /dev/null 2>&1 ; then
+           continue
+       fi
+       ver=`STEPMAKE_GET_VERSION($exe)`
+       num=`STEPMAKE_NUMERIC_VERSION($ver)`
+       req=`STEPMAKE_NUMERIC_VERSION($2)`
+       sup=`STEPMAKE_NUMERIC_VERSION($3)`
+       if test -n "$2" && test "$num" -lt "$req"; then
+           python=["$r >= $2 (installed: $ver)"]
+           continue
        else
-           AC_STEPMAKE_WARN(Please specify where cmr10.tfm lives:
-    ./configure --enable-tfm-path=/usr/local/TeX/lib/tex/fonts)
+           if test -n "$3" && test "$num" -ge "$sup"; then
+               python=["$r < $3 (installed: $ver)"]
+               continue
+           else
+               python=$r
+               found=$r
+               break
+           fi
        fi
+    done
+    AC_MSG_RESULT([$found])
+    if test "$found" != "no"; then
+       AC_MSG_CHECKING([$python version])
+       AC_MSG_RESULT([$ver])
+       PYTHON=$found
     else
-         TFM_PATH=$tfm_path
+       STEPMAKE_ADD_ENTRY($1, $python)
     fi
+    AC_PATH_PROG(PYTHON, $PYTHON)
+    AC_SUBST(PYTHON)
+])
 
-    TFM_PATH=`echo $TFM_PATH | tr ':' ' '`
-    AC_MSG_RESULT($TFM_PATH)
-    AC_SUBST(TFM_PATH)
+# Check for python-config, between minimum ($2) and maximum version ($3).
+# If missing, add entry to missing-list ($1, one of 'OPTIONAL', 'REQUIRED')
+AC_DEFUN(STEPMAKE_PYTHON_DEVEL, [
+    AC_ARG_WITH(python-include,
+       [AS_HELP_STRING([--with-python-include=DIR],
+                       [location of the python include dir])],[
+       if test "$withval" = "yes" -o "$withval" = "no"; then
+           AC_MSG_WARN(Usage: --with-python-include=includedir)
+       else
+           PYTHON_CFLAGS="-I${withval}"
+       fi
+    ])
+    
+    AC_ARG_WITH(python-lib,
+       [AS_HELP_STRING([--with-python-lib=NAME],
+                       [name of the python lib])],[
+       if test "$withval" = "yes" -o "$withval" = "no"; then
+           AC_MSG_WARN(Usage: --with-python-lib=name)
+       else
+           LDFLAGS="$LDFLAGS -l${withval}"
+       fi
+    ])
+
+    STEPMAKE_PYTHON($1, $2, $3)
+    AC_CHECK_PROGS(PYTHON_CONFIG, `basename $PYTHON`-config, no)
+
+    if test -z "$PYTHON_CFLAGS" -a "$PYTHON_CONFIG" != "no"; then
+        # Clean out junk: http://bugs.python.org/issue3290
+       # Python headers may need some -f* flags, leave them in.
+       # We want the sed commands to look like 's/-[WDOm][[:alnum:][:punct:]][[:alnum:][:punct:]]*//g' and 's/-arch [^[:space:]]*//g', but automake eats brackets.
+        #PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags | sed -e 's/-[[WDOm]][[[:alnum:][:punct:]]][[[:alnum:][:punct:]]]*//g' | sed -e 's/-arch @<:@^@<:@:space:@:>@@:>@*//g'`
+        # The above sed BRE matches parts of legal options, stipping down part of that option, resulting in invalid gcc arguments. Gentoo Bug #415793
+        # For instance, '-floop-stip-mime' becomes '-floop-strip', and '-fvect-cost-model' becomes '-fvect-cost'.
+        # Tentative fix to require a non alphanumeric character before the initial hyphen of the BRE or the hyphen being the first character in the string.
+        PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags | sed -e 's/\(^\|[[^[:alnum:]]]\)-[[WDOm]][[[:alnum:][:punct:]]][[[:alnum:][:punct:]]]*//g' | sed -e 's/-arch @<:@^@<:@:space:@:>@@:>@*//g'`
+       PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
+    fi
+    
+    if test -z "$PYTHON_CFLAGS" -a "$cross_compiling" = "no"; then
+       changequote(<<, >>)#dnl
+       # alternatively, for python >= 2.0
+       # 'import sys, distutils.sysconfig; sys.stdout.write (distutils.sysconfig.get_python_inc ())'
+       PYTHON_INCLUDE=`$PYTHON -c 'import sys; sys.stdout.write ("%s/include/python%s" % (sys.prefix, sys.version[:3]))'`
+       PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
+       changequote([, ])#dnl
+    fi
+    
+    if test -z "$PYTHON_HEADER"; then
+       CPPFLAGS="$PYTHON_CFLAGS $CPPFLAGS"
+       AC_CHECK_HEADERS([Python.h],[PYTHON_HEADER=yes])
+    fi
+    
+    if test -z "$PYTHON_HEADER"; then
+       warn="Python.h (python-devel, python-dev or libpython-dev package)"
+       STEPMAKE_ADD_ENTRY($1, $warn)
+    fi
+    AC_SUBST(PYTHON_CFLAGS)
+    AC_SUBST(PYTHON_LDFLAGS)
 ])
 
-AC_DEFUN(AC_STEPMAKE_TEXMF, [
-    # urg, never know what names these teTeX guys will think up
 
-    AC_CHECK_PROGS(METAFONT, mf, no)
-    if test "x$METAFONT" = "xno"; then
-       AC_CHECK_PROGS(MFONT, mfont, -echo no mf or mfont)
-       METAFONT=$MFONT
+
+AC_DEFUN(STEPMAKE_STL_DATA_METHOD, [
+    AC_CACHE_CHECK([for stl.data () method],
+       [stepmake_cv_stl_data_method],
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <vector>
+using namespace std;
+vector <int> v;
+void *p = v.data ();
+]])],
+           [stepmake_cv_stl_data_method=yes],
+           [stepmake_cv_stl_data_method=no]))
+    if test $stepmake_cv_stl_data_method = yes; then
+       AC_DEFINE(HAVE_STL_DATA_METHOD, 1, [define if stl classes have data () method])
     fi
+])
 
-    AC_CHECK_PROGS(METAPOST, mp, no)
-    if test "x$METAPOST" = "xno"; then
-       AC_CHECK_PROGS(MPOST, mpost, -echo no mp or mpost)
 
-       METAPOST=$MPOST
-    fi
+AC_DEFUN(STEPMAKE_TEXMF_DIRS, [
+    STEPMAKE_PROGS(KPSEWHICH, kpsewhich, $1)
 
-    AC_CHECK_PROGS(INIMETAFONT, inimf, no)
-    if test "x$INIMETAFONT" = "xno"; then
-       AC_CHECK_PROGS(INIMFONT, inimfont, -echo no inimf or inimfont)
-       INIMETAFONT=$INIMFONT
+    AC_MSG_CHECKING(for metapost required files)
+    if test "$MFPLAIN_MP" = ""; then
+        MFPLAIN_MP=`kpsewhich -format=mp mfplain`
+    fi
+    if test "$MFPLAIN_MP" = ""; then
+        AC_MSG_RESULT(no)
+        STEPMAKE_ADD_ENTRY($1,['metapost CTAN package (texlive-metapost)'])
+    else
+        AC_MSG_RESULT(yes)
     fi
+])
 
-    AC_CHECK_PROGS(INIMETAPOST, inimp, no)
-    if test "x$INIMETAPOST" = "xno"; then
-       AC_CHECK_PROGS(INIMPOST, inimpost, -echo no inimp or inimpost)
-       INIMETAPOST=$INIMPOST
+AC_DEFUN(STEPMAKE_TEXMF, [
+    STEPMAKE_PROGS(METAFONT, mf-nowin mf mfw mfont, $1)
+    STEPMAKE_PROGS(METAPOST, mpost, $1)
+    if test "$METAPOST" != ""; then
+       ver=`STEPMAKE_GET_VERSION($METAPOST)`
+       num=`STEPMAKE_NUMERIC_VERSION($ver)`
+       # Avoid buggy metapost versions: 1.600 <= x < 1.803
+       if test "$num" -ge "1600000" -a "$num" -lt "1803000"; then
+            STEPMAKE_ADD_ENTRY($1, ["mpost (due to a bug in metapost, versions 1.600 <= x < 1.803 are not supported; installed: $ver)"])
+       fi
     fi
 
     AC_MSG_CHECKING(for working metafont mode)
     modelist='ljfour lj4 lj3 lj2 ljet laserjet'
     for MFMODE in $modelist; do
-       $METAFONT "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1
+       $METAFONT -progname=mf "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1
        if test -f mfput.tfm; then
            break;
        fi
     done
     AC_MSG_RESULT($MFMODE)
 
-    AC_MSG_CHECKING(for mfplain.mp)
-    #
-    # For now let people define these in their environments
-    #
-    : ${MFPLAIN_MP=`kpsewhich mp mfplain.mp`}
-    AC_MSG_RESULT($MFPLAIN_MP)
-
-    AC_MSG_CHECKING(for inimetapost flags)
-    if test  ${INIMETAPOST} = "inimp" ; then
-       : ${INIMETAPOST_FLAGS=''}
-    else
-       : ${INIMETAPOST_FLAGS='-interaction=nonstopmode'}
-    fi
-    AC_MSG_RESULT($INIMETAPOST_FLAGS)
-
     rm -f mfput.*
 
-    AC_SUBST(METAFONT)
-    AC_SUBST(METAPOST)
     AC_SUBST(MFMODE)
-    AC_SUBST(INIMETAFONT)
-    AC_SUBST(INIMETAPOST)
-    AC_SUBST(MFPLAIN_MP)
-    AC_SUBST(INIMETAPOST_FLAGS)
 ])
 
-AC_DEFUN(AC_STEPMAKE_WARN, [
+
+AC_DEFUN(STEPMAKE_WARN, [
     AC_MSG_WARN($1)
     warn_b=yes
 ])
 
-AC_DEFUN(AC_STEPMAKE_YODL, [
-    if test "x$YODL" = "x"; then 
-       AC_CHECK_PROGS(STRIPROFF, striproff, -echo no striproff)
-       AC_CHECK_PROGS(YODL, yodl, -echo no yodl)
-       AC_CHECK_PROGS(YODL2HTML, yodl2html, -echo no yodl)
-       AC_CHECK_PROGS(YODL2LATEX, yodl2latex, )
-       AC_CHECK_PROGS(YODL2MAN, yodl2man, -echo no yodl)
-       AC_CHECK_PROGS(YODL2MSLESS, yodl2msless, -echo no yodl)
-       AC_CHECK_PROGS(YODL2TEXINFO, yodl2texinfo, -echo no yodl)
-       AC_CHECK_PROGS(YODL2TXT, yodl2txt, -echo no yodl)
-       YODL2LESS_DIR='$(bindir)/'
-    else
-       AC_SUBST(STRIPROFF)
-       AC_SUBST(YODL)
-       AC_SUBST(YODL2HTML)
-       AC_SUBST(YODL2LATEX)
-       AC_SUBST(YODL2LESS_DIR)
-       AC_SUBST(YODL2MAN)
-       AC_SUBST(YODL2MSLESS)
-       AC_SUBST(YODL2TEXINFO)
-       AC_SUBST(YODL2TXT)
-       export STRIPROFF YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT
-    fi
-    if test "x$YODL" = "-echo no yodl"; then
-       AC_STEPMAKE_WARN(Did not find YODL (Yodl is Yet Oneother Document Language, see http://www.cs.uu.nl/~hanwen/yodl))
-    fi    
-])
-
-dnl should cache result.
-dnl should  look in $prefix first.
-dnl should probably assume TDS
 
-AC_DEFUN(AC_TEX_PREFIX, [
-    
+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+dnl also defines GSTUFF_PKG_ERRORS on error
+AC_DEFUN(PKG_CHECK_MODULES, [
+  succeeded=no
 
-    AC_MSG_CHECKING(TeX/MF root dir directory)    
-
-    find_root_prefix="$prefix"
-    
-
-    test "x$find_root_prefix" = xNONE && find_root_prefix="$ac_default_prefix"
-    find_texpostfix="";
-    for postfix in "/lib/tex/" "/lib/texmf" "/lib" "/tex" "/texmf"; do
-       find_texprefix="$find_root_prefix$postfix"
-       if test -d $find_texprefix; then
-           find_texpostfix=$postfix
-           break;
-       fi
-    done
-    
-    if test "x$find_texpostfix" = x; then
-       find_texpostfix='/lib/texmf/tex'
-       AC_STEPMAKE_WARN(Cannot determine the TeX-directory.  Please use --enable-tex-prefix)
-    fi
-
-    find_texprefix="$find_root_prefix/$find_texpostfix"
+  if test -z "$PKG_CONFIG"; then
+    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+  fi
 
-    # only assign if variablename not empty
-    if test x != "x[$]$1"; then
-       $1='${prefix}'/"$find_texpostfix"
-    fi
-    AC_MSG_RESULT($find_texprefix)
+  if test "$PKG_CONFIG" = "no" ; then
+     echo "*** The pkg-config script could not be found. Make sure it is"
+     echo "*** in your path, or set the PKG_CONFIG environment variable"
+     echo "*** to the full path to pkg-config."
+     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+  else
+     PKG_CONFIG_MIN_VERSION=0.9.0
+     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+        AC_MSG_CHECKING(for $2)
+
+        if $PKG_CONFIG --exists "$2" ; then
+            AC_MSG_RESULT(yes)
+            succeeded=yes
+
+            AC_MSG_CHECKING($1_CFLAGS)
+            $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+            AC_MSG_RESULT($$1_CFLAGS)
+
+            AC_MSG_CHECKING($1_LIBS)
+            $1_LIBS=`$PKG_CONFIG --libs "$2"`
+            AC_MSG_RESULT($$1_LIBS)
+        else
+            $1_CFLAGS=""
+            $1_LIBS=""
+            ## If we have a custom action on failure, don't print errors, but 
+            ## do set a variable so people can do so.
+            $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+            ifelse([$4], ,echo $$1_PKG_ERRORS,)
+        fi
+
+        AC_SUBST($1_CFLAGS)
+        AC_SUBST($1_LIBS)
+     fi
+  fi
 
+  if test $succeeded = yes; then
+     ifelse([$3], , :, [$3])
+  else
+     ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+  fi
 ])
-
-# find a directory inside a prefix, 
-# $1 the prefix (expanded version)
-# $2 variable to assign
-# $3 the directory name 
-# $4 description
-AC_DEFUN(AC_FIND_DIR_IN_PREFIX, [
-    
-    AC_MSG_CHECKING($4 directory)    
-    find_dirdir=`(cd $1; 
-      $FIND ./ -type d -a -name $3 -print |sort|head -1|sed 's#^\./##')`
-    
 
-    if test "x$find_dirdir" = x; then
-       find_dirdir="/$3";
-       AC_STEPMAKE_WARN(Cannot determine $4 subdirectory.  Please set from command-line)
-       true
+AC_DEFUN(STEPMAKE_FREETYPE2, [
+    PKG_CHECK_MODULES(FREETYPE2, $1 >= $3, have_freetype2=yes, true)
+    if test "$have_freetype2" = yes; then
+       AC_DEFINE(HAVE_FREETYPE2)
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+       CPPFLAGS="$FREETYPE2_CFLAGS $CPPFLAGS"
+       LIBS="$FREETYPE2_LIBS $LIBS"
+       AC_SUBST(FREETYPE2_CFLAGS)
+       AC_SUBST(FREETYPE2_LIBS)
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
+    else
+       # UGR
+       #r="lib$1-dev or $1-devel"
+       r="libfreetype6-dev or freetype?-devel"
+       ver="`pkg-config --modversion $1`"
+       STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
     fi
-    $2=$find_dirdir
-    AC_MSG_RESULT($1/$find_dirdir)
-])
-
-# ugh.  this is hopeless
-AC_DEFUN(AC_KPSE_TEX_DIR, [
-       kpse_paths=`(kpsepath -n latex tex; kpsepath -n tex tex) | sed 's/:/ /g' | tr ' ' '\012' |sort | uniq -d`
-       kpse_syspaths=`echo $kpse_paths | grep '!'| sed 's/!//g'`
-       echo $kpse_paths
-       if test -w "$kpse_syspaths";
-       then
-               dir=`echo $kpse_syspaths | head -1`
-       else
-               dir=`echo $kpse_paths | grep -v '!'| head -1`
-       fi
-       if test "$prefix" = "NONE"; then
-               local_prefix=$ac_default_prefix
-               local_prefix_quote='${prefix}'
-
-       else
-               local_prefix=$prefix
-               local_prefix_quote=$prefix
-       fi
-       echo $local_prefix_quote = $local_prefix
-       echo $dir
-       echo $dir  | sed 's!'$local_prefix'!\$local_prefix_quote!g'
-])
-
-AC_DEFUN(AC_TEX_SUBDIR, [
-dnl    AC_REQUIRE([AC_TEX_PREFIX])
-    AC_FIND_DIR_IN_PREFIX($find_texprefix, $1, tex,TeX input)
-    $1="$TEXPREFIX/$$1"
 ])
 
-AC_DEFUN(AC_MF_SUBDIR, [
-dnl     AC_REQUIRE([AC_TEX_PREFIX])
-    AC_FIND_DIR_IN_PREFIX($find_texprefix, $1, source, MF input)
-    $1="$TEXPREFIX/$$1"
+AC_DEFUN(STEPMAKE_PANGO, [
+    PKG_CHECK_MODULES(PANGO, $1 >= $3, have_pango16=yes, true)
+    if test "$have_pango16" = yes ; then
+       AC_DEFINE(HAVE_PANGO16)
+       # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+       CPPFLAGS="$PANGO_CFLAGS $CPPFLAGS"
+       LIBS="$PANGO_LIBS $LIBS"
+       AC_CHECK_HEADERS([pango/pangofc-fontmap.h])
+       AC_CHECK_FUNCS([pango_fc_font_map_add_decoder_find_func])
+       AC_SUBST(PANGO_CFLAGS)
+       AC_SUBST(PANGO_LIBS)
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
+    else
+       # UGR
+       #r="lib$1-dev or $1-devel"
+       r="libpango1.0-dev or pango1.0-devel"
+       ver="`pkg-config --modversion $1`"
+       STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
+    fi
 ])
 
-AC_DEFUN(AC_CHECK_SEARCH_RESULT, [
-       result="`echo \"$1\" | grep echo`"
-       if test "x$1" = "xerror" -o "x$result" != "x"; then
-               AC_STEPMAKE_WARN(can\'t find $2. $3)
-       fi
+AC_DEFUN(STEPMAKE_PANGO_FT2, [
+    PKG_CHECK_MODULES(PANGO_FT2, $1 >= $3, have_pangoft2=yes, true)
+    if test "$have_pangoft2" = yes ; then
+       AC_DEFINE(HAVE_PANGO16)
+       AC_DEFINE(HAVE_PANGO_FT2)
+       # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+       CPPFLAGS="$CPPFLAGS $PANGO_FT2_CFLAGS"
+       LIBS="$PANGO_FT2_LIBS $LIBS"
+       AC_CHECK_HEADERS([pango/pangoft2.h])
+       AC_CHECK_FUNCS([pango_ft2_font_map_create_context])
+       AC_SUBST(PANGO_FT2_CFLAGS)
+       AC_SUBST(PANGO_FT2_LIBS)
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
+    else
+       # UGR
+       #r="lib$1-dev or $1-devel"e
+       r="libpango1.0-dev or pango?-devel"
+       ver="`pkg-config --modversion $1`"
+       STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
+    fi
 ])
 
-dnl   GUILE_FLAGS --- set flags for compiling and linking with Guile
-dnl
-dnl   This macro runs the `guile-config' script, installed with Guile,
-dnl   to find out where Guile's header files and libraries are
-dnl   installed.  It sets two variables, marked for substitution, as
-dnl   by AC_SUBST.
-dnl   
-dnl     GUILE_CFLAGS --- flags to pass to a C or C++ compiler to build
-dnl             code that uses Guile header files.  This is almost
-dnl             always just a -I flag.
-dnl   
-dnl     GUILE_LDFLAGS --- flags to pass to the linker to link a
-dnl             program against Guile.  This includes `-lguile' for
-dnl             the Guile library itself, any libraries that Guile
-dnl             itself requires (like -lqthreads), and so on.  It may
-dnl             also include a -L flag to tell the compiler where to
-dnl             find the libraries.
-
-AC_DEFUN([GUILE_FLAGS],[
-## The GUILE_FLAGS macro.
-  AC_MSG_CHECKING(for Guile)
-  if ! $guile_config link > /dev/null ; then
-      AC_MSG_RESULT("cannot execute $guile_config")
-      AC_MSG_ERROR("cannot find guile-config; is Guile installed?")
-      exit 1
-  fi
-  GUILE_CFLAGS="`$guile_config compile`"
-  GUILE_LDFLAGS="`$guile_config link`"
-  AC_SUBST(GUILE_CFLAGS)
-  AC_SUBST(GUILE_LDFLAGS)
-  AC_MSG_RESULT(yes)
+AC_DEFUN(STEPMAKE_PANGO_FT2_WITH_OTF_FEATURE, [
+        PKG_CHECK_MODULES(PANGO_FT2, $1 >= $3,
+                         have_pangoft2_with_otf_feature=yes, true)
+    if test "$have_pangoft2_with_otf_feature" = yes ; then
+       AC_DEFINE(HAVE_PANGO16)
+       AC_DEFINE(HAVE_PANGO_FT2)
+       AC_DEFINE(HAVE_PANGO_FT2_WITH_OTF_FEATURE)
+       # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+       CPPFLAGS="$CPPFLAGS $PANGO_FT2_CFLAGS"
+       LIBS="$PANGO_FT2_LIBS $LIBS"
+       AC_CHECK_HEADERS([pango/pangoft2.h])
+       AC_CHECK_FUNCS([pango_ft2_font_map_create_context])
+       AC_SUBST(PANGO_FT2_CFLAGS)
+       AC_SUBST(PANGO_FT2_LIBS)
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
+    else
+       # UGR
+       #r="lib$1-dev or $1-devel"e
+       r="libpango1.0-dev or pango?-devel"
+       ver="`pkg-config --modversion $1`"
+       STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (It is required if you'd like "])
+       STEPMAKE_ADD_ENTRY($2, ["to use OpenType font feature. "])
+       STEPMAKE_ADD_ENTRY($2, ["installed: $ver)"])
+    fi
 ])
 
-
-# Configure paths for GTK+
-# Owen Taylor     97-11-3
-
-dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
-dnl
-AC_DEFUN(AM_PATH_GTK,
-[dnl 
-dnl Get the cflags and libraries from the gtk-config script
-dnl
-  AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
-  min_gtk_version=ifelse([$1], ,1.1.1,$1)
-  AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
-  no_gtk=""
-  if test "$GTK_CONFIG" != "no" ; then
-    GTK_CFLAGS=`$GTK_CONFIG --cflags`
-    GTK_LIBS=`$GTK_CONFIG --libs`
-    ac_save_CFLAGS="$CFLAGS"
-    ac_save_LIBS="$LIBS"
-    ac_save_CXXFLAGS="$CXXFLAGS"
-    CFLAGS="$CFLAGS $GTK_CFLAGS"
-    CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
-    LIBS="$LIBS $GTK_LIBS"
-dnl
-dnl Now check if the installed GTK is sufficiently new. (Also sanity
-dnl checks the results of gtk-config to some extent)
-dnl
-    AC_TRY_RUN([
-#include <gtk/gtk.h>
-#include <stdio.h>
-
-int 
-main ()
-{
-  int major, minor, micro;
-
-  if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string\n", "$min_gtk_version");
-     exit(1);
-   }
-
-   return !((gtk_major_version > major) ||
-           ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
-           ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
-}
-],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-     CFLAGS="$ac_save_CFLAGS"
-     CXXFLAGS="$ac_save_CXXFLAGS"
-     LIBS="$ac_save_LIBS"
-  else
-     no_gtk=yes
-  fi
-  if test "x$no_gtk" = x ; then
-     AC_MSG_RESULT(yes)
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     GTK_CFLAGS=""
-     GTK_LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
-  CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
-  AC_SUBST(CXXFLAGS)
-  AC_SUBST(GTK_CFLAGS)
-  AC_SUBST(GTK_LIBS)
+AC_DEFUN(STEPMAKE_FONTCONFIG, [
+    PKG_CHECK_MODULES(FONTCONFIG, $1 >= $3, have_fontconfig=yes, true)
+    if test "$have_fontconfig" = yes ; then
+       AC_DEFINE(HAVE_FONTCONFIG)
+       # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+       CPPFLAGS="$FONTCONFIG_CFLAGS $CPPFLAGS"
+       LIBS="$FONTCONFIG_LIBS $LIBS"
+       AC_SUBST(FONTCONFIG_CFLAGS)
+       AC_SUBST(FONTCONFIG_LIBS)
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
+    else
+       r="lib$1-dev or $1-devel"
+       ver="`pkg-config --modversion $1`"
+       STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
+    fi
 ])
 
+AC_DEFUN(STEPMAKE_WINDOWS, [
+    AC_CYGWIN
+    AC_MINGW32
 
-# Configure paths for GTK--
-# Erik Andersen        30 May 1998
-# Modified by Tero Pulkkinen (added the compiler checks... I hope they work..)
-
-dnl Test for GTK__, and define GTK___CFLAGS and GTK___LIBS
-dnl   to be used as follows:
-dnl AM_PATH_GTKMM([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl
-
-dnl Get the cflags and libraries from the gtkmm-config script
-dnl
-AC_ARG_WITH(gtkmm-prefix,[  --with-gtkmm-prefix=PREFIX
-                          Prefix where GTK-- is installed (optional)],
-            gtkmm_config_prefix="$withval", gtkmm_config_prefix="")
-AC_ARG_WITH(gtkmm-exec-prefix,[  --with-gtkmm-exec-prefix=PREFIX
-                          Exec prefix where GTK-- is installed (optional)],
-            gtkmm_config_exec_prefix="$withval", gtkmm_config_exec_prefix="")
-AC_ARG_ENABLE(gtkmmtest, [  --disable-gtkmmtest     Do not try to compile and run a test GTK-- program],
-                   , enable_gtkmmtest=yes)
-
-  if test x$gtkmm_config_exec_prefix != x ; then
-     gtkmm_config_args="$gtkmm_config_args --exec-prefix=$gtkmm_config_exec_prefix"
-     if test x${GTKMM_CONFIG+set} != xset ; then
-        GTKMM_CONFIG=$gtkmm_config_exec_prefix/bin/gtkmm-config
-     fi
-  fi
-  if test x$gtkmm_config_prefix != x ; then
-     gtkmm_config_args="$gtkmm_config_args --prefix=$gtkmm_config_prefix"
-     if test x${GTKMM_CONFIG+set} != xset ; then
-        GTKMM_CONFIG=$gtkmm_config_prefix/bin/gtkmm-config
-     fi
-  fi
-
-
-AC_DEFUN(AM_PATH_GTKMM,
-[dnl 
-
-dnl
-dnl Check if the installed GTK-- is sufficiently new.
-dnl
-  AC_PATH_PROG(GTKMM_CONFIG, gtkmm-config, no)
-  min_gtkmm_version=ifelse([$1], ,0.9.14,$1)
-
-  AC_MSG_CHECKING(for GTK-- - version >= $min_gtkmm_version)
-  no_gtkmm=""
-  if test "$GTKMM_CONFIG" = "no" ; then
-    no_gtkmm=yes
-  else
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
-
-    GTK___CFLAGS=`$GTKMM_CONFIG $gtkmm_config_args --cflags`
-    GTK___LIBS=`$GTKMM_CONFIG $gtkmm_config_args --libs`
-    gtkmm_config_major_version=`$GTKMM_CONFIG $gtkmm_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-    gtkmm_config_minor_version=`$GTKMM_CONFIG $gtkmm_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-    gtkmm_config_micro_version=`$GTKMM_CONFIG $gtkmm_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-    if test "x$enable_gtkmmtest" = "xyes" ; then
-      ac_save_CXXFLAGS="$CXXFLAGS"
-      ac_save_LIBS="$LIBS"
-      CXXFLAGS="$CXXFLAGS $GTK___CFLAGS"
-      LIBS="$LIBS $GTK___LIBS"
-dnl
-dnl Now check if the installed GTK-- is sufficiently new. (Also sanity
-dnl checks the results of gtkmm-config to some extent
-dnl
-      rm -f conf.gtkmmtest
-      AC_TRY_RUN([
-#include <gtk--.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int 
-main ()
-{
-  int major, minor, micro;
-  char *tmp_version;
-
-  system ("touch conf.gtkmmtest");
-
-  /* HP/UX 0 (%@#!) writes to sscanf strings */
-  tmp_version = g_strdup("$min_gtkmm_version");
-  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string\n", "$min_gtkmm_version");
-     exit(1);
-   }
+    if test "$CYGWIN" = "yes"; then
+       LN_S='cp -r' # Cygwin symbolic links do not work for native apps.
+       program_suffix=.exe
+       INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
+    elif test "$MINGW32" = "yes"; then
+       LN='cp -r'
+       LN_S='cp -r'
+       program_suffix=.exe
+       INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
+       PATHSEP=';'
+    fi
 
-  if ((gtkmm_major_version != $gtkmm_config_major_version) ||
-      (gtkmm_minor_version != $gtkmm_config_minor_version) ||
-      (gtkmm_micro_version != $gtkmm_config_micro_version))
-    {
-      printf("\n*** 'gtkmm-config --version' returned %d.%d.%d, but GTK-- (%d.%d.%d)\n", 
-             $gtkmm_config_major_version, $gtkmm_config_minor_version, $gtkmm_config_micro_version,
-             gtkmm_major_version, gtkmm_minor_version, gtkmm_micro_version);
-      printf ("*** was found! If gtkmm-config was correct, then it is best\n");
-      printf ("*** to remove the old version of GTK--. You may also be able to fix the error\n");
-      printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
-      printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
-      printf("*** required on your system.\n");
-      printf("*** If gtkmm-config was wrong, set the environment variable GTKMM_CONFIG\n");
-      printf("*** to point to the correct copy of gtkmm-config, and remove the file config.cache\n");
-      printf("*** before re-running configure\n");
-    } 
-/* GTK-- does not have the GTKMM_*_VERSION constants */
-/* 
-  else if ((gtkmm_major_version != GTKMM_MAJOR_VERSION) ||
-          (gtkmm_minor_version != GTKMM_MINOR_VERSION) ||
-           (gtkmm_micro_version != GTKMM_MICRO_VERSION))
-    {
-      printf("*** GTK-- header files (version %d.%d.%d) do not match\n",
-            GTKMM_MAJOR_VERSION, GTKMM_MINOR_VERSION, GTKMM_MICRO_VERSION);
-      printf("*** library (version %d.%d.%d)\n",
-            gtkmm_major_version, gtkmm_minor_version, gtkmm_micro_version);
-    }
-*/
-  else
-    {
-      if ((gtkmm_major_version > major) ||
-        ((gtkmm_major_version == major) && (gtkmm_minor_version > minor)) ||
-        ((gtkmm_major_version == major) && (gtkmm_minor_version == minor) && (gtkmm_micro_version >= micro)))
-      {
-        return 0;
-       }
-     else
-      {
-        printf("\n*** An old version of GTK-- (%d.%d.%d) was found.\n",
-               gtkmm_major_version, gtkmm_minor_version, gtkmm_micro_version);
-        printf("*** You need a version of GTK-- newer than %d.%d.%d. The latest version of\n",
-              major, minor, micro);
-        printf("*** GTK-- is always available from ftp://ftp.gtk.org.\n");
-        printf("***\n");
-        printf("*** If you have already installed a sufficiently new version, this error\n");
-        printf("*** probably means that the wrong copy of the gtkmm-config shell script is\n");
-        printf("*** being found. The easiest way to fix this is to remove the old version\n");
-        printf("*** of GTK--, but you can also set the GTKMM_CONFIG environment to point to the\n");
-        printf("*** correct copy of gtkmm-config. (In this case, you will have to\n");
-        printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
-        printf("*** so that the correct libraries are found at run-time))\n");
-      }
-    }
-  return 1;
-}
-],, no_gtkmm=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CXXFLAGS="$ac_save_CXXFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-  if test "x$no_gtkmm" = x ; then
-     AC_MSG_RESULT(yes)
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$GTKMM_CONFIG" = "no" ; then
-       echo "*** The gtkmm-config script installed by GTK-- could not be found"
-       echo "*** If GTK-- was installed in PREFIX, make sure PREFIX/bin is in"
-       echo "*** your path, or set the GTK_CONFIG environment variable to the"
-       echo "*** full path to gtk-config."
-       echo "*** The gtkmm-config script was not available in GTK-- versions"
-       echo "*** prior to 0.9.12. Perhaps you need to update your installed"
-       echo "*** version to 0.9.12 or newer"
-     else
-       if test -f conf.gtkmmtest ; then
-        :
-       else
-          echo "*** Could not run GTK-- test program, checking why..."
-          CXXFLAGS="$CFLAGS $GTKMM_CXXFLAGS"
-          LIBS="$LIBS $GTK___LIBS"
-          AC_TRY_LINK([
-#include <gtk--.h>
-#include <stdio.h>
-],      [ return ((gtkmm_major_version) || (gtkmm_minor_version) || (gtkmm_micro_version)); ],
-        [ echo "*** The test program compiled, but did not run. This usually means"
-          echo "*** that the run-time linker is not finding GTK-- or finding the wrong"
-          echo "*** version of GTK--. If it is not finding GTK--, you'll need to set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
-          echo "*** is required on your system"
-         echo "***"
-          echo "*** If you have an old version installed, it is best to remove it, although"
-          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
-        [ echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occured. This usually means GTK-- was incorrectly installed"
-          echo "*** or that you have moved GTK-- since it was installed. In the latter case, you"
-          echo "*** may want to edit the gtkmm-config script: $GTKMM_CONFIG" ])
-          CXXFLAGS="$ac_save_CXXFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-     GTK___CFLAGS=""
-     GTK__LIBS=""
-     ifelse([$3], , :, [$3])
-     AC_LANG_RESTORE
-  fi
-  AC_SUBST(GTK___CFLAGS)
-  AC_SUBST(GTK___LIBS)
-  rm -f conf.gtkmmtest
-])
+    AC_SUBST(LN)
+    AC_SUBST(LN_S)
+    AC_DEFINE_UNQUOTED(DIRSEP, ['${DIRSEP}'])
+    AC_DEFINE_UNQUOTED(PATHSEP, ['${PATHSEP}'])
+    AC_SUBST(DIRSEP)
+    AC_SUBST(PATHSEP)
+    AC_SUBST(program_suffix)
 
-# Configure paths for GTK--DRAW
-# Derek Quinn Wyatt   98-08-21  (adapted from Jan Nieuwenhuizen's code)
-
-dnl AM_PATH_GTK__DRAW([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for GTK--DRAW, and define GTK___CFLAGS and GTK___LIBS
-dnl
-AC_DEFUN(AM_PATH_GTK__DRAW,
-[dnl 
-dnl Get the cflags and libraries from the gtk__-config script
-dnl
-  AC_PATH_PROG(GTKMM_CONFIG, gtkmm-config, no)
-  min_gtk___version=ifelse([$1], ,0.0.5,$1)
-  AC_MSG_CHECKING(for GTK--DRAW - version >= $min_gtk___version)
-  no_gtk__=""
-  if test "$GTKMM_CONFIG" != "no" ; then
-    GTK___CFLAGS=`$GTKMM_CONFIG --cflags`
-    GTK___LIBS=`$GTKMM_CONFIG --libs`
-    GTK___DLIBS="$GTK___LIBS -lgtkmmdraw"
-    GTK___LIBS="$GTK___DLIBS"
-    ac_save_CFLAGS="$CFLAGS"
-    ac_save_LIBS="$LIBS"
-    ac_save_CXXFLAGS="$CXXFLAGS"
-    CFLAGS="$CFLAGS $GTK___CFLAGS"
-    CXXFLAGS="$CXXFLAGS $GTK___CFLAGS"
-    LIBS="$LIBS $GTK___LIBS"
-dnl
-dnl Now check if the installed GTK__ is sufficiently new. (Also sanity
-dnl checks the results of gtk__-config to some extent)
-dnl
-    AC_TRY_RUN([
-#include <gtk--.h>
-#include <stdio.h>
-
-int 
-main ()
-{
-  // urg
-  return 0;
-}
-],, no_gtk__=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-     CFLAGS="$ac_save_CFLAGS"
-     CXXFLAGS="$ac_save_CXXFLAGS"
-     LIBS="$ac_save_LIBS"
-  else
-     no_gtk__=yes
-  fi
-  if test "x$no_gtk__" = x ; then
-     AC_MSG_RESULT(yes)
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     GTK___CFLAGS=""
-     GTK___LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
-  CXXFLAGS="$CXXFLAGS $GTK___CFLAGS"
-  AC_SUBST(CXXFLAGS)
-  AC_SUBST(GTK___CFLAGS)
-  AC_SUBST(GTK___LIBS)
+    AC_MSG_CHECKING([for some flavor of Windows])
+    if test "$CYGWIN$MINGW32" = "nono"; then
+        PLATFORM_WINDOWS=no
+    else
+        PLATFORM_WINDOWS=yes
+    fi
+    AC_MSG_RESULT([$PLATFORM_WINDOWS])
+    AC_SUBST(PLATFORM_WINDOWS)
+    STEPMAKE_PROGS(WINDRES, $target-windres windres, x)
+    AC_SUBST(WINDRES)
 ])