>>>> "Valdis" == Valdis Kletnieks
<Valdis.Kletnieks(a)vt.edu> writes:
Valdis> Had a link error, which chased down to the Athena3D hack in
device-x.c:x_init_device().
Valdis> Basic problem was that the code tested for HAVE_DLOPEN, which AIX has defined
Valdis> because there's a perfectly good dlopen() call in /usr/lib/libdl.a.
Valdis> However, I don't have a dll_open() or dll_function() or dll_close().
Valdis> I hand-hacked around it by just sticking a #ifndef _AIX around it, but
Valdis> the right answer is to either use the routines that HAVE_DLOPEN checks for,
Valdis> or add another configure.in test for dll_* routines and associated #define.
I am committing this obvious (but completely untested) fix.
Valdis, please test.
Daniel (and Bill?), please review.
src/ChangeLog:
* device-x.c (x_init_device): Wrap calls to dll_* in HAVE_SHLIB,
not HAVE_DLOPEN, which is a lower-level thing.
Index: src/device-x.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/device-x.c,v
retrieving revision 1.33.2.19
diff -u -w -r1.33.2.19 device-x.c
--- device-x.c 2000/01/27 08:57:19 1.33.2.19
+++ device-x.c 2000/02/10 00:16:16
@@ -50,9 +50,9 @@
#include "sysfile.h"
#include "systime.h"
-#if defined(HAVE_DLOPEN) && defined(LWLIB_USES_ATHENA) &&
!defined(HAVE_ATHENA_3D)
+#if defined(HAVE_SHLIB) && defined(LWLIB_USES_ATHENA) &&
!defined(HAVE_ATHENA_3D)
#include "sysdll.h"
-#endif /* HAVE_DLOPEN and LWLIB_USES_ATHENA and not HAVE_ATHENA_3D */
+#endif /* HAVE_SHLIB and LWLIB_USES_ATHENA and not HAVE_ATHENA_3D */
#ifdef HAVE_OFFIX_DND
#include "offix.h"
@@ -470,7 +470,7 @@
/* */
int best_visual_found = 0;
-#if defined(HAVE_DLOPEN) && defined(LWLIB_USES_ATHENA) &&
!defined(HAVE_ATHENA_3D)
+#if defined(HAVE_SHLIB) && defined(LWLIB_USES_ATHENA) &&
!defined(HAVE_ATHENA_3D)
/*
* In order to avoid the lossage with flat Athena widgets dynamically
* linking to one of the ThreeD variants, using the dynamic symbol helpers
@@ -539,7 +539,7 @@
dll_close (xaw_dll_handle);
}
}
-#endif /* HAVE_DLOPEN and LWLIB_USES_ATHENA and not HAVE_ATHENA_3D */
+#endif /* HAVE_SHLIB and LWLIB_USES_ATHENA and not HAVE_ATHENA_3D */
XSETDEVICE (device, d);