]> git.donarmstrong.com Git - lilypond.git/blobdiff - configure.in
release: 0.0.54
[lilypond.git] / configure.in
index 5d74dab46e7969340a991b41bca08c2c967cd5cb..d0519149fb5731a7cba9625d6aa8a1ce229e244c 100644 (file)
@@ -1,39 +1,76 @@
-dnl Process this file with autoconf to produce a configure script. -*-shell-script-*-
+dnl -*-shell-script-*-
+dnl  Process this file with autoconf to produce a configure script. 
 
 dnl should cache result.
 dnl should  look in $prefix first.
 
-AC_DEFUN(AC_TEX_SUBDIR, [
-
-    # do something sensible if root hasn't specced dir yet attempts install
+AC_DEFUN(AC_TEX_PREFIX, [
+    
 
-    AC_MSG_CHECKING(TeX installation directory)
+    AC_MSG_CHECKING(TeX/MF root dir directory)    
 
-    ac_tmp_prefix=$prefix
-    test "x$ac_tmp_prefix" = xNONE && ac_tmp_prefix=$ac_default_prefix
+    find_root_prefix="$prefix"
+    
 
-    for texdir in $ac_tmp_prefix $ac_tmp_prefix/lib; do
-       if test -d $texdir/texmf; then
-           TEXTOP=$texdir/texmf
-           break
-       else    
-       if test -d $texdir/tex; then 
-           TEXTOP=$texdir/tex
-           break
-       fi
+    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
-    $1=$ac_tmp_prefix/lib/texmf/tex
-    if test x = "x$TEXTOP"; then
-       AC_MSG_WARN(Cannot determine a tex-directory. Please use --enable-texprefix)
-    else
-       $1=`$FIND $TEXTOP -type d -a -name tex -print |sort|head -1`
+    
+    if test "x$find_texpostfix" = x; then
+       find_texpostfix='/lib/texmf/tex'
+       AC_MSG_WARN(Cannot determine the TeX-directory. Please use --enable-tex-prefix)
     fi
+
+    find_texprefix="$find_root_prefix/$find_texpostfix"
+
+    # only assign if variablename not empty
+    if test x != "x$1"; then
+       $1='${prefix}'/"$find_texpostfix"
+    fi
+    AC_MSG_RESULT($find_texprefix)
+
+])
+
+# 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#^\./##')`
+    
+
+    if test "x$find_dirdir" = x; then
+       find_dirdir="/$3";
+       AC_MSG_WARN(Cannot determine $4 subdirectory. Please set from command-line)
+       true
     fi
+    $2=$find_dirdir
+    AC_MSG_RESULT($1/$find_dirdir)
+])
 
-    AC_MSG_RESULT($$1)
+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)
 
 
@@ -43,7 +80,8 @@ checking_b=yes
 debug_b=yes
 optimise_b=no
 profile_b=no
-    
+#shared_b=no
+
 AC_ARG_ENABLE(printing,
     [  enable-printing        set debug printing],
     [printing_b=$enableval])
@@ -53,10 +91,8 @@ AC_ARG_ENABLE(checking,
     [  disable-checking       set runtime checks],
     [checking_b=$enableval] )
 
-
-
-AC_ARG_ENABLE(debug,
-    [  disable-debug          set debug info],
+AC_ARG_ENABLE(debugging,
+    [  disable-debugging         set debug info],
     [debug_b=$enableval])
 
 AC_ARG_ENABLE(optimise,
@@ -68,11 +104,20 @@ AC_ARG_ENABLE(profiling,
     [  enable-profiling      compile with gprof support],
     [profile_b=$enableval])
     
-AC_ARG_ENABLE(texprefix,
-    [  texprefix=DIR  set the tex-directory to put the lilypond subdir in.],
+AC_ARG_ENABLE(tex-prefix,
+    [  tex-prefix=DIR  set the tex-directory to find TeX subdirectories.],
     [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"
@@ -92,6 +137,7 @@ 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"
 CXXFLAGS=${CXXFLAGS:-""}       # we don't want -g -O junk
@@ -102,8 +148,8 @@ AC_CHECK_PROGS(FIND, find, error)
 
 dnl should check out -print
 if test FIND = error; then
-   AC_MSG_WARN(Couldn't find \`find'.  Please use --enable-texprefix)
-else 
+   AC_MSG_WARN(Couldn't find \`find'.  Please use --enable-tex-dir)
+fi
     
 AC_SUBST(CXX)
 AC_SUBST(DEFINES)
@@ -112,6 +158,8 @@ AC_SUBST(AUTOHEADER)
 AC_SUBST(BISON)
 AC_SUBST(FLEX)
 AC_SUBST(TEXPREFIX)
+AC_SUBST(TEXDIR)
+AC_SUBST(MFDIR)
 AC_SUBST(EXTRA_LIBES)
 
 AC_CHECK_PROGS(BISON, bison, error)
@@ -119,22 +167,30 @@ AC_CHECK_PROGS(FLEX, flex, error)
 AC_CHECK_PROGS(MAKE, make, error)
 AC_CHECK_PROGS(PODMAN, pod2man, error)
 
-if test $TEXPREFIX = auto ; then
-    AC_TEX_SUBDIR(TEXPREFIX)
+    
+if test "x$TEXPREFIX" = xauto ; then
+    AC_TEX_PREFIX(TEXPREFIX)
+fi
+    
+if test "x$TEXDIR" = xauto ; then
+    AC_TEX_SUBDIR(TEXDIR)
 fi
 
+if test "x$MFDIR" = xauto; then
+    AC_MF_SUBDIR(MFDIR)
+fi
+    
 if test $MAKE = "error" 
 then
        AC_MSG_ERROR(Please install GNU make)
 else
-       $MAKE -v| grep GNU >& /dev/null
+       $MAKE -v| grep GNU > /dev/null
        if test "$?" = 1
        then
-               AC_MSG_WARN(Please install *GNU* make)
-       fi
-fi
-
-
+           AC_MSG_WARN(Please install *GNU* make) 
+    fi 
+fi 
+    
 if test $BISON = "error" 
 then
        AC_MSG_WARN(can't find bison. Please install Bison (1.24 or better))
@@ -150,7 +206,7 @@ then
        AC_MSG_WARN(can't find flex. Please install Flex (2.5 or better))
 fi
 
-if $CXX --version | grep '2\.7' >& /dev/null
+if $CXX --version | grep '2\.7' > /dev/null
 then
        true
 else
@@ -191,8 +247,6 @@ dnl    echo 0 > out/.build
 # rgu
 sed 's/TOPLEVEL_//g' <  .version >  lily/.version
 (cd lily; CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
-)
- (cd flower;
 )
 
 cat << END
@@ -204,4 +258,11 @@ If you only want help on the make targets, do a
 
        make help
 
+assuming that \`make' is GNU make, of course.
+
+If you want to make site-wide extensions to the makefiles, please use
+
+    make/out/Site.make
+    
 END
+