diff options
author | M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> | 2009-09-13 17:35:29 -0600 |
---|---|---|
committer | M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> | 2009-09-14 13:32:18 +0300 |
commit | cf0fed2191c2b5ebce8855def1dd302ccf8e039a (patch) | |
tree | 9df818069ca795df41ec28c252b60e8e76811e2c | |
parent | 1c7ac6c47addd6825c4f49f514fe3ffb708e3813 (diff) |
[build] Check for dlsym in both libdl and libc.
The BSDs have dlsym() in libc rather than libdl.
-rw-r--r-- | boilerplate/cairo-boilerplate.c | 4 | ||||
-rw-r--r-- | configure.ac | 12 | ||||
-rw-r--r-- | util/cairo-trace/Makefile.am | 6 |
3 files changed, 14 insertions, 8 deletions
diff --git a/boilerplate/cairo-boilerplate.c b/boilerplate/cairo-boilerplate.c index 46bb0574..1414699c 100644 --- a/boilerplate/cairo-boilerplate.c +++ b/boilerplate/cairo-boilerplate.c @@ -45,7 +45,7 @@ #include <assert.h> #include <errno.h> -#if HAVE_DL +#if HAVE_DLFCN_H #include <dlfcn.h> #endif @@ -349,7 +349,7 @@ probe_target (const cairo_boilerplate_target_t *target) if (target->probe == NULL) return TRUE; -#if HAVE_DL +#if HAVE_DLSYM return dlsym (NULL, target->probe) != NULL; #else return TRUE; diff --git a/configure.ac b/configure.ac index d2c1231a..c38d2c49 100644 --- a/configure.ac +++ b/configure.ac @@ -37,10 +37,12 @@ AC_CHECK_LIB(z, compress, [have_libz="no (requires zlib http://www.gzip.org/zlib/)"]) AC_CHECK_LIB(dl, dlsym, - [AC_CHECK_HEADER(dlfcn.h, [ - have_dl=yes - AC_DEFINE(HAVE_DL, 1, [Define to 1 if you have dl available]) - ], [have_dl=no])], [have_dl=no]) + [have_dlsym=yes; have_dl=yes], + [have_dlsym=no; have_dl=no]) +if test "x$have_dlsym" = "xno"; then + AC_CHECK_FUNC(dlsym, [have_dlsym=yes], [have_dlsym=no]) +fi +AC_CHECK_HEADERS(dlfcn.h, [have_dlsym=yes], [have_dlsym=no]) AM_CONDITIONAL(CAIRO_HAS_DL, test "x$have_dl" = "xyes") dnl =========================================================================== @@ -659,7 +661,7 @@ esac CAIRO_ENABLE(trace, cairo-trace, auto, [ if test "x$have_ld_preload" != "xyes" -o \ "x$have_libz" != "xyes" -o \ - "x$have_dl" != "xyes"; then + "x$have_dlsym" != "xyes"; then use_trace="no (requires dynamic linker and zlib)" fi ]) diff --git a/util/cairo-trace/Makefile.am b/util/cairo-trace/Makefile.am index 7e2f66e6..814a0f00 100644 --- a/util/cairo-trace/Makefile.am +++ b/util/cairo-trace/Makefile.am @@ -12,7 +12,11 @@ cairo_trace_la_CPPFLAGS = -DCAIRO_TRACE_OUTDIR="\"$(cairooutdir)\"" \ $(AM_CPPFLAGS) cairo_trace_la_CFLAGS = $(CAIRO_CFLAGS) cairo_trace_la_LDFLAGS = -module -no-undefined -cairo_trace_la_LIBADD = -ldl -lz + +cairo_trace_la_LIBADD = -lz +if CAIRO_HAS_DL +cairo_trace_la_LIBADD += -ldl +endif if CAIRO_HAS_SYMBOL_LOOKUP cairo_trace_la_SOURCES += \ |