X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ee65598f95309d64d69cfb4dd4191b3f567551fb..f11bdd03b9623a61bfe3137beeefd7b1256bb9a1:/src/unix/dl_macosx.cpp?ds=sidebyside diff --git a/src/unix/dl_macosx.cpp b/src/unix/dl_macosx.cpp deleted file mode 100644 index b2384b8459..0000000000 --- a/src/unix/dl_macosx.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* dl_macosx.c - * - * Platform: Mac OS X - * Author: Gilles Depeyrot (Gilles.Depeyrot@wanadoo.fr) - * Based on: dl_next.xs by Anno Siegel (siegel@zrz.TU-Berlin.DE) - * Based on: dl_dlopen.xs by Paul Marquess - * Created: Aug 15th, 1994 - * - */ - -/* Porting notes: - * dl_macosx.c is itself a port from dl_next.xs by Anno Siegel. - * dl_next.xs is itself a port from dl_dlopen.xs by Paul Marquess. - * The method used here is just to supply the sun style dlopen etc. - * functions in terms of NeXTs rld_*. - */ - -#include - -static char dl_last_error[1024]; - -char *dlerror() -{ - return dl_last_error; -} - -int dlclose(void *handle) /* stub only */ -{ - return 0; -} - -extern "C" { - #import -}; - -enum dyldErrorSource -{ - OFImage, -}; - -static -void TranslateError(const char *path, enum dyldErrorSource type, int number) -{ - unsigned int index; - static char *OFIErrorStrings[] = - { - "%s(%d): Object Image Load Failure\n", - "%s(%d): Object Image Load Success\n", - "%s(%d): Not an recognisable object file\n", - "%s(%d): No valid architecture\n", - "%s(%d): Object image has an invalid format\n", - "%s(%d): Invalid access (permissions?)\n", - "%s(%d): Unknown error code from NSCreateObjectFileImageFromFile\n", - }; -#define NUM_OFI_ERRORS (sizeof(OFIErrorStrings) / sizeof(OFIErrorStrings[0])) - - switch (type) - { - case OFImage: - index = number; - if (index > NUM_OFI_ERRORS - 1) - index = NUM_OFI_ERRORS - 1; - sprintf(dl_last_error, OFIErrorStrings[index], path, number); - break; - - default: - sprintf(dl_last_error, "%s(%d): Totally unknown error type %d\n", - path, number, type); - break; - } -} - -void *dlopen(const char *path, int mode /* mode is ignored */) -{ - int dyld_result; - NSObjectFileImage ofile; - NSModule handle = NULL; - - dyld_result = NSCreateObjectFileImageFromFile(path, &ofile); - if (dyld_result != NSObjectFileImageSuccess) - { - TranslateError(path, OFImage, dyld_result); - } - else - { - // NSLinkModule will cause the run to abort on any link error's - // not very friendly but the error recovery functionality is limited. - handle = NSLinkModule(ofile, path, TRUE); - } - - return handle; -} - -void *dlsym(void *handle, const char *symbol) -{ - void *addr; - - if (NSIsSymbolNameDefined(symbol)) - addr = NSAddressOfSymbol(NSLookupAndBindSymbol(symbol)); - else - addr = NULL; - - return addr; -}