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
113
114
115
116
|
--- ./extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig 2008-02-15 19:21:21.000000000 +0000
+++ ./extensions/spellcheck/hunspell/src/mozHunspell.cpp 2008-02-15 19:23:20.000000000 +0000
@@ -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,
--- ./extensions/spellcheck/src/Makefile.in.orig 2008-02-15 19:25:58.000000000 +0000
+++ ./extensions/spellcheck/src/Makefile.in 2008-02-15 19:28:36.000000000 +0000
@@ -63,9 +63,16 @@
txtsvc \
uconv \
unicharutil \
+ xulapp \
$(NULL)
-CPPSRCS = \
+ifdef MOZ_NATIVE_HUNSPELL
+CPPSRCS += mozHunspell.cpp
+ifdef MOZ_XUL_APP
+CPPSRCS += mozHunspellDirProvider.cpp
+endif
+endif
+CPPSRCS += \
mozSpellCheckerFactory.cpp \
mozSpellChecker.cpp \
mozPersonalDictionary.cpp \
@@ -80,8 +87,14 @@
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) \
+ -DMOZ_NATIVE_HUNSPELL \
+ $(NULL)
+endif
endif
EXTRA_DSO_LDOPTS = \
@@ -96,3 +112,18 @@
LOCAL_INCLUDES += \
-I$(topsrcdir)/xpcom/io \
$(NULL)
+
+ifdef MOZ_NATIVE_HUNSPELL
+export:: $(srcdir)/../hunspell/src/mozHunspell.cpp
+ $(INSTALL) $(srcdir)/../hunspell/src/mozHunspell.* .
+GARBAGE += mozHunspell.$(OBJ_SUFFIX) mozHunspell.cpp
+clean::
+ rm -f mozHunspell.*
+ifdef MOZ_XUL_APP
+export:: $(srcdir)/../hunspell/src/mozHunspellDirProvider.cpp
+ $(INSTALL) $(srcdir)/../hunspell/src/mozHunspellDirProvider.* .
+GARBAGE += mozHunspellDirProvider.$(OBJ_SUFFIX) mozHunspellDirProvider.cpp
+clean::
+ rm -f mozHunspellDirProvider.*
+endif
+endif
--- ./extensions/spellcheck/Makefile.in.orig 2008-02-15 19:23:39.000000000 +0000
+++ ./extensions/spellcheck/Makefile.in 2008-02-15 19:24:34.000000000 +0000
@@ -42,13 +42,19 @@
include $(DEPTH)/config/autoconf.mk
MODULE = spellchecker
-DIRS = idl locales
+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
|