X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=configure.ac;h=8f2f61abf810193486dcaedb5cdac715a8ac09e1;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=008befe4ec06f01a1f3b9b01945a3f336d92222c;hpb=25ca54b640c067e2286a1d7ba47f24a1b4dc070e;p=lilypond.git diff --git a/configure.ac b/configure.ac index 008befe4ec..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,48 +67,86 @@ AC_SUBST(LINK_GXX_STATICALLY) STEPMAKE_COMPILE AC_CHECK_PROG(FCLIST, fc-list, fc-list) -AC_MSG_CHECKING([for New Century Schoolbook PFB files]) -AC_SUBST(NCSB_SOURCE_FILES) -AC_SUBST(NCSB_DIR) -if test "$NCSB_DIR" = ""; then +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 - NCSB_FILE=`$FCLIST "Century Schoolbook L:foundry=urw:fontformat=Type 1:lang=ru" file \ - | head -n 1` - if test "$NCSB_FILE" != ""; then - NCSB_FILE=`echo $NCSB_FILE | sed 's/\(:.*\)$//g'` - NCSB_FILE=`$PYTHON "$srcdir/scripts/auxiliar/readlink.py" $NCSB_FILE` - NCSB_DIR=`AS_DIRNAME($NCSB_FILE)` + 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 "$NCSB_DIR" != "" ; then - for f in c059013l.pfb c059016l.pfb c059033l.pfb c059036l.pfb; do - if test ! -f "$NCSB_DIR/$f"; then - MISSING_NCSB_SOURCE_FILES="$f $MISSING_NCSB_SOURCE_FILES" +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 - if test "`grep Cyrillic "$NCSB_DIR/$f"`" = ""; then - INCOMPLETE_NCSB_SOURCE_FILES="$f $INCOMPLETE_NCSB_SOURCE_FILES" - else - NCSB_SOURCE_FILES="$NCSB_DIR/$f $NCSB_SOURCE_FILES" - fi + TEXGYRE_FILES="$TEXGYRE_FILES $f" fi done fi -if test "$NCSB_DIR" = "" -o "$MISSING_NCSB_SOURCE_FILES" != "$INCOMPLETE_NCSB_SOURCE_FILES"; then +if test "$TEXGYRE_DIR" = "" -o "$MISSING_TEXGYRE_FILES" != ""; then AC_MSG_RESULT(no) - STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts) - if test "$NCSB_DIR" = ""; then + 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-ncsb-dir)') + 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, or use --with-ncsb-dir)') + 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 - if test "$MISSING_NCSB_SOURCE_FILES" != ""; then - STEPMAKE_ADD_ENTRY(REQUIRED,'(these files are missing: $MISSING_NCSB_SOURCE_FILES)') +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 + 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 - if test "$INCOMPLETE_NCSB_SOURCE_FILES" != ""; then - STEPMAKE_ADD_ENTRY(REQUIRED,'(these files do not contain Cyrillic characters: $INCOMPLETE_NCSB_SOURCE_FILES)') +fi +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 + STEPMAKE_ADD_ENTRY(OPTIONAL,'(these files are missing: $MISSING_URWOTF_FILES)') fi else AC_MSG_RESULT(yes) @@ -129,7 +179,12 @@ STEPMAKE_GETTEXT STEPMAKE_MSGFMT(REQUIRED) STEPMAKE_TEXMF(REQUIRED) STEPMAKE_TEXMF_DIRS(REQUIRED) -STEPMAKE_GUILE_DEVEL(REQUIRED, 1.8.2, 1.9.0) +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" @@ -212,7 +267,12 @@ STEPMAKE_FREETYPE2(freetype2, REQUIRED, 2.1.10) STEPMAKE_WINDOWS # guile executable for some scripts -STEPMAKE_GUILE(OPTIONAL, 1.8.2, 1.9.0) +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 and for mf2pt1.pl STEPMAKE_PERL(REQUIRED) @@ -226,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)