diff -r e06632956519 extensions/spellcheck/Makefile.in --- a/extensions/spellcheck/Makefile.in Sun Apr 04 07:02:14 2010 +0300 +++ b/extensions/spellcheck/Makefile.in Tue Apr 06 21:40:35 2010 -0500 @@ -42,13 +42,19 @@ include $(DEPTH)/config/autoconf.mk MODULE = spellchecker +ifndef MOZ_NATIVE_HUNSPELL DIRS = idl locales +else +DIRS = idl +endif ifeq (camino,$(MOZ_BUILD_APP)) DIRS += osxspell else +ifndef MOZ_NATIVE_HUNSPELL DIRS += hunspell endif +endif DIRS += src diff -r e06632956519 extensions/spellcheck/hunspell/src/mozHunspell.cpp --- a/extensions/spellcheck/hunspell/src/mozHunspell.cpp Sun Apr 04 07:02:14 2010 +0300 +++ b/extensions/spellcheck/hunspell/src/mozHunspell.cpp Tue Apr 06 21:40:35 2010 -0500 @@ -63,6 +63,9 @@ #include "nsISimpleEnumerator.h" #include "nsIDirectoryEnumerator.h" #include "nsIFile.h" +#ifdef MOZ_NATIVE_HUNSPELL +#include "nsILocalFile.h" +#endif #include "nsDirectoryServiceUtils.h" #include "nsDirectoryServiceDefs.h" #include "mozISpellI18NManager.h" @@ -307,7 +310,16 @@ return; nsCOMPtr dictDir; - rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY, + #ifdef MOZ_NATIVE_HUNSPELL + nsCOMPtr localFile; + rv = NS_NewNativeLocalFile(nsDependentCString("/usr/share/myspell"),PR_TRUE, getter_AddRefs(localFile)); + if (localFile && NS_SUCCEEDED(rv)) { + localFile->QueryInterface(NS_GET_IID(nsIFile), getter_AddRefs(dictDir)); + LoadDictionariesFromDir(dictDir); + } + else { + #endif + rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY, NS_GET_IID(nsIFile), getter_AddRefs(dictDir)); if (NS_SUCCEEDED(rv)) { LoadDictionariesFromDir(dictDir); @@ -332,6 +344,9 @@ LoadDictionariesFromDir(appDir); } } +#ifdef MOZ_NATIVE_HUNSPELL + } +#endif nsCOMPtr dictDirs; rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST, diff -r e06632956519 extensions/spellcheck/src/Makefile.in --- a/extensions/spellcheck/src/Makefile.in Sun Apr 04 07:02:14 2010 +0300 +++ b/extensions/spellcheck/src/Makefile.in Tue Apr 06 21:40:35 2010 -0500 @@ -63,9 +63,15 @@ txtsvc \ uconv \ unicharutil \ + xulapp \ $(NULL) -CPPSRCS = \ +ifdef MOZ_NATIVE_HUNSPELL +CPPSRCS += mozHunspell.cpp +CPPSRCS += mozHunspellDirProvider.cpp +endif + +CPPSRCS += \ mozSpellCheckerFactory.cpp \ mozSpellChecker.cpp \ mozPersonalDictionary.cpp \ @@ -80,8 +86,15 @@ SHARED_LIBRARY_LIBS += ../osxspell/src/$(LIB_PREFIX)osxspell_s.$(LIB_SUFFIX) LOCAL_INCLUDES += -I$(srcdir)/../osxspell/src else +ifndef MOZ_NATIVE_HUNSPELL SHARED_LIBRARY_LIBS += ../hunspell/src/$(LIB_PREFIX)hunspell_s.$(LIB_SUFFIX) LOCAL_INCLUDES += -I$(srcdir)/../hunspell/src +else +LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS) \ + -I$(srcdir)/../hunspell/src \ + -DMOZ_NATIVE_HUNSPELL \ + $(NULL) +endif endif EXTRA_DSO_LDOPTS = \ @@ -96,3 +109,11 @@ LOCAL_INCLUDES += \ -I$(topsrcdir)/xpcom/io \ $(NULL) + +ifdef MOZ_NATIVE_HUNSPELL +export:: $(srcdir)/../hunspell/src/mozHunspell.cpp $(srcdir)/../hunspell/src/mozHunspellDirProvider.cpp + $(INSTALL) $(srcdir)/../hunspell/src/mozHunspell.* $(srcdir)/../hunspell/src/mozHunspellDirProvider.* . +GARBAGE += mozHunspell.$(OBJ_SUFFIX) mozHunspell.cpp mozHunspellDirProvider.$(OBJ_SUFFIX) mozHunspellDirProvider.cpp +clean:: + rm -f mozHunspell.* mozHunspellDirProvider.* +endif