]> git.donarmstrong.com Git - lilypond.git/blobdiff - configure.in
Merge branch 'master' of git://git.sv.gnu.org/lilypond
[lilypond.git] / configure.in
index 9323c37602c58aaea8ee3ca041e8f15157bdd6e9..8a1c5d59a605f9b1a5da5c27293d98cccb830bbc 100644 (file)
@@ -34,11 +34,10 @@ AC_ARG_ENABLE(gui,
     [gui_b=$enableval])
 
 
-NCSB_DIR=unknown
 AC_ARG_WITH(ncsb-dir,
-[  --with-ncsb-dir=DIR     location of Century Schoolbook fonts
-                            Default: detect with locate(1)],
-    [NCSB_DIR=$withval])
+    [  --with-ncsb-dir=DIR     location of Century Schoolbook fonts.],
+    [NCSB_DIR=$withval],
+    [NCSB_DIR=""])
 
 reloc_b=no
 AC_ARG_ENABLE(relocation,
@@ -54,8 +53,42 @@ AC_SUBST(LINK_GXX_STATICALLY)
 # must come before any header checks
 STEPMAKE_COMPILE
 
-STEPMAKE_PYTHON(REQUIRED, 2.3)
+# os.path.realpath() requires python 2.2 and unix
+STEPMAKE_PYTHON(REQUIRED, 2.2)
+AC_CHECK_PROG(FCMATCH, fc-match, fc-match)
+AC_MSG_CHECKING([New Century Schoolbook PFB files])
+AC_SUBST(NCSB_SOURCE_FILES)
+if test "$NCSB_DIR" != "" ;  then
+  NCSB_SOURCE_FILES=""
+  for f in c059013l c059016l c059033l c059036l; do
+    if test ! -f "$NCSB_DIR/$f.pfb"; then
+      AC_MSG_WARN($NCSB_DIR does not contain $f.pfb.)
+    else
+      NCSB_SOURCE_FILES="$NCSB_DIR/$f.pfb $NCSB_SOURCE_FILES"
+    fi
+  done
+else
+  if test "$FCMATCH" != ""; then
+    for style in Roman Italic "Bold Italic" Bold; do
+      NCSB_FILE=`$FCMATCH --verbose "Century Schoolbook L:style=$style" | grep 'file:'`
+
+      NCSB_FILE=`echo $NCSB_FILE | sed 's/^.*"\(.*\)".*$/\1/g'`
+      NCSB_FILE=`$PYTHON "$srcdir/buildscripts/readlink.py" $NCSB_FILE`
+      NCSB_SOURCE_FILES="$NCSB_FILE $NCSB_SOURCE_FILES"
+    done
+  else
+    AC_MSG_RESULT(not found)
+    echo "Can't find Century Schoolbook files. Install FontConfig's fc-match,"
+    echo "or use --with-ncsb-dir"
+  fi
+fi
+AC_MSG_RESULT($NCSB_SOURCE_FILES)
+
+
+
+STEPMAKE_PYTHON(REQUIRED, 2.4)
 STEPMAKE_GCC(REQUIRED, 4.0)
+
 STEPMAKE_CXX(REQUIRED)
 STEPMAKE_GXX(REQUIRED, 4.0)
 STEPMAKE_CXXTEMPLATE
@@ -74,7 +107,27 @@ STEPMAKE_GETTEXT
 STEPMAKE_MSGFMT(REQUIRED)
 STEPMAKE_TEXMF(REQUIRED)
 STEPMAKE_TEXMF_DIRS
-STEPMAKE_GUILE_DEVEL(REQUIRED, 1.6.7)
+
+## should check for 1.8.2 ?  
+STEPMAKE_GUILE_DEVEL(REQUIRED, 1.8.0)
+
+
+## check rational bugfix.
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$GUILE_CFLAGS $CPPFLAGS"
+AC_MSG_CHECKING(GUILE rational bugfix)
+AC_TRY_CPP(
+#include <libguile.h>
+#ifdef SCM_FRACTION_REDUCED_BIT
+#error 
+#endif
+,
+AC_MSG_RESULT(ok),
+REQUIRED="$REQUIRED GUILE-with-rational-bugfix"
+AC_MSG_RESULT(Must have patched GUILE rational support. See INSTALL.txt))
+CPPFLAGS="$save_CPPFLAGS"
+
+
 STEPMAKE_MAKEINFO(REQUIRED, 4.8)
 STEPMAKE_PYTHON_DEVEL(REQUIRED)
 
@@ -104,27 +157,6 @@ if test "$reloc_b" = "yes"; then
     AC_DEFINE(ARGV0_RELOCATION)
 fi
 
-AC_MSG_CHECKING([New Century Schoolbook PFB files])
-if test "$NCSB_DIR" = "unknown"; then
-  # use `type' command rather than external program `which'
-  type locate >& /dev/null
-  if test "$?" = "0"; then
-      for d in `locate c059033l.pfb `; do
-         if test -f `dirname "$d"`/c059033l.afm ; then
-             NCSB_DIR=`dirname "$d"`
-             break 
-         fi
-      done
-      if test "$NCSB_DIR" = "unknown";  then
-         AC_MSG_WARN(Could not find c059033l.pfb. Use --enable-ncsb-path to set path)
-      fi
-  else
-     AC_MSG_WARN(Could not find locate(1). Use --enable-ncsb-path to set path to c059033l.pfb)
-  fi
-fi
-
-AC_MSG_RESULT($NCSB_DIR)
-AC_SUBST(NCSB_DIR)
 
 HOST_ARCH=`$CC -dumpmachine`
 AC_SUBST(HOST_ARCH)
@@ -148,10 +180,11 @@ STEPMAKE_PERL(OPTIONAL)
 # makeinfo should avoid bug reports; if people want to build lily
 # without the docs, they can find this comment and use an older
 # makeinfo--but hopefully won't report makeinfo problems.
-STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.7)
+STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.8)
 
 AC_DEFINE_UNQUOTED(FLOWER_VERSION, "${FULL_FLOWER_VERSION}")
 
+
 # Gather requirements and generate output.
 STEPMAKE_END
 
@@ -164,4 +197,9 @@ Type:
     make$mc install   to install LilyPond
     make$mc help      to see all possible targets
 
+Edit local.make for local Makefile overrides.
+
+
 EOF
+
+touch local.make