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=""
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 "$checking_b" = no; then
# ugh
OPTIMIZE="-O2 -finline-functions"
fi
- if test "$optimise_b" = no; then
- OPTIMIZE=""
- fi
if test $profile_b = yes; then
EXTRA_LIBES="-pg"
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
LD='$(CC)'
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)
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_OUTPUT($CONFIGFILE.make:config.make.in)
- rm -f $srcdir/GNUmakefile
- cp $srcdir/make/toplevel.make.in $srcdir/GNUmakefile
- chmod 444 $srcdir/GNUmakefile
- if test "$builddir" != "."; then
+ # 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
])
AC_DEFUN(AC_STEPMAKE_GXX, [
- # ugh autoconf
- # urg, egcs: how to check for egcs >= 1.1?
+ AC_MSG_CHECKING("g++ version")
+ cxx_version=`$CXX --version`
+ AC_MSG_RESULT("$cxx_version")
changequote(<<, >>)dnl
- if $CXX --version | egrep '2\.[89]' > /dev/null ||
- $CXX --version | grep 'egcs' > /dev/null
+ # urg, egcs: how to check for egcs >= 1.1?
+ if expr "$cxx_version" : '.*2\.[89]' > /dev/null ||
+ expr "$cxx_version" : '.*egcs' > /dev/null ||
+ expr "$cxx_version" : '3\.0' > /dev/null
changequote([, ])dnl
then
true
else
- AC_STEPMAKE_WARN(can\'t find g++ 2.8, 2.9 or egcs 1.1)
+ AC_STEPMAKE_WARN(can\'t find g++ 2.8, 2.9, 3.0 or egcs 1.1)
fi
])
then
AC_STEPMAKE_WARN("Guile version "$need_guile_version" or newer is needed")
fi
+ changequote(<<, >>)dnl
+ GUILE_MAJOR_VERSION=`expr $guile_version : '\([0-9]*\)'`
+ GUILE_MINOR_VERSION=`expr $guile_version : '[0-9]*\.\([0-9]*\)'`
+ changequote([, ])dnl
GUILE_FLAGS
AC_PATH_PROG(GUILE, guile, error)
AC_SUBST(GUILE)
+ AC_DEFINE_UNQUOTED(GUILE_MAJOR_VERSION, $GUILE_MAJOR_VERSION)
+ AC_DEFINE_UNQUOTED(GUILE_MINOR_VERSION, $GUILE_MINOR_VERSION)
])
AC_DEFUN(AC_STEPMAKE_INIT, [
if test "x$PACKAGE" = "xSTEPMAKE"; then
AC_MSG_RESULT(Stepmake package!)
- #if test "x$builddir" != "x"; then
- # builddir="../$builddir"
- #else
- # builddir=..
- #fi
- if test "$srcdir" != "."; then
+ 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`"
- else
- builddir=.
fi
+ 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
else
AC_MSG_RESULT($PACKAGE)
- if test "$srcdir" != "."; then
- absolute_builddir="`pwd`"
- builddir="`dirname $srcdir`/`basename $absolute_builddir`"
- else
+ 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
+ AC_STEPMAKE_WARN(Absolute --srcdir specified: $srcdir)
fi
AC_MSG_CHECKING(for stepmake)
if test -d $stepmake; then
AC_MSG_RESULT($stepmake)
else
- stepmake='$(depth)'/$srcdir/stepmake
+ 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\
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])
+ test -n "$CONFIGURATION" && CONFIGSUFFIX="-$CONFIGURATION"
CONFIGFILE=config$CONFIGSUFFIX
AC_SUBST(CONFIGSUFFIX)
ZIP="zip -r -9" #
program_suffix=.exe
# urg
+ # ROOTSEP=':'
# DIRSEP='\\'
# PATHSEP=';'
#
# this way, you may have buildscripts/out/lilypond-profile
# 'automatically' sourced from /usr/etc/profile.d/ too.
#
+ ROOTSEP=':'
DIRSEP='/'
PATHSEP=':'
INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
else
+ ROOTSEP=':'
DIRSEP='/'
PATHSEP=':'
LN=ln
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
+ #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 "$kpathsea_b" != "no"; 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)
+ 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 = yes; then
+ if test "$kpathsea_b" != no; then
AC_MSG_RESULT(yes)
KPATHSEA=1
else
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)
+
+## Urg. We should fix this configure test. -- so clumsy
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)
+ bison_version=`$BISON --version | head -1 | sed 's/^.* 1\.//g'`
+ if test $bison_version -lt 25; then
+ AC_STEPMAKE_WARN(The bison installed might be too old (1.$bison_version). You might have to install 1.25)
fi
fi
# 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)
AC_CHECK_FUNCS(gettext)
])
+AC_DEFUN(AC_STEPMAKE_MAKEINFO, [
+ AC_CHECK_PROGS(MAKEINFO, makeinfo, error)
+ if test "$MAKEINFO" != "error"; 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)
+ AC_STEPMAKE_WARN(your html documentation will be one large file)
+ rm -rf out/split
+ fi
+ fi
+ AC_SUBST(SPLITTING_MAKEINFO)
+])
+
+
AC_DEFUN(AC_STEPMAKE_MAN, [
AC_CHECK_PROGS(GROFF, groff ditroff, -echo no groff)
AC_CHECK_PROGS(TROFF, troff, -echo no troff)
#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_ARG_ENABLE(tex-dir,
- [ enable-tex-dir=DIR set the directory to put $PACKAGE_NAME TeX files in. ],
+ [ --enable-tex-dir=DIR set the directory to put $PACKAGE_NAME TeX files in. ],
[TEXDIR=$enableval],
[TEXDIR=auto] )
AC_ARG_ENABLE(mf-dir,
- [ enable-mf-dir=DIR set the directory to put $PACKAGE_NAME MetaFont files in. ],
+ [ --enable-mf-dir=DIR set the directory to put $PACKAGE_NAME MetaFont files in. ],
[MFDIR=$enableval],
[MFDIR=auto])
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],
+ [ --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] )
METAFONT=$MFONT
fi
- 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
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, [