summaryrefslogtreecommitdiff
blob: 5a905aaf4ac03430b48e2407c9affd45b8067fbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
diff -r e06632956519 mozilla/extensions/spellcheck/Makefile.in
--- a/mozilla/extensions/spellcheck/Makefile.in	Sun Apr 04 07:02:14 2010 +0300
+++ b/mozilla/extensions/spellcheck/Makefile.in	Tue Apr 06 23:07:03 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 mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp
--- a/mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp	Sun Apr 04 07:02:14 2010 +0300
+++ b/mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp	Tue Apr 06 23:07:03 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<nsIFile> dictDir;
-  rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY,
+  #ifdef MOZ_NATIVE_HUNSPELL
+    nsCOMPtr<nsILocalFile>  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<nsISimpleEnumerator> dictDirs;
   rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
diff -r e06632956519 mozilla/extensions/spellcheck/src/Makefile.in
--- a/mozilla/extensions/spellcheck/src/Makefile.in	Sun Apr 04 07:02:14 2010 +0300
+++ b/mozilla/extensions/spellcheck/src/Makefile.in	Tue Apr 06 23:07:03 2010 -0500
@@ -63,9 +63,15 @@
 		  txtsvc \
 		  uconv \
 		  unicharutil \
+		  xulapp \
 		  $(NULL)
 
-CPPSRCS		= \
+ifdef MOZ_NATIVE_HUNSPELL
+CPPSRCS         += mozHunspell.cpp \
+		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