APPROVE COMMIT 21.5
Per recommendation of Ben. This is not meant to block Marcus's
"xemacs.def.in in modules" patch, but it does work for Mac OS X.
This seems to have snuck in with the Xft merge commit. Sorry!
2005-11-07 Stephen J. Turnbull <stephen(a)xemacs.org>
* inline.c: Include modules headers regardless of HAVE_SHLIB.
Reproducing the patch (which was originally sent to xemacs-beta for
discussion).
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.
--
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.