diff options
Diffstat (limited to 'dln.c')
-rw-r--r-- | dln.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -91,6 +91,8 @@ char *getenv(); int eaccess(); +#ifndef NO_DLN_LOAD + #if defined(HAVE_DLOPEN) && !defined(USE_DLN_A_OUT) && !defined(_AIX) && !defined(__APPLE__) && !defined(_UNICOSMP) /* dynamic load with dlopen() */ # define USE_DLN_DLOPEN @@ -1274,10 +1276,16 @@ static int vms_fileact(char *filespec, int type); static long vms_fisexh(long *sigarr, long *mecarr); #endif +#endif /* NO_DLN_LOAD */ + void* dln_load(file) const char *file; { +#ifdef NO_DLN_LOAD + rb_raise(rb_eLoadError, "this executable file can't load extension libraries"); +#else + #if !defined(_AIX) && !defined(NeXT) const char *error = 0; #define DLN_ERROR() (error = dln_strerror(), strcpy(ALLOCA_N(char, strlen(error) + 1), error)) @@ -1633,6 +1641,8 @@ dln_load(file) failed: rb_loaderror("%s - %s", error, file); #endif + +#endif /* NO_DLN_LOAD */ return 0; /* dummy return */ } |