X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=configure.in;h=7acae1843d9ea3d8328c187abb5ed5a2e9a78654;hb=23f2fd28f3ddbe88bbb16a27b068db2e9e31139b;hp=f209a26110e4e409ff05c6b7040d2d12fd1e8aef;hpb=6dc4e4d14a67f65f337ec1a06466e748c68dcad5;p=lilypond.git diff --git a/configure.in b/configure.in index f209a26110..7acae1843d 100644 --- a/configure.in +++ b/configure.in @@ -1,326 +1,89 @@ -dnl -*-shell-script-*- -dnl Process this file with autoconf to produce a configure script. +dnl configure.in -*-shell-script-*- +dnl Process this file with autoconf to produce a configure script. -dnl should cache result. -dnl should look in $prefix first. +# Bootstrap the init proces. +AC_INIT -AC_DEFUN(AC_LILY_WARN, [ - AC_MSG_WARN($1) - warn_b=yes -]) -AC_DEFUN(AC_TEX_PREFIX, [ - +# Bootstrap StepMake configure +# For user package: +AC_CONFIG_AUX_DIR([stepmake/bin]) +# For stepmake package: +# AC_CONFIG_AUX_DIR(bin) +STEPMAKE_INIT - AC_MSG_CHECKING(TeX/MF root dir directory) +# List a file that identifies your package. +AC_CONFIG_SRCDIR([make/lilypond.lsm.in]) +# Move to aclocal.m4? +AC_CONFIG_HEADER([$CONFIGFILE.h:config.hh.in]) - find_root_prefix="$prefix" - +# For all packages except the StepMake package itself +AC_CONFIG_SUBDIRS(stepmake) - test "x$find_root_prefix" = xNONE && find_root_prefix="$ac_default_prefix" - find_texpostfix=""; - for postfix in "/lib/tex/" "/lib/texmf" "/lib" "/tex" "/texmf"; do - find_texprefix="$find_root_prefix$postfix" - if test -d $find_texprefix; then - find_texpostfix=$postfix - break; - fi - done - - if test "x$find_texpostfix" = x; then - find_texpostfix='/lib/texmf/tex' - AC_LILY_WARN(Cannot determine the TeX-directory. Please use --enable-tex-prefix) - fi +# Uncomment the configuration options your package needs. - find_texprefix="$find_root_prefix/$find_texpostfix" +# must come before any header checks +STEPMAKE_COMPILE - # only assign if variablename not empty - if test x != "x$1"; then - $1='${prefix}'/"$find_texpostfix" - fi - AC_MSG_RESULT($find_texprefix) +STEPMAKE_GCC(REQUIRED, 2.8) +STEPMAKE_CXX(REQUIRED) +STEPMAKE_GXX(REQUIRED, 2.95) +STEPMAKE_CXXTEMPLATE +STEPMAKE_LIB(REQUIRED) +STEPMAKE_BISON(REQUIRED, 1.25) +STEPMAKE_FLEX(REQUIRED) +STEPMAKE_FLEXLEXER(REQUIRED) +STEPMAKE_LOCALE +STEPMAKE_GETTEXT +STEPMAKE_MSGFMT(REQUIRED) +STEPMAKE_TEXMF +STEPMAKE_TEXMF_DIRS +STEPMAKE_GUILE_DEVEL(REQUIRED, 1.6) +STEPMAKE_KPATHSEA +STEPMAKE_MAKEINFO(REQUIRED) +STEPMAKE_PYTHON_DEVEL(REQUIRED) -]) - -# find a directory inside a prefix, -# $1 the prefix (expanded version) -# $2 variable to assign -# $3 the directory name -# $4 description -AC_DEFUN(AC_FIND_DIR_IN_PREFIX, [ - - AC_MSG_CHECKING($4 directory) - find_dirdir=`(cd $1; - $FIND ./ -type d -a -name $3 -print |sort|head -1|sed 's#^\./##')` - +AC_CHECK_HEADERS([assert.h sys/stat.h sstream]) +AC_HEADER_STAT - if test "x$find_dirdir" = x; then - find_dirdir="/$3"; - AC_LILY_WARN(Cannot determine $4 subdirectory. Please set from command-line) - true - fi - $2=$find_dirdir - AC_MSG_RESULT($1/$find_dirdir) -]) +AC_FUNC_MEMCMP +AC_FUNC_VPRINTF +AC_CHECK_FUNCS([memmem snprintf vsnprintf gettext isinf]) -AC_DEFUN(AC_TEX_SUBDIR, [ -dnl AC_REQUIRE([AC_TEX_PREFIX]) - AC_FIND_DIR_IN_PREFIX($find_texprefix, $1, tex,TeX input) - $1="$TEXPREFIX/$$1" -]) -AC_DEFUN(AC_MF_SUBDIR, [ -dnl AC_REQUIRE([AC_TEX_PREFIX]) - AC_FIND_DIR_IN_PREFIX($find_texprefix, $1, source, MF input) - $1="$TEXPREFIX/$$1" -]) - -AC_INIT(flower/choleski.cc) +## Optional tools for building documentation, website, extra fonts. +# guile executable for some scripts +STEPMAKE_GUILE(OPTIONAL) +# perl for help2man. +STEPMAKE_PERL(OPTIONAL) +# mftrace for generating pfa's, pfb's +STEPMAKE_PROGS(MFTRACE, pktrace mftrace, OPTIONAL, 1.0.9) +# new makeinfo for multi-page website docs +STEPMAKE_PROGS(MAKEINFO, makeinfo, OPTIONAL, 4.1) -# if given here, these vars are initted at the checking point. -if test x$host = xNONE; then - buildprefix=. -else - buildprefix="$host-build-dir" - mkdir $buildprefix; - for a in `find -type d -and -not -name '*-build-dir'`; do - mkdir $buildprefix/$a; - done -fi -printing_b=no -checking_b=yes -debug_b=yes -optimise_b=no -profile_b=no -warn_b=no -AC_LANG_CPLUSPLUS - -AC_ARG_ENABLE(printing, - [ enable-printing turn on debug printing], - [printing_b=$enableval]) - - -AC_ARG_ENABLE(checking, - [ enable-checking set runtime checks (assert calls). Default: on], - [checking_b=$enableval] ) - -AC_ARG_ENABLE(debugging, - [ enable-debugging set debug info. Default: on], - [debug_b=$enableval]) -AC_ARG_ENABLE(optimise, - [ enable-optimise use maximal speed optimisations. Default: off], - [optimise_b=$enableval]) - -AC_ARG_ENABLE(profiling, - [ enable-profiling compile with gprof support. Default: off], - [profile_b=$enableval]) - -AC_ARG_ENABLE(mingw-prefix, - [ mingw-prefix=DIR set the mingw32 directory (standalone windows32 exes)], - [MINGWPREFIX=$enableval], - [MINGWPREFIX=no]) - -AC_ARG_ENABLE(tex-prefix, - [ tex-prefix=DIR set the tex-directory to find TeX subdirectories. (default: PREFIX)], - [TEXPREFIX=$enableval], - [TEXPREFIX=auto] ) - -AC_ARG_ENABLE(tex-dir, - [ tex-dir=DIR set the directory to put LilyPond TeX files in. ], - [TEXDIR=$enableval], - [TEXDIR=auto] ) - -AC_ARG_ENABLE(mf-dir, - [ mf-dir=DIR set the directory to put LilyPond MetaFont files in.], - [MFDIR=$enableval], - [MFDIR=auto] ) - -if test $profile_b = yes; then - EXTRA_LIBES="-pg" - DEFINES="$DEFINES -pg" -fi - -if test $printing_b = no; then - DEFINES="$DEFINES -DNPRINT=1" -fi - -if test $debug_b = yes; then - DEFINES="$DEFINES -g" -fi -if test $checking_b = no; then - DEFINES="$DEFINES -DNDEBUG=1" -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" +if test "$optimise_b" = yes; then + DEFINES="$DEFINES -DSTRING_UTILS_INLINED" + AC_DEFINE(STRINGS_UTILS_INLINED) fi -if test $optimise_b = yes; then - DEFINES="$DEFINES -O2 -DSTRING_UTILS_INLINED" -fi -dnl COMPILEINFO="$HOST $host $TARGET $target" -AUTOHEADER="This file was automatically generated by configure" -CPPFLAGS=${CPPFLAGS:-""} # we don't want -g -O junk -CXXFLAGS=${CXXFLAGS:-""} # we don't want -g -O junk +AC_DEFINE_UNQUOTED(TOPLEVEL_VERSION, "${FULL_VERSION}") +AC_DEFINE_UNQUOTED(FLOWER_VERSION, "${FULL_FLOWER_VERSION}") -AC_PROG_CXX -AC_PROG_RANLIB -AC_PROG_INSTALL -AC_CHECK_PROGS(TAR, tar, error) -AC_CHECK_PROGS(FIND, find, error) +# Gather requirements and generate output. +STEPMAKE_END -dnl should check out -print -if test FIND = error; then - AC_LILY_WARN(Couldn't find \`find'. Please use --enable-tex-dir) -fi - -AC_SUBST(CXXFLAGS) -AC_SUBST(CPPFLAGS) -AC_SUBST(CXX) -AC_SUBST(ICFLAGS) -AC_SUBST(ILDFLAGS) -AC_SUBST(DEFINES) -AC_SUBST(COMPILEINFO) -AC_SUBST(AUTOHEADER) -AC_SUBST(BISON) -AC_SUBST(FLEX) -AC_SUBST(PERL) -AC_SUBST(TEXPREFIX) -AC_SUBST(TEXDIR) -AC_SUBST(MFDIR) -AC_SUBST(EXTRA_LIBES) -AC_CHECK_PROGS(BISON, bison, error) -AC_CHECK_PROGS(FLEX, flex, error) -AC_CHECK_PROGS(MAKE, make, error) -AC_PATH_PROG(PERL, perl, error) -AC_CHECK_PROGS(PODMAN, pod2man, error) - - -if test "x$TEXPREFIX" = xauto ; then - AC_TEX_PREFIX(TEXPREFIX) -else - find_texprefix=$TEXPREFIX -fi - -if test "x$TEXDIR" = xauto ; then - AC_TEX_SUBDIR(TEXDIR) -fi - -dnl if test "x$MFDIR" = xauto; then -dnl AC_MF_SUBDIR(MFDIR) -dnl fi - -if test $MAKE = "error" -then - AC_MSG_ERROR(Please install GNU make) -else - $MAKE -v| grep GNU > /dev/null - if test "$?" = 1 - then - AC_LILY_WARN(Please install *GNU* make) - fi -fi - -if test $BISON = "error" -then - AC_LILY_WARN(can't find bison. Please install Bison (1.25 or better)) -else - bison_version=`$BISON --version| sed 's/^.*version 1.//g' ` - if test $bison_version -lt 25; then - AC_LILY_WARN(Your bison is too old (1.$bison_version). Please install 1.25) - fi -fi - -if test $PERL = "error" -then - AC_LILY_WARN(can't find perl. You should install Perl (version 5 or better)) - PERL=/usr/bin/perl -fi - -if test $PODMAN = "error" -then - AC_LILY_WARN(can't find pod. You should install Perl (version 5 or better)) -fi - -if test $FLEX = "error" -then - AC_LILY_WARN(can't find flex. Please install Flex (2.5 or better)) -fi +test -n "$CONFIGURATION" && mc=" conf=$CONFIGURATION" || mc="" -if $CXX --version | grep '2\.7' > /dev/null -then - true -else - AC_LILY_WARN(can't find g++ 2.7) -fi - -AC_CHECK_HEADER(FlexLexer.h, true, - AC_LILY_WARN(can't find flex header. Please install Flex headers correctly)) - -AC_CONFIG_SUBDIRS(flower) -AC_OUTPUT($buildprefix/make/out/Configure_variables.make:make/Configure_variables.make.in) - - - -dnl URG!!!!!! -eval "DIR_DATADIR=$datadir" -DIR_DATADIR="$DIR_DATADIR/lilypond" -AC_MSG_CHECKING - -cat << EOF > $buildprefix/lib/out/config.hh - -/* automatically generated by configure */ -/* include this file only once! */ - -#define DIR_DATADIR "$DIR_DATADIR" - -EOF - -CXX="$ac_cv_prog_CXX" bin/make-version >> $buildprefix/lib/out/config.hh - -touch $buildprefix/make/out/Site.make - -# ugr -(cd mi2mu; CXX="$ac_cv_prog_CXX" ../bin/make-version > ../$buildprefix/mi2mu/out/version.hh - -) -(cd lily; CXX="$ac_cv_prog_CXX" ../bin/make-version > ../$buildprefix/lily/out/version.hh -) - -echo '# WARNING : Automatically generated from make/Toplevel.make.in' \ - | cat - make/Toplevel.make.in > Makefile - - -cat << END -For making everything, do: - - make # GNU make - -or if you used --host=SunUltraWitteReus - - make buildprefix=SunUltraWitteReus-build-dir - -If you want to make site-wide extensions to the makefiles, please use +cat <