]> git.lyx.org Git - lyx.git/commitdiff
Configure included hunspell with autotools
authorGeorg Baum <baum@lyx.org>
Sun, 8 May 2016 09:53:34 +0000 (11:53 +0200)
committerRichard Heck <rgheck@lyx.org>
Sun, 29 May 2016 21:55:44 +0000 (17:55 -0400)
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
3rdparty/hunspell/Makefile.am
config/spell.m4

index f936a4c7532f8a1191185f547aa58bd18c3ab105..c32db865b88a1af188d81e474ab6a47422a27866 100644 (file)
@@ -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)
index a4e3aeb373dbbefe540a363322d5f0382479ccfd..8a5b31283c7dcebebdb93aafdc68c781e86eca81 100644 (file)
@@ -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 \
index 1a2a1e9522fd68d3741ddf6824c2be595844f97a..fffad96aa5c3c6376351a1a4fdb44b8ec790d42d 100644 (file)
@@ -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)
        ])
+