summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/cairo-trace/cairo-trace.in17
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