In the lrecord code, if error checking is turned on, each Lisp object
type automatically gets a error_check_TYPE_name function defined using
DECLARE_INLINE_HEADER. For reasons I don't understand well at all, at
least on Mac OS X 10.3.9 with GCC 3.3 these functions don't get
instantiated for the PostgreSQL and LDAP modules.
The patch below wins for me, but it's not very pleasant as it seems to
imply it's not possible to get an error-checking build outside of the
XEmacs tree.
Comments appreciated.
diff -rN -u old-xft-integration-new/src/inline.c new-xft-integration-new/src/inline.c
--- old-xft-integration-new/src/inline.c 2005-11-05 00:45:16.000000000 +0900
+++ new-xft-integration-new/src/inline.c 2005-11-05 00:45:24.000000000 +0900
@@ -67,11 +67,13 @@
#include "syntax.h"
#include "window.h"
-#if defined (HAVE_LDAP) && !defined (HAVE_SHLIB)
+/* if we demand !define (HAVE_SHLIB) the inlines don't get instantiated */
+#if defined (HAVE_LDAP)
#include "../modules/ldap/eldap.h"
#endif
-#if defined (HAVE_POSTGRESQL) && !defined (HAVE_SHLIB)
+/* if we demand !define (HAVE_SHLIB) the inlines don't get instantiated */
+#if defined (HAVE_POSTGRESQL)
#include "../modules/postgresql/postgresql.h"
#endif
--
School of Systems and Information Engineering
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.