X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=aclocal.m4;h=cf597f3789cc1549685955f74dea0e1d72e43a06;hb=36079063504b59027cdd84e36a1fc9e2bfc4fc76;hp=8f08ec9a813ac0a50f8cad10e5ec7d7c3d0f8ba7;hpb=4eb6f42fc6ca20d65c788a73eb78dfcc22ea0453;p=lilypond.git diff --git a/aclocal.m4 b/aclocal.m4 index 8f08ec9a81..cf597f3789 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,10 +1,99 @@ -dnl WARNING WARNING WARNING WARNING +dnl aclocal.m4 -*-shell-script-*- +dnl 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 -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 -1 | awk '{print $NF}' +]) + + +# Get version string from executable ($1) +AC_DEFUN(STEPMAKE_GET_VERSION, [ + "$1" --version 2>&1 | grep -v '^$' | head -1 | awk '{print $NF}' +]) + +# Calculate numeric version from version string ($1) +AC_DEFUN(STEPMAKE_NUMERIC_VERSION, [ + echo "$1" | awk -F. ' + { + if ([$]3) {last = [$]3} + else {last =0} + } + {printf "%s%s%s\n",[$]1*100, [$]2*10,last}' +]) + + +# 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 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)` + exe=`STEPMAKE_GET_EXECUTABLE($r)` + ver=`STEPMAKE_GET_VERSION($exe)` + 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 +]) + +### Macros to build configure.in + + +AC_DEFUN(STEPMAKE_BIBTEX2HTML, [ + STEPMAKE_PROGS(BIBTEX2HTML, bibtex2html bib2html, $1) if test "$BIBTEX2HTML" = "bib2html"; then BIBTEX2HTML_FLAGS='$< $(@)' else @@ -15,11 +104,24 @@ 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, [ # -O is necessary to get inlining - CFLAGS=${CFLAGS:-""} - CXXFLAGS=${CXXFLAGS:-$CFLAGS} - LDFLAGS=${LDFLAGS:-""} + CFLAGS=${CFLAGS-""} + CXXFLAGS=${CXXFLAGS-$CFLAGS} + LDFLAGS=${LDFLAGS-""} checking_b=yes optimise_b=yes profile_b=no @@ -33,6 +135,10 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [ [ --enable-debugging compile with debugging info. Default: on], [debug_b=$enableval]) + AC_ARG_ENABLE(optimising, + [ --enable-optimising compile with optimising. Default: on], + [optimise_b=$enableval]) + AC_ARG_ENABLE(profiling, [ --enable-profiling compile with gprof support. Default: off], [profile_b=$enableval]) @@ -60,11 +166,25 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [ AC_PROG_CC + STEPMAKE_OPTIONAL_REQUIRED(CC, cc, $1) LD='$(CC)' AC_SUBST(LD) 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) @@ -75,12 +195,10 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [ AC_SUBST(EXTRA_LIBES) ]) -AC_DEFUN(AC_STEPMAKE_CXX, [ - AC_LANG_CPLUSPLUS +AC_DEFUN(STEPMAKE_CXX, [ + AC_LANG([C++]) AC_PROG_CXX - - AC_CHECK_HEADER(FlexLexer.h, true, - AC_STEPMAKE_WARN(can"\'"t find flex header. Please install Flex headers correctly)) + STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1) CPPFLAGS="$CPPFLAGS $DEFINES" CXXFLAGS="$CXXFLAGS $OPTIMIZE" @@ -92,7 +210,8 @@ AC_DEFUN(AC_STEPMAKE_CXX, [ AC_SUBST(LD) ]) -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([ @@ -106,9 +225,10 @@ AC_DEFUN(AC_STEPMAKE_CXXTEMPLATE, [ fi ]) -AC_DEFUN(AC_STEPMAKE_DATADIR, [ + +AC_DEFUN(STEPMAKE_DATADIR, [ if test "$datadir" = "\${prefix}/share"; then - datadir='${prefix}/share/'$package + datadir='${prefix}/share/'$package/$FULL_VERSION fi DIR_DATADIR=${datadir} presome=${prefix} @@ -119,18 +239,42 @@ AC_DEFUN(AC_STEPMAKE_DATADIR, [ AC_SUBST(datadir) AC_SUBST(DIR_DATADIR) - - dnl yeah, so fuck me gently with a cactus: this doesnt belong here - dnl Please take the person responsible for inventing shell-scripts out - dnl and shoot him. On behalf of the sane world, thank you. - dnl DIR_SHAREDSTATEDIR="foobar" - dnl AC_SUBST(DIR_SHAREDSTATEDIR) + + # we used to set DIR_SHAREDSTATEDIR here, + # but apparently that broke something AC_DEFINE_UNQUOTED(DIR_DATADIR, "${DIR_DATADIR}") ]) -AC_DEFUN(AC_STEPMAKE_END, [ - AC_OUTPUT($CONFIGFILE.make:config.make.in) + +AC_DEFUN(STEPMAKE_END, [ + 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 "$OPTIONAL$REQUIRED"; then + echo + echo "See INSTALL.txt for more information on how to build $PACKAGE_NAME" + echo "Remove config.cache before rerunning ./configure" + fi + + if test -n "$REQUIRED"; then + rm -f $srcdir/GNUmakefile + exit 1 + fi # regular in-place build # test for srcdir_build = yes ? @@ -145,21 +289,93 @@ AC_DEFUN(AC_STEPMAKE_END, [ 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 +]) + + +AC_DEFUN(STEPMAKE_GCC, [ + if test "$GCC" = "yes"; then + STEPMAKE_CHECK_VERSION(CC, $1, $2) else - AC_STEPMAKE_WARN(can\'t find g++ 2.8, 2.9 or egcs 1.1) + warn="$CC (Please install *GNU* cc)" + STEPMAKE_ADD_ENTRY($1, $warn) fi ]) -AC_DEFUN(AC_STEPMAKE_GUILE, [ + +AC_DEFUN(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_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. AC_MSG_CHECKING("for guile-config") for guile_config in guile-config $target-guile-config $build-guile-config; do @@ -167,34 +383,47 @@ AC_DEFUN(AC_STEPMAKE_GUILE, [ 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 + GUILE_CONFIG='echo no guile-config' else + GUILE_CONFIG=$guile_config break fi done - if test "$guile_config" = "error"; then - AC_MSG_ERROR("cannot find guile-config; is Guile installed?") - exit 1 + STEPMAKE_OPTIONAL_REQUIRED(GUILE_CONFIG, $guile_config, $1) + if test $? -ne 0; then + STEPMAKE_ADD_ENTRY($1, 'guile-config (guile-devel, guile-dev or libguile-dev package)') + fi + + STEPMAKE_CHECK_SEARCH_RESULT(GUILE_CONFIG) + # urg. should test functionality rather than version. + if test $? -eq 0 -a -n "$2"; then + STEPMAKE_CHECK_VERSION(GUILE_CONFIG, $1, $2) 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") + + 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]*\)'` + changequote([, ])dnl + STEPMAKE_GUILE_FLAGS + AC_DEFINE_UNQUOTED(GUILE_MAJOR_VERSION, $GUILE_MAJOR_VERSION) + AC_DEFINE_UNQUOTED(GUILE_MINOR_VERSION, $GUILE_MINOR_VERSION) +]) + + +AC_DEFUN(STEPMAKE_GXX, [ + if test "$GXX" = "yes"; then + STEPMAKE_CHECK_VERSION(CXX, $1, $2) + else + warn="$CXX (Please install *GNU* c++)" + STEPMAKE_ADD_ENTRY($1, $warn) fi - GUILE_FLAGS - AC_PATH_PROG(GUILE, guile, error) - AC_SUBST(GUILE) ]) -AC_DEFUN(AC_STEPMAKE_INIT, [ + +AC_DEFUN(STEPMAKE_INIT, [ . $srcdir/VERSION FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL @@ -241,7 +470,6 @@ AC_DEFUN(AC_STEPMAKE_INIT, [ AC_MSG_RESULT($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 @@ -261,7 +489,7 @@ AC_DEFUN(AC_STEPMAKE_INIT, [ AC_MSG_RESULT($builddir) if expr "$srcdir" : '/' > /dev/null 2>&1; then absolute_srcdir=yes - AC_STEPMAKE_WARN(Absolute --srcdir specified: $srcdir) + STEPMAKE_WARN(Absolute --srcdir specified: $srcdir) fi AC_MSG_CHECKING(for stepmake) @@ -314,26 +542,23 @@ AC_DEFUN(AC_STEPMAKE_INIT, [ 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], - [CONFIGSUFFIX=-$enableval]) + [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 - - AC_CHECK_PROGS(TAR, tar, error) + STEPMAKE_PROGS(TAR, tar, REQUIRED) if test "x`uname`" = "xHP-UX"; then AC_PATH_PROG(BASH, bash, /bin/sh) - AC_STEPMAKE_WARN(avoiding buggy /bin/sh) + STEPMAKE_WARN(avoiding buggy /bin/sh) AC_PATH_PROG(SHELL, bash, /bin/ksh) else AC_PATH_PROG(BASH, bash, /bin/sh) @@ -341,49 +566,22 @@ dnl fi AC_SUBST(SHELL) fi + STEPMAKE_PATH_PROG(PYTHON, python, REQUIRED) - 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 + 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) - - if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_NT"; then + 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 - # 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=':' @@ -405,26 +603,31 @@ dnl fi AC_SUBST(INSTALL) AC_DEFINE_UNQUOTED(DIRSEP, '${DIRSEP}') AC_DEFINE_UNQUOTED(PATHSEP, '${PATHSEP}') - AC_SUBST(PATHSEP) AC_SUBST(DIRSEP) + AC_SUBST(PATHSEP) + AC_SUBST(ROOTSEP) - AC_STEPMAKE_DATADIR + STEPMAKE_DATADIR ]) -AC_DEFUN(AC_STEPMAKE_KPATHSEA, [ + +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=$enableval]) + [kpathsea_b=$with_kpathsea]) - if test "$kpathsea_b" = "yes"; then - AC_HAVE_HEADERS(kpathsea/kpathsea.h) + if test "$kpathsea_b" != "no"; then + AC_CHECK_HEADERS([kpathsea/kpathsea.h]) AC_CHECK_LIB(kpathsea, kpse_find_file) - AC_CHECK_FUNCS(kpse_find_file,, AC_ERROR(Cannot find kpathsea functions. Rerun with --without-kpathsea.) ) + AC_CHECK_FUNCS(kpse_find_file,, AC_MSG_ERROR([Cannot find kpathsea functions. You should install kpathsea; see INSTALL.txt. Rerun ./configure --without-kpathsea only if kpathsea is not available for your platform.])) fi AC_MSG_CHECKING(whether to use kpathsea) - if test "$kpathsea_b" = yes; then + if test "$kpathsea_b" != no; then AC_MSG_RESULT(yes) KPATHSEA=1 else @@ -436,42 +639,15 @@ AC_DEFUN(AC_STEPMAKE_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 @@ -487,7 +663,8 @@ AC_DEFUN(AC_STEPMAKE_LIBTOOL, [ AC_SUBST(AGE) ]) -AC_DEFUN(AC_STEPMAKE_LOCALE, [ + +AC_DEFUN(STEPMAKE_LOCALE, [ lang=English ALL_LINGUAS="en nl" @@ -517,94 +694,103 @@ 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} + +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 < /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) -]) - - -# 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 -#include - -int -main () -{ - int major, minor, micro; - - if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, µ) != 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) -]) - - -# 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 -#include -#include - -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, µ) != 3) { - printf("%s, bad version string\n", "$min_gtkmm_version"); - exit(1); - } - - 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 -#include -], [ 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 -]) - -# 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 -#include - -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) -])