* Now works on Darwin!
This commit is contained in:
+1
-1
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user