]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/aclocal.m4
* config.make.in:
[lilypond.git] / stepmake / aclocal.m4
index 344d4c247922236eb5861dc05be0caefcfd061ed..aede92655651bc637803a55764eccd8d909f4d09 100644 (file)
@@ -11,7 +11,7 @@ AC_DEFUN(STEPMAKE_GET_EXECUTABLE, [
     ## 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}'
+    type -p $1 2>/dev/null | tail -n 1 | awk '{print $NF}'
 ])
 
 
@@ -25,8 +25,7 @@ AC_DEFUN(STEPMAKE_GET_VERSION, [
     ##
     ## -V: Workaround for python
 
-    changequote(<<, >>)dnl
-    ##set -x
+    changequote(<<, >>)#dnl
     ## Assume and hunt for dotted version multiplet.
     ## use eval trickery, because we cannot use multi-level $() instead of ``
     ## for compatibility reasons.
@@ -42,8 +41,7 @@ AC_DEFUN(STEPMAKE_GET_VERSION, [
            | sed -e 's/^[^.0-9]*//' -e 's/[^.0-9]*$//'\`\"
     fi
     echo "$_ver"
-    ##set +x
-    changequote([, ])dnl
+    changequote([, ])#dnl
 ])
 
 # Calculate simplistic numeric version from version string ($1)
@@ -197,7 +195,7 @@ AC_DEFUN(STEPMAKE_COMPILE, [
     fi
 
     if test $profile_b = yes; then
-       EXTRA_LIBES="-pg"
+       EXTRA_LIBS="-pg"
        OPTIMIZE="$OPTIMIZE -pg"
     fi
 
@@ -245,10 +243,8 @@ AC_DEFUN(STEPMAKE_COMPILE, [
     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(STEPMAKE_CXX, [
@@ -256,13 +252,11 @@ AC_DEFUN(STEPMAKE_CXX, [
     AC_PROG_CXX
     STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1)
 
-    CPPFLAGS="$CPPFLAGS $DEFINES"
     CXXFLAGS="$CXXFLAGS $OPTIMIZE"
-    LDFLAGS="$LDFLAGS $EXTRA_LIBES"
+    LD='$(CXX)'
 
-    AC_SUBST(CXXFLAGS)
     AC_SUBST(CXX)
-    LD='$(CXX)'
+    AC_SUBST(CXXFLAGS)
     AC_SUBST(LD)
 ])
 
@@ -289,7 +283,7 @@ AC_DEFUN(STEPMAKE_DATADIR, [
        presome=${ac_default_prefix}
     fi
     
-    build_package_datadir=$ugh_ugh_autoconf250_builddir/share/$package
+    build_package_datadir=$ugh_ugh_autoconf250_builddir/out$CONFIGSUFFIX/share/$package
     
     DATADIR=`echo ${datadir} | sed "s!\\\${prefix}!$presome!"`
     BUILD_PACKAGE_DATADIR=`echo ${build_package_datadir} | sed "s!\\\${prefix}!$presome!"`
@@ -307,7 +301,7 @@ AC_DEFUN(STEPMAKE_LIBDIR, [
        libdir='${exec_prefix}/lib'
     fi
     presome=$exec_prefix
-    build_package_libdir=$ugh_ugh_autoconf250_builddir/lib/$package
+    build_package_libdir=$ugh_ugh_autoconf250_builddir/out$CONFIGSUFFIX/lib/$package
     
     LIBDIR=`echo ${libdir} | sed "s!\\\${exec_prefix}!$presome!"`
     BUILD_PACKAGE_LIBDIR=`echo ${build_package_libdir} | sed "s!\\\${exec_prefix}!$presome!"`
@@ -360,10 +354,43 @@ AC_DEFUN(STEPMAKE_END, [
        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
+
+       for d in 2 3 4 ; do
+           for mf in `cd $srcdir ; find -maxdepth $d -mindepth $d -name GNUmakefile`; do
+               mkdir -p $(dirname $mf)
+               cat <<EOF | $PYTHON -  > $mf
+print 'depth=' + ('../' * ( $d-1 ) )
+print 'include \$(depth)/config\$(if \$(conf),-\$(conf),).make'
+print 'include \$(configure-srcdir)/$mf'
+EOF
+           done
+           for mf in `cd $srcdir ; find -maxdepth $d -mindepth $d -name '*.make' | grep -v config.make `; do
+               mkdir -p $(dirname $mf)
+               cat <<EOF | $PYTHON -  > $mf
+print 'include \$(depth)/config\$(if \$(conf),-\$(conf),).make'
+print 'include \$(configure-srcdir)/$mf'
+EOF
+           done
+       done
+
+       
+       cat <<EOF > GNUmakefile
+depth = ./
+include config\$(if \$(conf),-\$(conf),).make
+include \$(configure-srcdir)/GNUmakefile.in
+EOF
+       AC_SUBST(VPATH)
     fi
 ])
 
@@ -412,6 +439,23 @@ class yy_flex_lexer: public yyFlexLexer
 ])
   
 
+
+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=`$CXX -E conftest.cc | \
+         sed 's!# 1 "\(.*FlexLexer.h\)"!@FLEXLEXER@\1@@!g' | grep '@@' | \
+         sed 's!.*@FLEXLEXER@\(.*\)@@.*$!\1!g' ` >& /dev/null
+       rm conftest.cc
+       AC_SUBST(FLEXLEXER_FILE)
+        AC_MSG_RESULT($FLEXLEXER_FILE)
+])
+
 AC_DEFUN(STEPMAKE_GCC, [
     if test "$GCC" = "yes"; then
         STEPMAKE_CHECK_VERSION(CC, $1, $2)
@@ -519,11 +563,11 @@ AC_DEFUN(STEPMAKE_GUILE_DEVEL, [
     AC_SUBST(GUILE_CONFIG)
     
     guile_version="$ver"
-    changequote(<<, >>)dnl
+    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
+    changequote([, ])#dnl
     STEPMAKE_GUILE_FLAGS
     save_CPPFLAGS="$CPPFLAGS"
     save_LIBS="$LIBS"
@@ -565,15 +609,18 @@ AC_DEFUN(STEPMAKE_INIT, [
     AC_PREREQ(2.50)
     . $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
@@ -611,8 +658,6 @@ AC_DEFUN(STEPMAKE_INIT, [
 
        (cd stepmake 2>/dev/null || mkdir stepmake)
        (cd stepmake; rm -f bin; ln -s ../$srcdir/bin .)
-# only possible with autoconf < 2.50 -- hardcoded in configure.in
-#      AC_CONFIG_AUX_DIR(bin)
        stepmake=stepmake
     else
         AC_MSG_RESULT($PACKAGE)
@@ -634,21 +679,29 @@ AC_DEFUN(STEPMAKE_INIT, [
            stepmake="`cd $srcdir/stepmake; pwd`"
            AC_MSG_RESULT([$srcdir/stepmake  ($datadir/stepmake not found)])
        fi
-
-# only possible with autoconf < 2.50 -- hardcoded in configure.in
-#      AC_CONFIG_AUX_DIR(\
-#        stepmake/bin\
-#        $srcdir/stepmake/bin\
-#      )
     fi
 
     AC_SUBST(ugh_ugh_autoconf250_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_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.
@@ -672,7 +725,7 @@ AC_DEFUN(STEPMAKE_INIT, [
     CONFIGSUFFIX=
     AC_ARG_ENABLE(config,
     [  --enable-config=CONF    put settings in config-CONF.make and config-CONF.h;
-                            do \`make conf=CONF' to get output in ./out-CONF],
+                            do `make conf=CONF' to get output in ./out-CONF],
     [CONFIGURATION=$enableval])
 
     ##'
@@ -708,32 +761,20 @@ AC_DEFUN(STEPMAKE_INIT, [
            # STEPMAKE_WARN($warn)
            STEPMAKE_ADD_ENTRY(REQUIRED, $warn)
         fi
-    fi 
-
-    if test "$OSTYPE" = "cygwin" -o "$OSTYPE" = "cygwin32" -o "$OSTYPE" = "Windows_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
-       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
+
+    ROOTSEP=':'
+    DIRSEP='/'
+    PATHSEP=':'
+    LN=ln
+    LN_S='ln -s'
+    ZIP="zip -r -9"
+
     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(DIRSEP)
@@ -767,12 +808,9 @@ AC_DEFUN(STEPMAKE_KPATHSEA, [
            ])
     
     kpathsea_b=yes
-    #FIXME --with-xxx is meant for specifying a PATH too,
-    # so this should read: --enable-kpathsea,
-    # or --with-kpathsea-include=PATH --with-kpathsea-lib=PATH
-    AC_ARG_WITH(kpathsea,
-    [  --with-kpathsea         use kpathsea lib.  Default: on],
-    [kpathsea_b=$with_kpathsea])
+    AC_ARG_ENABLE(kpathsea,
+    [  --enable-kpathsea         use kpathsea lib.  Default: on],
+    [kpathsea_b=$enableval])
 
     save_LIBS="$LIBS"
     if test "$kpathsea_b" != "no"; then        
@@ -780,28 +818,22 @@ AC_DEFUN(STEPMAKE_KPATHSEA, [
        AC_CHECK_LIB(kpathsea, kpse_find_file)
        AC_CHECK_FUNCS(kpse_find_file,,kpathsea_b=no)
        if test "$kpathsea_b" = "no"; then
-           warn='kpathsea (libkpathsea-dev, kpathsea-devel or tetex-devel
-   package).
-   Else, please specify the directories where kpathsea/kpathsea.h and
-   libkpathsea.a are installed using --with-kpathsea-include and
-   --with-kpathsea-lib options.  You should install kpathsea; see
-   INSTALL.txt.  Rerun ./configure --without-kpathsea only if kpathsea
-   is not available for your platform.'
-           STEPMAKE_ADD_ENTRY(REQUIRED, $warn)
+           STEPMAKE_ADD_ENTRY(OPTIONAL, $warn)
        fi
     fi
 
     save_CFLAGS="$CFLAGS"
-    CFLAGS="-shared $CFLAGS"
+    CFLAGS=`echo "-shared $CFLAGS" | sed -e 's/ -g//'`
     AC_MSG_CHECKING([for shared libkpathsea])
     AC_TRY_LINK([#include <kpathsea/kpathsea.h>],
                  [kpse_var_expand ("\$TEXMF");],
                  [have_libkpathsea_so=maybe;
-                 shared_size=`wc -c conftest | sed 's/ .*//g'`]
+                 shared_size=`wc -c conftest$ac_exeext`;
+                 shared_size=`echo $shared_size | sed -e 's/ .*//g'`],
                  [have_libkpathsea_so=no])
 
     if test "$have_libkpathsea_so" = "maybe"; then
-       if test $shared_size -lt 40000 ; then
+       if test "$shared_size" -lt 40000 ; then
          have_libkpathsea_so=yes
        else
          have_libkpathsea_so=no
@@ -827,6 +859,7 @@ AC_DEFUN(STEPMAKE_KPATHSEA, [
 
     AC_SUBST(KPATHSEA)
     AC_SUBST(KPATHSEA_LIBS)
+    AC_SUBST(HAVE_LIBKPATHSEA_SO, $have_libkpathsea_so)
     AC_DEFINE_UNQUOTED(KPATHSEA, $KPATHSEA)
 ])
 
@@ -893,31 +926,9 @@ AC_DEFUN(STEPMAKE_LOCALE, [
 
 AC_DEFUN(STEPMAKE_MAKEINFO, [
     STEPMAKE_PROGS(MAKEINFO, makeinfo, $1)
-    if test "$MAKEINFO" = "makeinfo"; then
-       AC_MSG_CHECKING(whether makeinfo can split html by @node)
-       mkdir -p out
-       makeinfo --html --output=out/split <<EOF
-\input texinfo
-\input texinfo @c -*-texinfo-*-
-@setfilename split.info
-@settitle split.info
-@bye
-EOF
-       if test -d out/split; then
-           SPLITTING_MAKEINFO=yes
-           AC_MSG_RESULT(yes)
-           rm -rf out/split
-       else
-           AC_MSG_RESULT(no)
-           STEPMAKE_WARN(your html documentation will be one large file)
-           rm -rf out/split
-       fi
-    fi
-    AC_SUBST(SPLITTING_MAKEINFO)
 ])
 
 
-
 AC_DEFUN(STEPMAKE_MAN, [
     STEPMAKE_PROGS(GROFF, groff ditroff, $1)
     AC_SUBST(GROFF)
@@ -967,7 +978,7 @@ AC_DEFUN(STEPMAKE_PERL, [
 AC_DEFUN(STEPMAKE_PYTHON, [
     unset pv
     AC_MSG_CHECKING([for python])
-    for python in $PYTHON python python2 python2.3 python2.2 python2.1 python2.0; do
+    for python in $PYTHON python python2 python2.4 python2.3 python2.2 python2.1 python2.0; do
        AC_MSG_RESULT([$python])
        if ! $python -V > /dev/null 2>&1 ; then
            #AC_MSG_WARN([cannot execute $python])
@@ -989,64 +1000,50 @@ AC_DEFUN(STEPMAKE_PYTHON, [
 ])
 
 AC_DEFUN(STEPMAKE_PYTHON_DEVEL, [
-    unset PYTHON_HEADER PYTHON_INCLUDE
-    if test -n "$PYTHON"; then
-       changequote(<<, >>)dnl
+    AC_ARG_WITH(python-include,
+       [  --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,
+       [  --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
+           ])
+    
+    if test "$cross_compiling" = "no" -a -z "$PYTHON_CFLAGS"; 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]))'`
-       changequote([, ])dnl
+       PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
+       changequote([, ])#dnl
     fi
     
-    ##AC_CHECK_HEADERS([Python.h],[PYTHON_HEADER=yes])
     if test -z "$PYTHON_HEADER"; then
-       #URG -- how to extend include path?
-       ac_compile="$ac_compile -I$PYTHON_INCLUDE"
-       ac_cpp="$ac_cpp -I$PYTHON_INCLUDE"
-       CPPFLAGS="$CPPFLAGS -I$PYTHON_INCLUDE"
+       CPPFLAGS="$PYTHON_CFLAGS $CPPFLAGS"
        AC_CHECK_HEADERS([Python.h],[PYTHON_HEADER=yes])
     fi
     
     if test -z "$PYTHON_HEADER"; then
-       warn="$PYTHON_INCLUDE/Python.h (python-devel, python-dev or libpython-dev package)"
+       warn="Python.h (python-devel, python-dev or libpython-dev package)"
        STEPMAKE_ADD_ENTRY($1, $warn)
     fi
 ])
 
-
 AC_DEFUN(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] )
-
     # ugh
     STEPMAKE_PROGS(KPSEWHICH, kpsewhich, OPTIONAL)
-    AC_MSG_CHECKING(for tfm path)
-
-    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
-       else
-           STEPMAKE_WARN(Please specify where cmr10.tfm lives:
-    ./configure --enable-tfm-path=/usr/local/TeX/lib/tex/fonts)
-       fi
-    else
-         TFM_PATH=$tfm_path
-    fi
-
-    TFM_PATH=`echo $TFM_PATH | tr ':' ' '`
-    AC_MSG_RESULT($TFM_PATH)
-    AC_SUBST(TFM_PATH)
 ])
 
-
 AC_DEFUN(STEPMAKE_TEXMF, [
     STEPMAKE_PROGS(METAFONT, mf-nowin mf mfw mfont, $1)
     # STEPMAKE_PROGS(INIMETAFONT, inimf inimfont "$METAFONT -ini", $1)
@@ -1115,9 +1112,6 @@ AC_DEFUN(PKG_CHECK_MODULES, [
 
         AC_SUBST($1_CFLAGS)
         AC_SUBST($1_LIBS)
-     else
-        echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
-        echo "*** See http://www.freedesktop.org/software/pkgconfig"
      fi
   fi
 
@@ -1128,50 +1122,78 @@ AC_DEFUN(PKG_CHECK_MODULES, [
   fi
 ])
 
-
 AC_DEFUN(STEPMAKE_FREETYPE2, [
-    PKG_CHECK_MODULES(FREETYPE2, freetype2 >= 0, have_freetype2=true, true)
-    if $have_freetype2 ; then
+    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
 ])
 
 AC_DEFUN(STEPMAKE_GTK2, [
-    PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.4.0, have_gtk2=true, true)
-    if $have_gtk2 ; then
+    PKG_CHECK_MODULES(GTK2, $1 >= $3, have_gtk2=yes, true)
+    if test "$have_gtk2" = yes ; then
        AC_DEFINE(HAVE_GTK2)
+       # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+       CPPFLAGS="$GTK2_CFLAGS $CPPFLAGS"
+       LIBS="$GTK2_LIBS $LIBS"
        AC_SUBST(GTK2_CFLAGS)
        AC_SUBST(GTK2_LIBS)
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
+    else
+       # UGR
+       # r="lib$1-dev or $1-devel"
+       r="libgtk2.0-dev or gtk2-devel"
+       ver="`pkg-config --modversion $1`"
+       STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
     fi
 ])
 
 AC_DEFUN(STEPMAKE_PANGO, [
-    PKG_CHECK_MODULES(PANGO, pango >= 1.6.0, have_pango16=true, true)
-    if $have_pango16 ; then
+    PKG_CHECK_MODULES(PANGO, $1 >= $3, have_pango16=yes, true)
+    if test "$have_pango16" = yes ; then
        AC_DEFINE(HAVE_PANGO16)
-       PANGO_CFLAGS="$PANGO_CFLAGS $GTK2_CFLAGS"
-       PANGO_LIBS="$PANGO_LIBS $GTK2_LIBS"
        # 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"
-fi
+    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(STEPMAKE_PANGO_FT2, [
-    PKG_CHECK_MODULES(PANGO_FT2, pangoft2 >= 1.6.0, have_pangoft2=true, true)
-    if $have_pangoft2 ; then
+    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)
-       PANGO_FT2_CFLAGS="$PANGO_FT2_CFLAGS $GTK2_CFLAGS"
-       PANGO_FT2_LIBS="$PANGO_FT2_LIBS $GTK2_LIBS"
        # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
         save_CPPFLAGS="$CPPFLAGS"
         save_LIBS="$LIBS"
@@ -1183,5 +1205,67 @@ AC_DEFUN(STEPMAKE_PANGO_FT2, [
        AC_SUBST(PANGO_FT2_LIBS)
        CPPFLAGS="$save_CPPFLAGS"
        LIBS="$save_LIBS"
-fi
+    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
+])
+
+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
+
+    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
+
+    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)
+
+    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)
 ])