scx/c/xlib/init.c

53 lines
1.3 KiB
C

#include "xlib.h"
s48_value scx_Xlib_Release_4_Or_Later () {
return S48_TRUE;
}
s48_value scx_Xlib_Release_5_Or_Later () {
#ifdef XLIB_RELEASE_5_OR_LATER
return S48_TRUE;
#else
return S48_FALSE;
#endif
}
s48_value scx_Xlib_Release_6_Or_Later () {
#ifdef XLIB_RELEASE_6_OR_LATER
return S48_TRUE;
#else
return S48_FALSE;
#endif
}
s48_value symbol_now_binding = S48_FALSE;
s48_value symbol_now() {
return S48_SHARED_BINDING_REF(symbol_now_binding);
}
void scx_init_init(void) {
S48_GC_PROTECT_GLOBAL(symbol_now_binding);
// *symbol-now* is defined in helper.scm
symbol_now_binding = s48_get_imported_binding("*symbol-now*");
S48_EXPORT_FUNCTION(scx_Xlib_Release_4_Or_Later);
S48_EXPORT_FUNCTION(scx_Xlib_Release_5_Or_Later);
S48_EXPORT_FUNCTION(scx_Xlib_Release_6_Or_Later);
}
//#if defined(XLIB_RELEASE_5_OR_LATER) && (defined(sun) || defined(__sun__)) &&\
// defined(__svr4__)
/*
* Stub interface to dynamic linker routines
* that SunOS uses but didn't ship with 4.1.
*
* The C library routine wcstombs in SunOS 4.1 tries to dynamically
* load some routines using the dlsym interface, described in dlsym(3x).
* Unfortunately SunOS 4.1 does not include the necessary library, libdl.
*/
//void *dlopen() { return 0; }
//void *dlsym() { return 0; }
//int dlclose() { return -1; }
//#endif