diff --git a/release/plugins/bmake b/release/plugins/bmake index eeee92bc2f2..50f274ef395 100644 --- a/release/plugins/bmake +++ b/release/plugins/bmake @@ -74,7 +74,7 @@ elif ( test $UNAME = "Darwin" ) then CC="cc"; CFLAGS="-fPIC -funsigned-char -O2 -fno-common"; LD="cc"; - LDFLAGS=" -bundle -bundle_loader ../../blender.app/Contents/MacOS/blender -lm"; + LDFLAGS="-flat_namespace -bundle -bundle_loader ../../blender.app/Contents/MacOS/blender -ldl -lm"; EXT="so"; fi diff --git a/source/blender/blenlib/intern/dynlib.c b/source/blender/blenlib/intern/dynlib.c index 4c6ab6ab616..77a01f310a6 100644 --- a/source/blender/blenlib/intern/dynlib.c +++ b/source/blender/blenlib/intern/dynlib.c @@ -102,62 +102,7 @@ void PIL_dynlib_close(PILdynlib *lib) { free(lib); } -#else -#ifdef __APPLE__ -#include - -struct PILdynlib { - NSModule *handle; -}; - -PILdynlib *PIL_dynlib_open(char *name) { - NSObjectFileImage img; - - PILdynlib *lib= malloc(sizeof(*lib)); - if (NSCreateObjectFileImageFromFile( name, &img) == - NSObjectFileImageSuccess) { - lib->handle = NSLinkModule( img, name, NSLINKMODULE_OPTION_BINDNOW); - NSDestroyObjectFileImage(img); - return lib; - } - free(lib); - return NULL; -} - -void *PIL_dynlib_find_symbol(PILdynlib* lib, char *symname) { - char *name; - NSSymbol cr; - int size; - - size = strlen(symname) + 2 * sizeof(char); - if (size < CHAR_MAX) { - name = MEM_mallocN(size, symname); - sprintf(&name, "_%s",symname); -printf("\nouchie name =%s\n",name); - cr = NSLookupSymbolInModule(lib->handle, name); - free(name); - return NSAddressOfSymbol(cr); - } - return NULL; -} - -char *PIL_dynlib_get_error_as_string(PILdynlib* lib) { - char *string; - int *errorNumber; - NSLinkEditErrors *c; - char *filename, *errorstr; - - NSLinkEditError(&c,&errorNumber,&filename,&errorstr); - sprintf(string,"%d :%s: %s",errorNumber,filename,errorstr); - return string; -} - -void PIL_dynlib_close(PILdynlib *lib) { - NSUnLinkModule(lib->handle,NSUNLINKMODULE_OPTION_NONE); - free(lib); -} - -#else /* Unix */ +#else /* Unix & MacOS X */ #include @@ -193,4 +138,3 @@ void PIL_dynlib_close(PILdynlib *lib) { } #endif -#endif