+ if test "$optimise_b" = yes; then
+ AC_DEFINE(NDEBUG)
+ DEFINES="$DEFINES -DNDEBUG"
+ OPTIMIZE=" -O2 -finline-functions"
+ fi
+
+ if test $profile_b = yes; then
+ EXTRA_LIBS="-pg"
+ OPTIMIZE="$OPTIMIZE -pg"
+ fi
+
+ if test $debug_b = yes; then
+ OPTIMIZE="$OPTIMIZE -g"
+ fi
+])
+
+AC_DEFUN(STEPMAKE_COMPILE, [
+
+ AC_REQUIRE([STEPMAKE_COMPILE_BEFORE])
+ AC_REQUIRE([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-""}
+
+ 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(DEFINES)
+ AC_SUBST(EXTRA_LIBS)
+])
+
+AC_DEFUN(STEPMAKE_CXX, [
+ AC_PROG_CXX
+ STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1)
+
+ CXXFLAGS="$CXXFLAGS $OPTIMIZE"
+ LD='$(CXX)'
+
+ AC_SUBST(CXX)
+ AC_SUBST(CXXFLAGS)
+ AC_SUBST(LD)
+])
+
+
+AC_DEFUN(STEPMAKE_CXXTEMPLATE, [
+ AC_CACHE_CHECK([whether explicit instantiation is needed],
+ 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; ]])],[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(STEPMAKE_DATADIR, [
+ if test "$datadir" = "\${prefix}/share"; then
+ datadir='${prefix}/share'
+ fi
+ 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}!${prefix}/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, [
+
+ if test "$libdir" = "\${exec_prefix}/lib"; then
+ libdir='${exec_prefix}/lib'
+ fi
+ presome=$exec_prefix
+ 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!"`
+
+ 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(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: $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 "$srcdir_build" = "yes"; then
+ rm -f $srcdir/GNUmakefile
+ cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile
+ chmod 444 $srcdir/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'
+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
+ 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
+])
+
+
+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, [
+ if test "$GCC" = "yes"; then
+ STEPMAKE_CHECK_VERSION(CC, $1, $2)
+ else
+ warn="$CC (Please install *GNU* cc)"
+ STEPMAKE_ADD_ENTRY($1, $warn)
+ fi
+])
+
+AC_DEFUN(STEPMAKE_GETTEXT, [
+ 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)
+])
+
+
+AC_DEFUN(STEPMAKE_GUILE, [
+ STEPMAKE_PATH_PROG(GUILE, guile, $1)
+])
+
+
+# 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(STEPMAKE_GUILE_DEVEL, [
+ ## First, let's just see if we can find Guile at all.
+ 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])
+ for guile_config in $GUILE_CONFIG $target_guile_config $host_guile_config $build_guile_config 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='echo no guile-config'
+ else
+ GUILE_CONFIG=$guile_config
+ break