dnl aclocal.m4 -*-shell-script-*-
dnl StepMake subroutines for configure.in
+AC_DEFUN(AC_STEPMAKE_BIBTEX2HTML, [
+ AC_CHECK_PROGS(BIBTEX2HTML, bibtex2html bib2html, error)
+ if test "$BIBTEX2HTML" = "bib2html"; then
+ BIBTEX2HTML_FLAGS='$< $(@)'
+ else
+ BIBTEX2HTML_FLAGS='-o $(@D)/$(*F) $<'
+ fi
+ AC_SUBST(BIBTEX2HTML)
+ AC_SUBST(BIBTEX2HTML_FLAGS)
+])
+
+
AC_DEFUN(AC_STEPMAKE_COMPILE, [
# -O is necessary to get inlining
OPTIMIZE=""
- CXXFLAGS=${CXXFLAGS:-""}
CFLAGS=${CFLAGS:-""}
+ CXXFLAGS=${CXXFLAGS:-$CFLAGS}
+ LDFLAGS=${LDFLAGS:-""}
checking_b=yes
optimise_b=no
profile_b=no
[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)
LD='$(CC)'
AC_SUBST(LD)
+ CFLAGS="$CFLAGS $OPTIMIZE"
CPPFLAGS=${CPPFLAGS:-""}
+ AC_SUBST(cross_compiling)
+ AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
AC_SUBST(ICFLAGS)
CPPFLAGS="$CPPFLAGS $DEFINES"
CXXFLAGS="$CXXFLAGS $OPTIMIZE"
- LDFLAGS=$EXTRA_LIBES
+ LDFLAGS="$LDFLAGS $EXTRA_LIBES"
AC_SUBST(CXXFLAGS)
AC_SUBST(CXX)
AC_DEFUN(AC_STEPMAKE_END, [
AC_OUTPUT($CONFIGFILE.make:config.make.in)
- rm -f GNUmakefile
- cp make/toplevel.make.in ./GNUmakefile
- chmod 444 GNUmakefile
+ rm -f $srcdir/GNUmakefile
+ cp $srcdir/make/toplevel.make.in $srcdir/GNUmakefile
+ chmod 444 $srcdir/GNUmakefile
+ if test "$builddir" != "."; then
+ rm -f GNUmakefile
+ cp $srcdir/make/srcdir.make.in GNUmakefile
+ chmod 444 GNUmakefile
+ fi
])
AC_DEFUN(AC_STEPMAKE_GXX, [
# ugh autoconf
+ # urg, egcs: how to check for egcs >= 1.1?
changequote(<<, >>)dnl
- if $CXX --version | grep '2\.[78]' > /dev/null ||
+ if $CXX --version | egrep '2\.[89]' > /dev/null ||
$CXX --version | grep 'egcs' > /dev/null
changequote([, ])dnl
then
true
else
- AC_STEPMAKE_WARN(can\'t find g++ 2.7, 2.8 or egcs)
+ AC_STEPMAKE_WARN(can\'t find g++ 2.8, 2.9 or egcs 1.1)
fi
])
AC_DEFUN(AC_STEPMAKE_GUILE, [
- # urg, must check for different functions in libguile
- # to force new check iso reading from cache
- AC_CHECK_LIB(guile, scm_shell, \
- LIBS="-lguile $LIBS" AC_DEFINE(HAVE_LIBGUILE), \
- AC_CHECK_LIB(readline, readline) \
- AC_CHECK_LIB(dl, dlopen) \
- AC_CHECK_LIB(guile, scm_boot_guile))
+ ## First, let's just see if we can find Guile at all.
+ AC_MSG_CHECKING("for guile-config")
+ for guile_config in guile-config $target-guile-config $build-guile-config; do
+ AC_MSG_RESULT("$guile_config")
+ if ! $guile_config --version > /dev/null 2>&1 ; then
+ AC_MSG_WARN("cannot execute $guile_config")
+ AC_MSG_CHECKING("if we are cross compiling")
+ guile_config=error
+ else
+ break
+ fi
+ done
+ if test "$guile_config" = "error"; then
+ AC_MSG_ERROR("cannot find guile-config; is Guile installed?")
+ exit 1
+ fi
+ AC_MSG_CHECKING("Guile version")
+ need_guile_version="1.3.4"
+ need_guile_version_numeric=100304
+ guile_version=`$guile_config --version 2>&1 | awk '{print $NF}'`
+ guile_version_numeric=`echo $guile_version | awk -F. '
+{if ([$]3) {last = [$]3}
+else {last =0}}
+{printf "%s%s%s\n",[$]1*100, [$]2*10,last}'`
+ AC_MSG_RESULT("$guile_version")
+ if test $guile_version_numeric -lt $need_guile_version_numeric
+ then
+ AC_STEPMAKE_WARN("Guile version "$need_guile_version" or newer is needed")
+ fi
+ GUILE_FLAGS
+ AC_PATH_PROG(GUILE, guile, error)
+ AC_SUBST(GUILE)
])
AC_DEFUN(AC_STEPMAKE_INIT, [
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!)
+
+ #if test "x$builddir" != "x"; then
+ # builddir="../$builddir"
+ #else
+ # builddir=..
+ #fi
+ if test "$srcdir" != "."; then
+ absolute_builddir="`pwd`"
+ package_absolute_builddir="`dirname $absolute_builddir`"
+ package_srcdir="`dirname $srcdir`"
+ builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`"
+ else
+ builddir=.
+ fi
+
+ (cd stepmake 2>/dev/null || mkdir stepmake)
+ (cd stepmake; rm -f stepmake; ln -s ../$srcdir/stepmake .)
+ (cd stepmake; rm -f bin; ln -s ../$srcdir/bin .)
AC_CONFIG_AUX_DIR(bin)
stepmake=stepmake
else
- echo Package: $PACKAGE
+ AC_MSG_RESULT($PACKAGE)
+
+ if test "$srcdir" != "."; then
+ absolute_builddir="`pwd`"
+ builddir="`dirname $srcdir`/`basename $absolute_builddir`"
+ else
+ builddir=.
+ fi
+
+ AC_MSG_CHECKING(for stepmake)
# Check for installed stepmake
if test -d $stepmake; then
- echo Using installed stepmake: $stepmake
+ AC_MSG_RESULT($stepmake)
else
- stepmake='$(depth)'/stepmake
- echo Using local stepmake: $datadir/stepmake not found
+ stepmake='$(depth)'/$srcdir/stepmake
+ AC_MSG_RESULT($srcdir/stepmake ($datadir/stepmake not found))
fi
AC_CONFIG_AUX_DIR(\
$HOME/usr/local/share/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_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)
-
- 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])
+ [CONFIGSUFFIX=-$enableval])
- if test "$CONFIGSUFFIX" != "" ; then
- CONFIGFILE=config-$CONFIGSUFFIX
- else
- CONFIGFILE=config
- fi
+ CONFIGFILE=config$CONFIGSUFFIX
AC_SUBST(CONFIGSUFFIX)
AC_CANONICAL_HOST
- AC_CHECK_PROGS(MAKE, make, error)
+ AC_CHECK_PROGS(MAKE, gmake make, error)
AC_CHECK_PROGS(FIND, find, error)
-
dnl system supplied INSTALL is unsafe; use our own install.
dnl AC_PROG_INSTALL
dnl if test "$INSTALL" = "bin/install-sh"; then
dnl fi
AC_CHECK_PROGS(TAR, tar, error)
- AC_CHECK_PROGS(BASH, bash, /bin/sh)
+
+ if test "x`uname`" = "xHP-UX"; then
+ AC_PATH_PROG(BASH, bash, /bin/sh)
+ AC_STEPMAKE_WARN(avoiding buggy /bin/sh)
+ AC_PATH_PROG(SHELL, bash, /bin/ksh)
+ else
+ AC_PATH_PROG(BASH, bash, /bin/sh)
+ SHELL=/bin/sh
+ AC_SUBST(SHELL)
+ fi
+
AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python)
AC_SUBST(PYTHON)
-
- AC_CHECK_SEARCH_RESULT($MAKE, GNU make, You should install GNU make)
if test $MAKE != "error" ; then
- $MAKE -v| grep GNU > /dev/null
+ $MAKE -v 2> /dev/null | grep GNU > /dev/null
if test "$?" = 1
then
AC_STEPMAKE_WARN(Please install *GNU* make)
- fi
+ fi
fi
AC_CHECK_SEARCH_RESULT($PYTHON, python, You should install Python)
if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_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="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
+ program_suffix=.exe
+ # urg
+ # 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.
+ #
+ DIRSEP='/'
+ PATHSEP=':'
+ INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
else
DIRSEP='/'
PATHSEP=':'
ZIP="zip -r -9"
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)
AC_SUBST(PATHSEP)
AC_SUBST(DIRSEP)
-
AC_STEPMAKE_DATADIR
])
+AC_DEFUN(AC_STEPMAKE_KPATHSEA, [
+
+ kpathsea_b=yes
+ AC_ARG_ENABLE(kpathsea,
+ [ enable-kpathsea use kpathsea lib. Default: on],
+ [kpathsea_b=$enableval])
+
+ if test $kpathsea_b = yes; then
+ AC_HAVE_HEADERS(kpathsea/kpathsea.h)
+ AC_CHECK_LIB(kpathsea, kpse_find_file)
+ # urg: kpse_find_tfm is a #define, how to check for this?
+ # AC_CHECK_LIB(kpathsea, kpse_find_tfm)
+ # AC_CHECK_FUNCS(kpse_find_file kpse_find_tfm,, AC_STEPMAKE_WARN(Cannot find kpathsea functions. You may have to create TFM files manually.))
+ AC_CHECK_FUNCS(kpse_find_file,, AC_STEPMAKE_WARN(Cannot find kpathsea functions. You may have to create TFM files manually.) kpathsea_b=no)
+ fi
+ AC_MSG_CHECKING(whether to use kpathsea)
+ if test $kpathsea_b = yes; then
+ AC_MSG_RESULT(yes)
+ KPATHSEA=1
+ else
+ AC_MSG_RESULT(no)
+ KPATHSEA=0
+ fi
+
+ AC_SUBST(KPATHSEA)
+ AC_DEFINE_UNQUOTED(KPATHSEA, $KPATHSEA)
+])
+
AC_DEFUN(AC_STEPMAKE_LEXYACC, [
# ugh, automake: we want (and check for) bison
AC_PROG_YACC
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)
+ 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 $bison_version -lt 25; 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_DEFUN(AC_STEPMAKE_MAN, [
+ AC_CHECK_PROGS(GROFF, groff ditroff, -echo no groff)
AC_CHECK_PROGS(TROFF, troff, -echo no troff)
+ AC_CHECK_PROGS(TBL, tbl, cat)
])
AC_DEFUN(AC_STEPMAKE_MSGFMT, [
fi
])
-AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [
+#why has this been dropped?
+AC_DEFUN(XXAC_STEPMAKE_TEXMF_DIRS, [
AC_ARG_ENABLE(tex-prefix,
- [ enable-tex-prefix=DIR set the tex-directory to find TeX subdirectories. (default: PREFIX)],
+ [ enable-tex-prefix=DIR set the tex-directory to find TeX subdirectories. Default: PREFIX],
[TEXPREFIX=$enableval],
[TEXPREFIX=auto] )
AC_SUBST(MFDIR)
])
+AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [
+ AC_ARG_ENABLE(tfm-path,
+ [ enable-tfm-path=PATH set path of tex directories where tfm files live, esp.: cmr10.tfm. Default: use kpsewhich],
+ [tfm_path=$enableval],
+ [tfm_path=auto] )
+
+ AC_CHECK_PROGS(KPSEWHICH, kpsewhich, no)
+ AC_MSG_CHECKING(for tfm path)
+
+ 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
+ AC_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(AC_STEPMAKE_TEXMF, [
# urg, never know what names these teTeX guys will think up
+
AC_CHECK_PROGS(METAFONT, mf, no)
if test "x$METAFONT" = "xno"; then
AC_CHECK_PROGS(MFONT, mfont, -echo no mf or mfont)
AC_CHECK_PROGS(METAPOST, mp, no)
if test "x$METAPOST" = "xno"; then
AC_CHECK_PROGS(MPOST, mpost, -echo no mp or mpost)
+
METAPOST=$MPOST
fi
+ AC_CHECK_PROGS(INIMETAFONT, inimf, no)
+ if test "x$INIMETAFONT" = "xno"; then
+ AC_CHECK_PROGS(INIMFONT, inimfont, -echo no inimf or inimfont)
+ INIMETAFONT=$INIMFONT
+ fi
+
+ AC_CHECK_PROGS(INIMETAPOST, inimp, no)
+ if test "x$INIMETAPOST" = "xno"; then
+ AC_CHECK_PROGS(INIMPOST, inimpost, -echo no inimp or inimpost)
+ INIMETAPOST=$INIMPOST
+ fi
+
+ AC_MSG_CHECKING(for working metafont mode)
+ modelist='ljfour lj4 lj3 lj2 ljet laserjet'
+ for MFMODE in $modelist; do
+ $METAFONT "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1
+ if test -f mfput.tfm; then
+ break;
+ fi
+ done
+ AC_MSG_RESULT($MFMODE)
+
+ AC_MSG_CHECKING(for mfplain.mp)
+ #
+ # For now let people define these in their environments
+ #
+ : ${MFPLAIN_MP=`kpsewhich mp mfplain.mp`}
+ AC_MSG_RESULT($MFPLAIN_MP)
+
+ AC_MSG_CHECKING(for inimetapost flags)
+ if test ${INIMETAPOST} = "inimp" ; then
+ : ${INIMETAPOST_FLAGS=''}
+ else
+ : ${INIMETAPOST_FLAGS='-interaction=nonstopmode'}
+ fi
+ AC_MSG_RESULT($INIMETAPOST_FLAGS)
+
+ rm -f mfput.*
+
AC_SUBST(METAFONT)
AC_SUBST(METAPOST)
+ AC_SUBST(MFMODE)
+ AC_SUBST(INIMETAFONT)
+ AC_SUBST(INIMETAPOST)
+ AC_SUBST(MFPLAIN_MP)
+ AC_SUBST(INIMETAPOST_FLAGS)
])
AC_DEFUN(AC_STEPMAKE_WARN, [
if test "x$find_texpostfix" = x; then
find_texpostfix='/lib/texmf/tex'
- AC_STEPMAKE_WARN(Cannot determine the TeX-directory. Please use --enable-tex-prefix)
+ AC_STEPMAKE_WARN(Cannot determine the TeX-directory. Please use --enable-tex-prefix)
fi
find_texprefix="$find_root_prefix/$find_texpostfix"
if test "x$find_dirdir" = x; then
find_dirdir="/$3";
- AC_STEPMAKE_WARN(Cannot determine $4 subdirectory. Please set from command-line)
+ AC_STEPMAKE_WARN(Cannot determine $4 subdirectory. Please set from command-line)
true
fi
$2=$find_dirdir
fi
])
+dnl GUILE_FLAGS --- set flags for compiling and linking with Guile
+dnl
+dnl This macro runs the `guile-config' script, installed with Guile,
+dnl to find out where Guile's header files and libraries are
+dnl installed. It sets two variables, marked for substitution, as
+dnl by AC_SUBST.
+dnl
+dnl GUILE_CFLAGS --- flags to pass to a C or C++ compiler to build
+dnl code that uses Guile header files. This is almost
+dnl always just a -I flag.
+dnl
+dnl GUILE_LDFLAGS --- flags to pass to the linker to link a
+dnl program against Guile. This includes `-lguile' for
+dnl the Guile library itself, any libraries that Guile
+dnl itself requires (like -lqthreads), and so on. It may
+dnl also include a -L flag to tell the compiler where to
+dnl find the libraries.
+
+AC_DEFUN([GUILE_FLAGS],[
+## The GUILE_FLAGS macro.
+ AC_MSG_CHECKING(for Guile)
+ if ! $guile_config link > /dev/null ; then
+ AC_MSG_RESULT("cannot execute $guile_config")
+ AC_MSG_ERROR("cannot find guile-config; is Guile installed?")
+ exit 1
+ fi
+ GUILE_CFLAGS="`$guile_config compile`"
+ GUILE_LDFLAGS="`$guile_config link`"
+ AC_SUBST(GUILE_CFLAGS)
+ AC_SUBST(GUILE_LDFLAGS)
+ AC_MSG_RESULT(yes)
+])
+
# Configure paths for GTK+
# Owen Taylor 97-11-3
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 checks the results of gtk-config to some extent)
dnl
AC_TRY_RUN([
#include <gtk/gtk.h>
[dnl
dnl
-dnl Check check if the installed GTK-- is sufficiently new.
+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)
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"
+ echo "*** version to 0.9.12 or newer"
else
if test -f conf.gtkmmtest ; then
:
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 checks the results of gtk__-config to some extent)
dnl
AC_TRY_RUN([
#include <gtk--.h>
AC_SUBST(GTK___CFLAGS)
AC_SUBST(GTK___LIBS)
])
-