X-Git-Url: https://git.donarmstrong.com/?p=lilypond.git;a=blobdiff_plain;f=configure.ac;h=8f2f61abf810193486dcaedb5cdac715a8ac09e1;hp=25028518353e5ccef0bc379c5da0318c3519c44f;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hpb=ce43b953f70e2b7b36e11f3cb2bb0f179fc3b1a3 diff --git a/configure.ac b/configure.ac index 2502851835..8f2f61abf8 100644 --- a/configure.ac +++ b/configure.ac @@ -26,11 +26,23 @@ AC_ARG_ENABLE(documentation, [DOCUMENTATION=$enableval]) AC_SUBST(DOCUMENTATION) -AC_ARG_WITH(ncsb-dir, - [AS_HELP_STRING([--with-ncsb-dir=DIR], - [location of Century Schoolbook fonts.])], - [NCSB_DIR=$withval], - [NCSB_DIR=""]) +GUILEv2=no +AC_ARG_ENABLE(guile2, + [AS_HELP_STRING([--enable-guile2], + [highly experimental GUILE 2 support. Default: off])], + [GUILEv2=$enableval]) + +AC_ARG_WITH(texgyre-dir, + [AS_HELP_STRING([--with-texgyre-dir=DIR], + [location of TeX Gyre fonts.])], + [TEXGYRE_DIR=$withval], + [TEXGYRE_DIR=""]) + +AC_ARG_WITH(urwotf-dir, + [AS_HELP_STRING([--with-urwotf-dir=DIR], + [location of URW++ OTF fonts.])], + [URWOTF_DIR=$withval], + [URWOTF_DIR=""]) reloc_b=no AC_ARG_ENABLE(relocation, @@ -55,49 +67,94 @@ AC_SUBST(LINK_GXX_STATICALLY) STEPMAKE_COMPILE AC_CHECK_PROG(FCLIST, fc-list, fc-list) -AC_MSG_CHECKING([New Century Schoolbook PFB files]) -AC_SUBST(NCSB_SOURCE_FILES) -AC_SUBST(NCSB_DIR) -UNCHECKED_NCSB_SOURCE_FILES="" -if test "$NCSB_DIR" != "" ; then - for f in c059013l c059016l c059033l c059036l; do - if test ! -f "$NCSB_DIR/$f.pfb"; then - STEPMAKE_WARN($NCSB_DIR does not contain $f.pfb.) +AC_MSG_CHECKING([for TeX Gyre fonts OTF files]) +AC_SUBST(TEXGYRE_DIR) +AC_SUBST(TEXGYRE_FILES) +if test "$TEXGYRE_DIR" = ""; then + if test "$FCLIST" != ""; then + TEXGYRE_FILE=`$FCLIST "TeX Gyre Schola:fontformat=CFF" file | head -n 1` + if test "$TEXGYRE_FILE" != ""; then + TEXGYRE_FILE=`echo $TEXGYRE_FILE | sed 's/\(:.*\)$//g'` + TEXGYRE_FILE=`$PYTHON "$srcdir/scripts/auxiliar/readlink.py" $TEXGYRE_FILE` + TEXGYRE_DIR=`AS_DIRNAME($TEXGYRE_FILE)` + fi + fi +fi +if test "$TEXGYRE_DIR" != "" ; then + for f in texgyreschola-regular.otf texgyreschola-italic.otf \ + texgyreschola-bold.otf texgyreschola-bolditalic.otf \ + texgyreheros-regular.otf texgyreheros-italic.otf \ + texgyreheros-bold.otf texgyreheros-bolditalic.otf \ + texgyrecursor-regular.otf texgyrecursor-italic.otf \ + texgyrecursor-bold.otf texgyrecursor-bolditalic.otf; do + if test ! -f "$TEXGYRE_DIR/$f"; then + MISSING_TEXGYRE_FILES="$MISSING_TEXGYRE_FILES $f" else - UNCHECKED_NCSB_SOURCE_FILES="$NCSB_DIR/$f.pfb $UNCHECKED_NCSB_SOURCE_FILES" + TEXGYRE_FILES="$TEXGYRE_FILES $f" fi done +fi +if test "$TEXGYRE_DIR" = "" -o "$MISSING_TEXGYRE_FILES" != ""; then + AC_MSG_RESULT(no) + STEPMAKE_ADD_ENTRY(REQUIRED,TeX Gyre fonts OTF) + if test "$TEXGYRE_DIR" = ""; then + if test "$FCLIST" = ""; then + STEPMAKE_ADD_ENTRY(REQUIRED,'(install the fc-list utility from FontConfig, or use --with-texgyre-dir)') + else + STEPMAKE_ADD_ENTRY(REQUIRED,"(make sure the fc-list utility can see them, e.g. 'sudo apt-get install fonts-texgyre', or use --with-texgyre-dir)") + fi + else + STEPMAKE_ADD_ENTRY(REQUIRED,'(these files are missing: $MISSING_TEXGYRE_FILES)') + fi else + AC_MSG_RESULT(yes) +fi +AC_MSG_CHECKING([for URW++ OTF files]) +AC_SUBST(URWOTF_DIR) +AC_SUBST(URWOTF_FILES) +if test "$URWOTF_DIR" = ""; then if test "$FCLIST" != ""; then - for style in Roman Italic "Bold Italic" Bold; do - NCSB_FILE=`$FCLIST "Century Schoolbook L:style=$style:foundry=urw:fontformat=Type 1" file \ - | head -n 1` - NCSB_FILE=`echo $NCSB_FILE | sed 's/\(:.*\)$//g'` - NCSB_FILE=`$PYTHON "$srcdir/scripts/auxiliar/readlink.py" $NCSB_FILE` - UNCHECKED_NCSB_SOURCE_FILES="$NCSB_FILE $UNCHECKED_NCSB_SOURCE_FILES" - done - NCSB_DIR=`AS_DIRNAME($NCSB_FILE)` - else - AC_MSG_RESULT(not found) - echo "Can't find Century Schoolbook files. Install FontConfig's fc-list," - echo "or use --with-ncsb-dir" - STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts) + URWOTF_FILE=`$FCLIST "C059:fontformat=CFF" file | head -n 1` + if test "$URWOTF_FILE" != ""; then + URWOTF_FILE=`echo $URWOTF_FILE | sed 's/\(:.*\)$//g'` + URWOTF_FILE=`$PYTHON "$srcdir/scripts/auxiliar/readlink.py" $URWOTF_FILE` + URWOTF_DIR=`AS_DIRNAME($URWOTF_FILE)` + fi fi fi -NCSB_SOURCE_FILES="" -for f in $UNCHECKED_NCSB_SOURCE_FILES; do - if test "`grep Cyrillic "$f"`" = ""; then - STEPMAKE_WARN($f does not have Cyrillic characters.) - STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts) +if test "$URWOTF_DIR" != "" ; then + for f in C059-BdIta.otf C059-Bold.otf \ + C059-Italic.otf C059-Roman.otf \ + NimbusMonoPS-Bold.otf NimbusMonoPS-BoldItalic.otf \ + NimbusMonoPS-Italic.otf NimbusMonoPS-Regular.otf \ + NimbusSans-Bold.otf NimbusSans-BoldOblique.otf \ + NimbusSans-Oblique.otf NimbusSans-Regular.otf; do + if test ! -f "$URWOTF_DIR/$f"; then + MISSING_URWOTF_FILES="$MISSING_URWOTF_FILES $f" + else + URWOTF_FILES="$URWOTF_FILES $f" + fi + done +fi +if test "$URWOTF_DIR" = "" -o "$MISSING_URWOTF_FILES" != ""; then + AC_MSG_RESULT(no) + STEPMAKE_ADD_ENTRY(OPTIONAL,URW++ OTF fonts) + if test "$URWOTF_DIR" = ""; then + if test "$FCLIST" = ""; then + STEPMAKE_ADD_ENTRY(OPTIONAL,'(install the fc-list utility from FontConfig, or use --with-urwotf-dir)') + else + STEPMAKE_ADD_ENTRY(OPTIONAL,"(download OTF files from 'http://git.ghostscript.com/?p=urw-core35-fonts.git;a=commit;h=79bcdfb34fbce12b592cce389fa7a19da6b5b018' and put them under '~/.local/share/fonts' etc., or use --with-urwotf-dir)") + fi else - NCSB_SOURCE_FILES="$f $NCSB_SOURCE_FILES" + STEPMAKE_ADD_ENTRY(OPTIONAL,'(these files are missing: $MISSING_URWOTF_FILES)') fi -done -AC_MSG_RESULT($NCSB_SOURCE_FILES) +else + AC_MSG_RESULT(yes) +fi AC_LANG([C++]) -STEPMAKE_PYTHON(REQUIRED, 2.4) +STEPMAKE_PYTHON(REQUIRED, 2.4, 3.0) # this checks if we have GNU C by compiling a program with # __GNUC__, but that macro now unofficially means "the compiler # supports the GNU C extensions" -- the intel C compiler and clang @@ -113,7 +170,7 @@ STEPMAKE_LIB(REQUIRED) STEPMAKE_DLOPEN # Do not use bison 1.50 and 1.75. # 1.29 is required fr %locations, but I'm not sure it's enough --ns -STEPMAKE_BISON(OPTIONAL, 1.29) +STEPMAKE_BISON(REQUIRED, 1.29) STEPMAKE_FLEX(REQUIRED) STEPMAKE_FLEXLEXER(REQUIRED) STEPMAKE_FLEXLEXER_LOCATION @@ -122,7 +179,12 @@ STEPMAKE_GETTEXT STEPMAKE_MSGFMT(REQUIRED) STEPMAKE_TEXMF(REQUIRED) STEPMAKE_TEXMF_DIRS(REQUIRED) -STEPMAKE_GUILE_DEVEL(REQUIRED, 1.8.2) +if test "$GUILEv2" = "yes" +then + STEPMAKE_GUILE_DEVEL(REQUIRED, 2.0.7, 2.3.0) +else + STEPMAKE_GUILE_DEVEL(REQUIRED, 1.8.2, 1.9.0) +fi # check for 3 typedefs added in Guile 1.9 save_CXXFLAGS="$CXXFLAGS" @@ -166,7 +228,7 @@ AC_MSG_RESULT(Must have patched GUILE rational support. See INSTALL.txt)]) CPPFLAGS="$save_CPPFLAGS" -STEPMAKE_PYTHON_DEVEL(REQUIRED) +STEPMAKE_PYTHON_DEVEL(REQUIRED, 2.4, 3.0) STEPMAKE_PATH_PROG(FONTFORGE, fontforge, REQUIRED, 20110222) @@ -205,10 +267,15 @@ STEPMAKE_FREETYPE2(freetype2, REQUIRED, 2.1.10) STEPMAKE_WINDOWS # guile executable for some scripts -STEPMAKE_GUILE(OPTIONAL) +if test "$GUILEv2" = "yes" +then + STEPMAKE_GUILE(OPTIONAL, 2.0.7, 2.3.0) +else + STEPMAKE_GUILE(OPTIONAL, 1.8.2, 1.9.0) +fi -# perl for help2man. -STEPMAKE_PERL(OPTIONAL) +# perl for help2man and for mf2pt1.pl +STEPMAKE_PERL(REQUIRED) ## Optional tools for building documentation, website, extra fonts. if test "$DOCUMENTATION" = "yes"; then @@ -219,12 +286,45 @@ fi STEPMAKE_PATH_PROG(GHOSTSCRIPT, gs, $DOCUMENTATION_REQUIRED, 8.60) +AC_SUBST(GS920) +AC_SUBST(EXTRACTPDFMARK) +AC_SUBST(USE_EXTRACTPDFMARK) +STEPMAKE_PROGS(GS920, gs, OPTIONAL, 9.20) +STEPMAKE_PROGS(EXTRACTPDFMARK, extractpdfmark, OPTIONAL) +req=`STEPMAKE_NUMERIC_VERSION(9.20)` +USE_EXTRACTPDFMARK=yes +if test "$GS920_VERSION" -lt "$req"; then + GS920= + USE_EXTRACTPDFMARK=no +fi +if test "$EXTRACTPDFMARK" != "extractpdfmark"; then + EXTRACTPDFMARK= + USE_EXTRACTPDFMARK=no +fi +if test "$USE_EXTRACTPDFMARK" != "yes"; then + STEPMAKE_ADD_ENTRY(OPTIONAL, + ["(Optionally using Ghostscript >= 9.20 together with"]) + STEPMAKE_ADD_ENTRY(OPTIONAL, + [" Extract PDFmark can significantly reduce the disk space required"]) + STEPMAKE_ADD_ENTRY(OPTIONAL, + [" for building the documentation and the final PDF files.)"]) +fi + STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.11) STEPMAKE_PROGS(TEXI2HTML, texi2html, $DOCUMENTATION_REQUIRED, 1.82) STEPMAKE_PROGS(DBLATEX, dblatex, $DOCUMENTATION_REQUIRED, 0.1.4) STEPMAKE_PROGS(BIBTEX, bibtex, $DOCUMENTATION_REQUIRED) -STEPMAKE_PROGS(PDFLATEX, pdflatex, $DOCUMENTATION_REQUIRED) -STEPMAKE_PROGS(PDFTEX, pdfetex pdftex etex, $DOCUMENTATION_REQUIRED) +STEPMAKE_PROGS(PDFLATEX, xelatex pdflatex, $DOCUMENTATION_REQUIRED) +if test "$PDFLATEX" = "xelatex"; then + STEPMAKE_PROGS(PDFTEX, xetex, $DOCUMENTATION_REQUIRED) + if test "$PDFTEX" = "xetex"; then + # For avoiding PDF destination name replacement. + PDFTEX=$ugh_ugh_autoconf250_builddir/scripts/build/out$CONFIGSUFFIX/xetex-with-options + PDFLATEX=$ugh_ugh_autoconf250_builddir/scripts/build/out$CONFIGSUFFIX/xelatex-with-options + fi +else + STEPMAKE_PROGS(PDFTEX, pdfetex pdftex etex, $DOCUMENTATION_REQUIRED) +fi STEPMAKE_PROGS(TEXI2PDF, texi2pdf, $DOCUMENTATION_REQUIRED) STEPMAKE_PROGS(TEXINDEX, texindex, $DOCUMENTATION_REQUIRED) AC_MSG_CHECKING(for epsf.tex)