From f434fd22b1b84360f15c31cc9f1cf6567150356c Mon Sep 17 00:00:00 2001 From: Georg Baum Date: Sun, 8 May 2016 11:53:34 +0200 Subject: [PATCH] Configure included hunspell with autotools The included hunspell should not be used on Linux or OS X, but (depending on local configuration) it might be needed for crosscompiling a mingw target from Linux. Now the user can choose whether to use the included hunspell or not. cmake does already support that. Now the only other dependency you need to cross-compile for mingw on debian or ubuntu is qt. --- 3rdparty/Makefile.am | 6 +++++- 3rdparty/hunspell/Makefile.am | 9 ++++----- config/spell.m4 | 37 ++++++++++++++++++++++++++++++----- 3 files changed, 41 insertions(+), 11 deletions(-) diff --git a/3rdparty/Makefile.am b/3rdparty/Makefile.am index f936a4c753..c32db865b8 100644 --- a/3rdparty/Makefile.am +++ b/3rdparty/Makefile.am @@ -6,6 +6,10 @@ if USE_INCLUDED_BOOST BOOST = boost endif +if USE_INCLUDED_HUNSPELL +HUNSPELL = hunspell +endif + if USE_INCLUDED_ICONV ICONV = libiconv endif @@ -14,4 +18,4 @@ if USE_INCLUDED_ZLIB ZLIB = zlib endif -SUBDIRS = $(BOOST) $(ICONV) $(ZLIB) +SUBDIRS = $(BOOST) $(HUNSPELL) $(ICONV) $(ZLIB) diff --git a/3rdparty/hunspell/Makefile.am b/3rdparty/hunspell/Makefile.am index a4e3aeb373..8a5b31283c 100644 --- a/3rdparty/hunspell/Makefile.am +++ b/3rdparty/hunspell/Makefile.am @@ -1,8 +1,5 @@ include $(top_srcdir)/config/common.am -# This is prepared for compilation, but currently only used for packaging, -# because configure support for compilation is still missing. - noinst_LIBRARIES = liblyxhunspell.a EXTRA_DIST = \ @@ -20,7 +17,10 @@ EXTRA_DIST = \ 1.3.3/src/hunspell/license.hunspell \ 1.3.3/src/hunspell/license.myspell \ 1.3.3/src/hunspell/makefile.mk \ - 1.3.3/src/hunspell/README + 1.3.3/src/hunspell/README \ + 1.3.3/src/hunspell/utf_info.cxx + +AM_CPPFLAGS += -DHUNSPELL_STATIC liblyxhunspell_a_SOURCES = \ 1.3.3/src/hunspell/affentry.cxx \ @@ -51,7 +51,6 @@ liblyxhunspell_a_SOURCES = \ 1.3.3/src/hunspell/replist.hxx \ 1.3.3/src/hunspell/suggestmgr.cxx \ 1.3.3/src/hunspell/suggestmgr.hxx \ - 1.3.3/src/hunspell/utf_info.cxx \ 1.3.3/src/hunspell/w_char.hxx \ 1.3.3/src/parsers/firstparser.cxx \ 1.3.3/src/parsers/firstparser.hxx \ diff --git a/config/spell.m4 b/config/spell.m4 index 1a2a1e9522..fffad96aa5 100644 --- a/config/spell.m4 +++ b/config/spell.m4 @@ -68,16 +68,43 @@ AC_DEFUN([CHECK_WITH_HUNSPELL], fi ]) +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([--without-included-hunspell], [do not use the hunspell lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found])], + [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 + HUNSPELL_CFLAGS='-I$(top_srcdir)/3rdparty/hunspell/1.3.3/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], [ - CHECK_WITH_ASPELL - AM_CONDITIONAL(USE_ASPELL, $lyx_use_aspell) + 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 the other spell checkers + lyx_use_aspell=false + lyx_use_enchant=false + lyx_use_hunspell=true + lyx_flags="$lyx_flags use-hunspell" + else + CHECK_WITH_ASPELL + CHECK_WITH_ENCHANT + CHECK_WITH_HUNSPELL + fi - CHECK_WITH_ENCHANT + AM_CONDITIONAL(USE_ASPELL, $lyx_use_aspell) AM_CONDITIONAL(USE_ENCHANT, $lyx_use_enchant) - - CHECK_WITH_HUNSPELL AM_CONDITIONAL(USE_HUNSPELL, $lyx_use_hunspell) ]) + -- 2.39.2