* Now works on Darwin!

This commit is contained in:
Sam Hocevar
2007-01-03 17:57:52 +00:00
committed by sam
parent 3d186e036a
commit c8af1823d9
2 changed files with 9 additions and 7 deletions
+1 -1
View File
@@ -7,6 +7,6 @@ pkglib_LTLIBRARIES = libzzuf.la
libzzuf_la_SOURCES = libzzuf.c libzzuf.h fuzz.c fuzz.h debug.c debug.h \
load-fd.c load-signal.c load-stream.c load.h \
random.c random.h
libzzuf_la_LDFLAGS = -module -avoid-version -no-undefined
libzzuf_la_LDFLAGS = -avoid-version -no-undefined
libzzuf_la_LIBADD = -ldl
+8 -6
View File
@@ -488,20 +488,22 @@ static void set_environment(char const *progpath)
char *libpath, *tmp;
int len = strlen(progpath);
#ifdef __APPLE__
char const *preload = "DYLD_INSERT_LIBRARIES";
# define FILENAME "libzzuf.dylib"
# define PRELOAD "DYLD_INSERT_LIBRARIES"
setenv("DYLD_FORCE_FLAT_NAMESPACE", "1", 1);
#else
char const *preload = "LD_PRELOAD";
# define FILENAME "libzzuf.so"
# define PRELOAD "LD_PRELOAD"
#endif
libpath = malloc(len + strlen("/.libs/libzzuf.so") + 1);
libpath = malloc(len + strlen("/.libs/" FILENAME) + 1);
strcpy(libpath, progpath);
tmp = strrchr(libpath, '/');
strcpy(tmp ? tmp + 1 : libpath, ".libs/libzzuf.so");
strcpy(tmp ? tmp + 1 : libpath, ".libs/" FILENAME);
if(access(libpath, R_OK) == 0)
setenv(preload, libpath, 1);
setenv(PRELOAD, libpath, 1);
else
setenv(preload, LIBDIR "/libzzuf.so", 1);
setenv(PRELOAD, LIBDIR "/" FILENAME, 1);
free(libpath);
}