X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=config%2Fspell.m4;h=a15f9f6b3ddbe2626110a73212f16c5f79be3c6e;hb=4f865d0f4d870032451dc3578b547abc158a7e42;hp=f60cdbfe4e134074666a631a672b676b9239e332;hpb=90ef6ed709d53612aa145451a5d6f9cf4d26aacd;p=lyx.git diff --git a/config/spell.m4 b/config/spell.m4 index f60cdbfe4e..a15f9f6b3d 100644 --- a/config/spell.m4 +++ b/config/spell.m4 @@ -2,81 +2,109 @@ # Only checks for "new" aspell, > 0.50 AC_DEFUN([CHECK_WITH_ASPELL], [ - lyx_use_aspell=true - AC_ARG_WITH(aspell, AC_HELP_STRING([--with-aspell],[use ASpell libraries])) - test "$with_aspell" = "no" && lyx_use_aspell=false + lyx_use_aspell=true + AC_ARG_WITH(aspell, AC_HELP_STRING([--without-aspell],[do not check for ASpell library])) + test "$with_aspell" = "no" && lyx_use_aspell=false - if $lyx_use_aspell ; then - AC_CHECK_HEADERS(aspell.h aspell/aspell.h, - [lyx_use_aspell=true; break;], - [lyx_use_aspell=false]) + if $lyx_use_aspell ; then + AC_CHECK_HEADERS(aspell.h, + [lyx_use_aspell=true; break;], + [lyx_use_aspell=false]) AC_CHECK_LIB(aspell, new_aspell_config, LIBS="-laspell $LIBS", lyx_use_aspell=false) AC_MSG_CHECKING([whether to use aspell]) if $lyx_use_aspell ; then + AC_MSG_RESULT(yes) + AC_DEFINE(USE_ASPELL, 1, [Define as 1 to use the aspell library]) + lyx_flags="$lyx_flags use-aspell" + else + AC_MSG_RESULT(no) + fi + fi + ]) + +# Macro to add for using enchant spellchecker libraries! -*- sh -*- +AC_DEFUN([CHECK_WITH_ENCHANT], +[ + lyx_use_enchant=true + AC_ARG_WITH(enchant, AC_HELP_STRING([--without-enchant],[do not check for Enchant library])) + test "$with_enchant" = "no" && lyx_use_enchant=false + + if $lyx_use_enchant; then + PKG_CHECK_MODULES([ENCHANT], [enchant], [], [lyx_use_enchant=false]) + AC_MSG_CHECKING([whether to use enchant]) + if $lyx_use_enchant ; then AC_MSG_RESULT(yes) - AC_DEFINE(USE_ASPELL, 1, [Define as 1 to use the aspell library]) - lyx_flags="$lyx_flags use-aspell" + AC_DEFINE(USE_ENCHANT, 1, [Define as 1 to use the enchant library]) + lyx_flags="$lyx_flags use-enchant" else AC_MSG_RESULT(no) fi fi ]) - -# Macro to add for using pspell spellchecker libraries! -*- sh -*- -# @author@: Jürgen Vigna -AC_DEFUN([CHECK_WITH_PSPELL], +# Macro to add for using hunspell spellchecker libraries! -*- sh -*- +AC_DEFUN([CHECK_WITH_HUNSPELL], [ - lyx_use_pspell=true - AC_ARG_WITH(pspell, AC_HELP_STRING([--with-pspell],[use PSpell libraries])) - test "$with_pspell" = "no" && lyx_use_pspell=false + lyx_use_hunspell=true + AC_ARG_WITH(hunspell, AC_HELP_STRING([--without-hunspell],[do not check for Hunspell library])) + test "$with_hunspell" = "no" && lyx_use_hunspell=false - if $lyx_use_pspell ; then - AC_CHECK_HEADERS(pspell/pspell.h,, lyx_use_pspell=false) - AC_CHECK_LIB(pspell, main, LIBS="-lpspell $LIBS", lyx_use_pspell=false) - - AC_MSG_CHECKING([whether to use pspell]) - if $lyx_use_pspell ; then - AC_MSG_RESULT(yes) - AC_DEFINE(USE_PSPELL, 1, [Define as 1 to use the pspell library]) - lyx_flags="$lyx_flags use-pspell" + if $lyx_use_hunspell ; then + PKG_CHECK_MODULES([HUNSPELL], [hunspell], [], [ + AC_CHECK_HEADERS(hunspell/hunspell.hxx, + [lyx_use_hunspell=true; break;], + [lyx_use_hunspell=false]) + AC_CHECK_LIB(hunspell, main, LIBS="-lhunspell $LIBS", lyx_use_hunspell=false) + ]) + AC_MSG_CHECKING([whether to use hunspell]) + if $lyx_use_hunspell ; then + AC_MSG_RESULT(yes) + AC_DEFINE(USE_HUNSPELL, 1, [Define as 1 to use the hunspell library]) + lyx_flags="$lyx_flags use-hunspell" else - AC_MSG_RESULT(no) + AC_MSG_RESULT(no) fi fi ]) -### Check if we want spell libraries, prefer new aspell +dnl Usage: LYX_USE_INCLUDED_HUNSPELL : select if the included hunspell should +dnl be used. +AC_DEFUN([LYX_USE_INCLUDED_HUNSPELL],[ + AC_MSG_CHECKING([whether to use included hunspell library]) + AC_ARG_WITH(included-hunspell, + [AC_HELP_STRING([--with-included-hunspell], [use the hunspell lib supplied with LyX instead of the system one])], + [lyx_cv_with_included_hunspell=$withval], + [lyx_cv_with_included_hunspell=no]) + AM_CONDITIONAL(USE_INCLUDED_HUNSPELL, test x$lyx_cv_with_included_hunspell = xyes) + AC_MSG_RESULT([$lyx_cv_with_included_hunspell]) + if test x$lyx_cv_with_included_hunspell = xyes ; then + lyx_included_libs="$lyx_included_libs hunspell" + HUNSPELL_CFLAGS='-I$(top_srcdir)/3rdparty/hunspell/1.6.2/src' + HUNSPELL_LIBS='$(top_builddir)/3rdparty/hunspell/liblyxhunspell.a' + AC_SUBST(HUNSPELL_CFLAGS) + AC_SUBST(HUNSPELL_LIBS) + fi + ]) + + +### Check if we want spell libraries, prefer new aspell or hunspell AC_DEFUN([LYX_CHECK_SPELL_ENGINES], [ - lyx_use_aspell=false - lyx_use_pspell=false - lyx_use_ispell=false - - dnl Prefer use of the aspell library over pspell. - CHECK_WITH_ASPELL - if $lyx_use_aspell ; then : ; else - CHECK_WITH_PSPELL - fi + LYX_USE_INCLUDED_HUNSPELL + if test x$lyx_cv_with_included_hunspell = xyes ; then +dnl the user wanted to use the included hunspell, so do not check for external hunspell + lyx_use_hunspell=true + AC_DEFINE(USE_HUNSPELL, 1, [Define as 1 to use the hunspell library]) + lyx_flags="$lyx_flags use-hunspell" + else + CHECK_WITH_HUNSPELL + fi + CHECK_WITH_ASPELL + CHECK_WITH_ENCHANT - dnl check for the ability to communicate through unix pipes - dnl with an external ispell process. - dnl Do this independent of the existence of the aspell, pspell libraries. - lyx_use_ispell=true - AC_LANG_PUSH(C) - AC_CHECK_FUNCS(fork,, [lyx_use_ispell=false]) - AC_LANG_POP(C) - AC_MSG_CHECKING([whether to use ispell]) - if $lyx_use_ispell ; then - AC_MSG_RESULT(yes) - AC_DEFINE(USE_ISPELL, 1, [Define as 1 to use an external ispell process to check spelling]) - lyx_flags="$lyx_flags use-ispell" - else - AC_MSG_RESULT(no) - fi + AM_CONDITIONAL(USE_ASPELL, $lyx_use_aspell) + AM_CONDITIONAL(USE_ENCHANT, $lyx_use_enchant) + AM_CONDITIONAL(USE_HUNSPELL, $lyx_use_hunspell) + ]) - AM_CONDITIONAL(USE_ASPELL, $lyx_use_aspell) - AM_CONDITIONAL(USE_PSPELL, $lyx_use_pspell) - AM_CONDITIONAL(USE_ISPELL, $lyx_use_ispell) - ])