tdf#124173: Enable thesauruses in the iOS app

Build our lnth library and the external mythes library. Install
thesauruses for the app's Xcode project to pick up and include in the
app bundle. Look for them in the place where they will end up.

To get thesauruses you need to configure with --with-myspell-dicts.

Change-Id: I2d850ca3c821c5c764cb061340a265440d04e41b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113066
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113073
Tested-by: Tor Lillqvist <tml@collabora.com>
diff --git a/Repository.mk b/Repository.mk
index ab7daa3..cafa899 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -377,7 +377,7 @@
	localebe1 \
	log \
	lng \
	$(if $(filter-out iOS,$(OS)),lnth) \
	lnth \
	$(if $(filter $(OS),MACOSX),macbe1) \
	$(if $(MERGELIBS),merged) \
	migrationoo2 \
diff --git a/configure.ac b/configure.ac
index 9a96e56..7900e90 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10911,9 +10911,7 @@
dnl Checking for mythes
dnl ===================================================================
AC_MSG_CHECKING([which mythes to use])
if test "$_os" = iOS; then
   AC_MSG_RESULT([none])
elif test "$with_system_mythes" = "yes"; then
if test "$with_system_mythes" = "yes"; then
    AC_MSG_RESULT([external])
    SYSTEM_MYTHES=TRUE
    AC_LANG_PUSH([C++])
diff --git a/ios/CustomTarget_iOS_setup.mk b/ios/CustomTarget_iOS_setup.mk
index 95cf79a..8a082bcd 100644
--- a/ios/CustomTarget_iOS_setup.mk
+++ b/ios/CustomTarget_iOS_setup.mk
@@ -76,13 +76,17 @@
	mkdir -p $(IOSRES)/share/fonts
	cp -R $(INSTDIR)/share/fonts/truetype $(IOSRES)/share/fonts
	cp -R $(INSTDIR)/share/gallery $(IOSRES)/share
	mkdir -p $(IOSRES)/share/spell
	# Install the Swiss German dictionary and use it for Liechtenstein, too
	mkdir -p $(IOSRES)/share/spell $(IOSRES)/share/thes
	# Install the Swiss German dictionary and use it for Liechtenstein, too.
	# Install also thesauruses.
	if test -d $(INSTDIR)/share/extensions/dict-de; then \
		cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/spell/de_CH.aff; \
		cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/spell/de_CH.dic; \
		cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/spell/de_LI.aff; \
		cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/spell/de_LI.dic; \
		cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/thes/de_CH.aff; \
		cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/thes/de_CH.dic; \
		cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/thes/de_LI.aff; \
		cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/thes/de_LI.dic; \
		cp $(INSTDIR)/share/extensions/*/th_*_v2.* $(IOSRES)/share/thes; \
		cp $(INSTDIR)/share/extensions/dict-en/th_en_US_v2.dat $(IOSRES)/share/thes/th_en_GB_v2.dat; \
		cp $(INSTDIR)/share/extensions/dict-en/th_en_US_v2.idx $(IOSRES)/share/thes/th_en_GB_v2.idx; \
	fi
	cp -R $(INSTDIR)/share/palette $(IOSRES)/share
	cp -R $(INSTDIR)/share/fingerprint $(IOSRES)/share
diff --git a/lingucomponent/Module_lingucomponent.mk b/lingucomponent/Module_lingucomponent.mk
index 3f8bcb0..2bde5d5 100644
--- a/lingucomponent/Module_lingucomponent.mk
+++ b/lingucomponent/Module_lingucomponent.mk
@@ -13,7 +13,7 @@
$(eval $(call gb_Module_add_targets,lingucomponent,\
	Library_guesslang \
	Library_hyphen \
	$(if $(filter-out iOS,$(OS)),Library_lnth) \
	Library_lnth \
	$(if $(filter iOS MACOSX,$(OS)),Library_MacOSXSpell) \
	Library_spell \
	StaticLibrary_ulingu \
diff --git a/lingucomponent/source/lingutil/lingutil.cxx b/lingucomponent/source/lingutil/lingutil.cxx
index a3642c9..a27fc37 100644
--- a/lingucomponent/source/lingutil/lingutil.cxx
+++ b/lingucomponent/source/lingutil/lingutil.cxx
@@ -180,6 +180,11 @@
        aSystemDir      = THES_SYSTEM_DIR;
        aSystemPrefix   = "th_";
        aSystemSuffix   = "_v2.dat";
#elif defined IOS
        aSystemDir      = "$BRAND_BASE_DIR/share/thes";
        rtl::Bootstrap::expandMacros(aSystemDir);
        aSystemPrefix   = "th_";
        aSystemSuffix   = "_v2.dat";
#endif
    }

diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index 34a5c0b..2abee72 100644
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -94,9 +94,7 @@
	lingucomponent/source/hyphenator/hyphen/hyphen \
	lingucomponent/source/languageguessing/guesslang \
	lingucomponent/source/spellcheck/spell/spell \
	$(if $(filter-out iOS,$(OS)), \
		lingucomponent/source/thesaurus/libnth/lnth \
	) \
	lingucomponent/source/thesaurus/libnth/lnth \
	lingucomponent/source/numbertext/numbertext \
	linguistic/source/lng \
	$(if $(ENABLE_LWP), \
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 0c197cb..404aaf4 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -280,7 +280,7 @@
# linguistic/source/spellcheck/MacOSXSpellMacOSXSpell.component
    ("lingucomponent_MacSpellChecker_get_implementation", "#ifdef IOS"),
# lingucomponent/source/thesaurus/libnth/lnth.component
    ("lingucomponent_Thesaurus_get_implementation", "#ifndef IOS"),
    "lingucomponent_Thesaurus_get_implementation",
    "lingucomponent_SpellChecker_get_implementation",
    "lingucomponent_LangGuess_get_implementation",
    "lingucomponent_Hyphenator_get_implementation",