diff options
-rw-r--r-- | util/cairo-trace/cairo-trace.in | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/util/cairo-trace/cairo-trace.in b/util/cairo-trace/cairo-trace.in index f2a5b8f5..fc830bf7 100644 --- a/util/cairo-trace/cairo-trace.in +++ b/util/cairo-trace/cairo-trace.in @@ -88,7 +88,22 @@ fi CAIRO_TRACE_PROG_NAME="$1" export CAIRO_TRACE_PROG_NAME -LD_PRELOAD=@libdir@/cairo/cairo-trace.so +if test "x$CAIRO_TRACE_SO" = "x"; then + CAIRO_TRACE_SO="" + for lib in @libdir@/cairo/cairo-trace.so @libdir@/cairo/cairo-trace.so*; do + if test -h "$lib" -o -f "$lib"; then + CAIRO_TRACE_SO="$lib" + break + fi + done +fi +if test "x$CAIRO_TRACE_SO" = "x"; then + echo "Could not find the cairo-trace shared library in @libdir@/cairo/." >&2 + echo "Set the CAIRO_TRACE_SO environment variable to the full path of the library." >&2 + exit 15 +fi + +LD_PRELOAD="$CAIRO_TRACE_SO" export LD_PRELOAD if test -n "$nocallers"; then |