X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=aclocal.m4;h=9fc06207b97b648d4a90c6491bab7c5d4ccf1ff0;hb=e63ea5ba4dfc0ecf69e0211dc0327503dfc05037;hp=9aae46c03267a191383438dfc08167654ed3afa5;hpb=722ce7fa655c28f9e5a7d75eb6a28f4d212be13b;p=lilypond.git diff --git a/aclocal.m4 b/aclocal.m4 index 9aae46c032..9fc06207b9 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,51 +1,143 @@ -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/stepmake/../aclocal.m4 +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_COMPILE, [ + +### mostly interal macros + +# Get full path of executable ($1) +AC_DEFUN(STEPMAKE_GET_EXECUTABLE, [ + type -p "$1" 2>&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 + ##STEPMAKE_WARN(cannot find $2. $3) + false + else + true + 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)` + 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 + BIBTEX2HTML_FLAGS='-o $(@D)/$(*F) $<' + fi + AC_SUBST(BIBTEX2HTML) + AC_SUBST(BIBTEX2HTML_FLAGS) +]) + + +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 - OPTIMIZE="" - CXXFLAGS=${CXXFLAGS:-""} - CFLAGS=${CFLAGS:-""} + CFLAGS=${CFLAGS-""} + CXXFLAGS=${CXXFLAGS-$CFLAGS} + LDFLAGS=${LDFLAGS-""} checking_b=yes - optimise_b=no + optimise_b=yes profile_b=no debug_b=yes AC_ARG_ENABLE(checking, - [ enable-checking set runtime checks (assert calls). Default: on], + [ --enable-checking set runtime checks (assert calls). Default: on], [checking_b=$enableval] ) - # actually, the default is: tja='-O' to get inlining... - # off='' --jcn + AC_ARG_ENABLE(debugging, + [ --enable-debugging compile with debugging info. Default: on], + [debug_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, + [ --enable-optimising compile with optimising. Default: on], [optimise_b=$enableval]) - + AC_ARG_ENABLE(profiling, - [ enable-profiling compile with gprof support. Default: off], + [ --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 "$printing_b" = no; then - # ugh - AC_DEFINE(NPRINT) - DEFINES="$DEFINES -DNPRINT" - fi - if test "$checking_b" = no; then # ugh AC_DEFINE(NDEBUG) @@ -56,9 +148,6 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [ OPTIMIZE="-O2 -finline-functions" fi - if test "$optimise_b" = no; then - OPTIMIZE="" - fi if test $profile_b = yes; then EXTRA_LIBES="-pg" @@ -69,17 +158,29 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [ 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_PROG_CC + STEPMAKE_OPTIONAL_REQUIRED(CC, cc, $1) LD='$(CC)' AC_SUBST(LD) - CPPFLAGS=${CPPFLAGS:-""} + 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(ICFLAGS) @@ -88,16 +189,14 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [ AC_SUBST(EXTRA_LIBES) ]) -AC_DEFUN(AC_STEPMAKE_CXX, [ +AC_DEFUN(STEPMAKE_CXX, [ AC_LANG_CPLUSPLUS 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" - LDFLAGS=$EXTRA_LIBES + LDFLAGS="$LDFLAGS $EXTRA_LIBES" AC_SUBST(CXXFLAGS) AC_SUBST(CXX) @@ -105,7 +204,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([ @@ -119,7 +219,8 @@ 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 fi @@ -129,33 +230,196 @@ AC_DEFUN(AC_STEPMAKE_DATADIR, [ presome=${ac_default_prefix} fi DIR_DATADIR=`echo ${DIR_DATADIR} | sed "s!\\\${prefix}!$presome!"` + 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) + AC_DEFINE_UNQUOTED(DIR_DATADIR, "${DIR_DATADIR}") ]) -AC_DEFUN(AC_STEPMAKE_END, [ + +AC_DEFUN(STEPMAKE_END, [ + AC_SUBST(OPTIONAL) + AC_SUBST(REQUIRED) + AC_OUTPUT($CONFIGFILE.make:config.make.in) - rm -f GNUmakefile - cp make/toplevel.make.in ./GNUmakefile - chmod 444 GNUmakefile + + 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 ? + if test "$builddir" = "."; 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 + 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_DECL_YYTEXT + # ugh, ugh + ac_cv_prog_lex_root=lex.yy + STEPMAKE_PROGS(FLEX, flex, $1) +]) + + +AC_DEFUN(STEPMAKE_FLEXLEXER, [ + AC_HAVE_HEADERS(FlexLexer.h, true, false) + if test $? -ne 0; then + warn='FlexLexer.h (flex package)' + STEPMAKE_ADD_ENTRY($1, $warn) + fi +]) + + +AC_DEFUN(STEPMAKE_GCC, [ + if test "$GCC" = "yes"; then + STEPMAKE_CHECK_VERSION(CC, $1, $2) + else + warn="$CC (Please install *GNU* cc)" + STEPMAKE_ADD_ENTRY($1, $warn) + fi ]) -AC_DEFUN(AC_STEPMAKE_GXX, [ - # ugh autoconf + +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 + 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 + fi + done + 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_SUBST(GUILE_CONFIG) + + guile_version="$ver" changequote(<<, >>)dnl - if $CXX --version | grep '2\.[78]' > /dev/null || - $CXX --version | grep 'egcs' > /dev/null + GUILE_MAJOR_VERSION=`expr $guile_version : '\([0-9]*\)'` + GUILE_MINOR_VERSION=`expr $guile_version : '[0-9]*\.\([0-9]*\)'` changequote([, ])dnl - then - true + 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 - AC_STEPMAKE_WARN(can\'t find g++ 2.7, 2.8 or egcs) + warn="$CXX (Please install *GNU* c++)" + STEPMAKE_ADD_ENTRY($1, $warn) fi ]) -AC_DEFUN(AC_STEPMAKE_INIT, [ + +AC_DEFUN(STEPMAKE_INIT, [ . $srcdir/VERSION FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL @@ -169,98 +433,166 @@ AC_DEFUN(AC_STEPMAKE_INIT, [ package=`echo $PACKAGE_NAME | tr '[A-Z]' '[a-z]'` changequote([, ])dnl + # No versioning on directory names of sub-packages + # urg, urg + stepmake=${datadir}/stepmake + presome=${prefix} + if test "$prefix" = "NONE"; then + presome=${ac_default_prefix} + fi + stepmake=`echo ${stepmake} | sed "s!\\\${prefix}!$presome!"` + + # urg, how is this supposed to work? + if test "$program_prefix" = "NONE"; then + program_prefix= + fi + if test "$program_suffix" = "NONE"; then + program_suffix= + fi + + AC_MSG_CHECKING(Package) if test "x$PACKAGE" = "xSTEPMAKE"; then - echo Stepmake package! - (cd stepmake; rm -f stepmake; ln -s ../stepmake .) - (cd stepmake; rm -f bin; ln -s ../bin .) + AC_MSG_RESULT(Stepmake package!) + + AC_MSG_CHECKING(builddir) + if test "$srcdir" = "."; then + builddir=. + else + absolute_builddir="`pwd`" + package_absolute_builddir="`dirname $absolute_builddir`" + package_srcdir="`dirname $srcdir`" + builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`" + fi + AC_MSG_RESULT($builddir) + + (cd stepmake 2>/dev/null || mkdir stepmake) + (cd stepmake; rm -f bin; ln -s ../$srcdir/bin .) AC_CONFIG_AUX_DIR(bin) + stepmake=stepmake else - echo Package: $PACKAGE - AC_CONFIG_AUX_DIR(stepmake/bin) + 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\"`" + srcdir_build=yes + fi + AC_MSG_RESULT($builddir) + if expr "$srcdir" : '/' > /dev/null 2>&1; then + absolute_srcdir=yes + STEPMAKE_WARN(Absolute --srcdir specified: $srcdir) + fi + + 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)) + fi + + 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) + 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}") - package_depth=`dirname $cache_file` + if test "$package_depth" = "" ; then + package_depth="." + else + package_depth="../$package_depth" + fi + export package_depth AC_SUBST(package_depth) AUTOGENERATE="This file was automatically generated by configure" AC_SUBST(AUTOGENERATE) - absolute_builddir="`pwd`" - AC_SUBST(absolute_builddir) - - # No versioning on directory names of sub-packages - stepmake=stepmake - AC_SUBST(stepmake) - - STATE_VECTOR=`ls make/STATE-VECTOR 2>/dev/null` - if test "x$STATE_VECTOR" != "x"; then - STATE_VECTOR="\$(depth)/$STATE_VECTOR" - fi - AC_SUBST(STATE_VECTOR) CONFIGSUFFIX= AC_ARG_ENABLE(config, - [ enable-config=FILE put configure settings in config-FILE.make], - [CONFIGSUFFIX=$enableval]) + [ --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]) - if test "$CONFIGSUFFIX" != "" ; then - CONFIGFILE=config-$CONFIGSUFFIX - else - CONFIGFILE=config - fi + ##' + + test -n "$CONFIGURATION" && CONFIGSUFFIX="-$CONFIGURATION" + CONFIGFILE=config$CONFIGSUFFIX AC_SUBST(CONFIGSUFFIX) AC_CANONICAL_HOST - AC_CHECK_PROGS(MAKE, make, error) - AC_CHECK_PROGS(FIND, find, error) + STEPMAKE_PROGS(MAKE, gmake make, REQUIRED) + STEPMAKE_PROGS(FIND, find, REQUIRED) + STEPMAKE_PROGS(TAR, tar, 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) - AC_CHECK_PROGS(BASH, bash, /bin/sh) - - AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python) - AC_SUBST(PYTHON) + if test "x`uname`" = "xHP-UX"; then + AC_PATH_PROG(BASH, bash, /bin/sh) + STEPMAKE_WARN(avoiding buggy /bin/sh) + AC_PATH_PROG(SHELL, bash, /bin/ksh) + else + AC_PATH_PROG(BASH, bash, /bin/sh) + SHELL=/bin/sh + AC_SUBST(SHELL) + fi + STEPMAKE_PATH_PROG(PYTHON, python, REQUIRED) - AC_CHECK_SEARCH_RESULT($MAKE, GNU make, You should install GNU make) - if test $MAKE != "error" ; then - $MAKE -v| 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 # symbolic link does not work for native nt + LN_S='cp -r' # symbolic link does not work for native nt ZIP="zip -r -9" # - DOTEXE=.exe - DIRSEP='\\' - PATHSEP=';' - INSTALL="\$(stepdir)/../bin/install-dot-exe.sh -c" + 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="\$(stepdir)/../bin/install-sh -c" + INSTALL="\$(SHELL) \$(stepdir)/../bin/install-sh -c" fi - AC_SUBST(DOTEXE) + AC_SUBST(program_prefix) + AC_SUBST(program_suffix) AC_SUBST(ZIP) AC_SUBST(LN) AC_SUBST(LN_S) @@ -270,46 +602,47 @@ dnl fi AC_SUBST(PATHSEP) AC_SUBST(DIRSEP) - - AC_STEPMAKE_DATADIR + STEPMAKE_DATADIR ]) -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_DEFUN(STEPMAKE_KPATHSEA, [ - AC_CHECK_PROGS(BISON, bison, error) - AC_CHECK_PROGS(FLEX, flex, error) - AC_CHECK_SEARCH_RESULT($BISON, bison, Please install Bison, 1.25 or better) - AC_CHECK_SEARCH_RESULT($FLEX, flex, Please install Flex, 2.5 or better) + 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]) - if test $BISON != "error"; then - bison_version=`$BISON --version| sed 's/^.*version 1.//g' ` - if test $bison_version -lt 25; then - AC_STEPMAKE_WARN(Your bison is a bit old (1.$bison_version). You might have to install 1.25) - fi + if test "$kpathsea_b" != "no"; then + AC_HAVE_HEADERS(kpathsea/kpathsea.h) + AC_CHECK_LIB(kpathsea, kpse_find_file) + AC_CHECK_FUNCS(kpse_find_file,, AC_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" != no; then + AC_MSG_RESULT(yes) + KPATHSEA=1 + else + AC_MSG_RESULT(no) + KPATHSEA=0 fi - AC_SUBST(BISON) - AC_SUBST(FLEX) + AC_SUBST(KPATHSEA) + AC_DEFINE_UNQUOTED(KPATHSEA, $KPATHSEA) ]) -AC_DEFUN(AC_STEPMAKE_LIB, [ - AC_CHECK_PROGS(AR, ar, error) - AC_PROG_RANLIB - AC_SUBST(AR) - AC_SUBST(RANLIB) +AC_DEFUN(STEPMAKE_LIB, [ + STEPMAKE_PROGS(AR, ar, $1) + AC_PROG_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 @@ -325,18 +658,20 @@ AC_DEFUN(AC_STEPMAKE_LIBTOOL, [ 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 ], + [ --with-localedir=LOCALE use LOCALE as locale dir. 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], + [ --with-lang=LANG use LANG as language to emit messages], language=$with_lang, language=English) @@ -354,543 +689,152 @@ AC_DEFUN(AC_STEPMAKE_LOCALE, [ AC_MSG_RESULT($lang) if test "$lang" = "unknown" ; then - AC_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} + STEPMAKE_WARN($language not supported; available are: $ALL_LINGUAS) 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(AC_STEPMAKE_MAN, [ - AC_CHECK_PROGS(TROFF, troff, -echo no troff) -]) -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) +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 2>&1 + if test -f mfput.tfm; then + break; fi -]) + done + AC_MSG_RESULT($MFMODE) + rm -f mfput.* -# 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 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 + AC_SUBST(MFMODE) +]) - 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 later" - 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) + +AC_DEFUN(STEPMAKE_WARN, [ + AC_MSG_WARN($1) + warn_b=yes ]) +