Stephen,
building the canna module of current CVS results in
../../lib-src/ellcc -Wall -Wno-switch -Wundef -Wsign-compare
-Wno-char-subscripts -Wpacked -Wunused-parameter -g --mode=compile
--mod-output=canna-api_i.o -I../../src
-I/home/crestani/src/xemacs/xemacs-21.5/modules/canna/../../src -c
canna-api_i.c
canna-api_i.c:10: error: syntax error before '-' token
canna-api_i.c:20: error: syntax error before '-' token
and many other connected errors.
Your recent renaming of the canna module causes the error: one use of
MODNAME (defined in Makefile.in.in) is to generate C function
identifiers, therefore it must itself be a valid C identifier. My
patch renames it from canna-api to canna_api, this fixes the build.
Index: modules/canna/Makefile.in.in
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/modules/canna/Makefile.in.in,v
retrieving revision 1.2
diff -u -r1.2 Makefile.in.in
--- modules/canna/Makefile.in.in 4 Oct 2005 17:51:32 -0000 1.2
+++ modules/canna/Makefile.in.in 7 Oct 2005 12:35:58 -0000
@@ -26,7 +26,7 @@
## source tree.
### Specialize this part for your module
-MODNAME=canna-api
+MODNAME=canna_api
MODVER=0.5.0
MODTITLE="Module wrapping Canna libraries for XEmacs"
CFLAGS=@CFLAGS@
The change in the module name has also to be reflected in
canna-leim.el. I also think that the path "canna/" has to be removed
from the require statement:
Index: lisp/mule/canna-leim.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/mule/canna-leim.el,v
retrieving revision 1.8
diff -u -r1.8 canna-leim.el
--- lisp/mule/canna-leim.el 4 Oct 2005 17:51:29 -0000 1.8
+++ lisp/mule/canna-leim.el 7 Oct 2005 14:38:06 -0000
@@ -45,7 +45,7 @@
(defun canna-activate (&optional name)
;; XEmacs 21.5.10 and later have 3-argument require.
- (unless (require 'CANNA "canna/canna-api" 'no-error)
+ (unless (require 'CANNA "canna_api" 'no-error)
(error 'file-error
"No Canna API support!? See M-x describe-installation & C-h v
module-load-path."))
(unless (require 'canna nil 'no-error)
Because canna_api.ell gets copied (with `make install') to
/usr/local/lib/xemacs-21.5-b22/i686-pc-linux/modules/canna_api.ell,
with no additional subdirectory. Is this only a problem on my local
installation? My module-load-path contains:
("/usr/local/lib/xemacs/site-modules/"
"/usr/local/lib/xemacs-21.5-b22/i686-pc-linux/modules/").
The above patches fix canna for me, but there are several ways to
approach the problems, and I really don't know what would be the best
way. Thus, I didn't send this to -patches. So, please consider this
mail more as a bugreport than as a fix. Let me know, if you want me
to send my changes to -patches, though, I'd be happy to do this then.
--
Marcus