[configure] --enable-symbol-lookup

There you go Joonas, I don't always ignore your suggestions! This is
simple patch to allow the user to disable symbol loops in case the
auto-detection fails on some obscure (perhaps OpenBSD) platform. Or in
case the user really wants to trim a few bytes from a library only used
during tracing!
This commit is contained in:
Chris Wilson 2009-09-13 10:52:14 +01:00
parent 556d064f4e
commit 6cb3ff9c19
7 changed files with 34 additions and 5 deletions

View file

@ -361,3 +361,10 @@ ifeq ($(CAIRO_HAS_INTERPRETER),1)
enabled_cairo_boilerplate_private += $(cairo_boilerplate_interpreter_private) $(cairo_boilerplate_interpreter_headers)
enabled_cairo_boilerplate_sources += $(cairo_boilerplate_interpreter_sources)
endif
all_cairo_boilerplate_private += $(cairo_boilerplate_symbol_lookup_private) $(cairo_boilerplate_symbol_lookup_headers)
all_cairo_boilerplate_sources += $(cairo_boilerplate_symbol_lookup_sources)
ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)
enabled_cairo_boilerplate_private += $(cairo_boilerplate_symbol_lookup_private) $(cairo_boilerplate_symbol_lookup_headers)
enabled_cairo_boilerplate_sources += $(cairo_boilerplate_symbol_lookup_sources)
endif

View file

@ -32,3 +32,4 @@ CAIRO_HAS_TEST_SURFACES=0
CAIRO_HAS_XML_SURFACE=1
CAIRO_HAS_TRACE=1
CAIRO_HAS_INTERPRETER=1
CAIRO_HAS_SYMBOL_LOOKUP=1

View file

@ -104,5 +104,8 @@ ifeq ($(CAIRO_HAS_TRACE),1)
endif
ifeq ($(CAIRO_HAS_INTERPRETER),1)
@echo "#define CAIRO_HAS_INTERPRETER 1" >> src/cairo-features.h
endif
ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)
@echo "#define CAIRO_HAS_SYMBOL_LOOKUP 1" >> src/cairo-features.h
endif
@echo "#endif" >> src/cairo-features.h

View file

@ -400,6 +400,7 @@ AC_DEFUN([CAIRO_REPORT],
echo "And the following internal features:"
echo " gtk-doc: $enable_gtk_doc"
echo " gcov support: $use_gcov"
echo " symbol-lookup: $use_symbol_lookup"
echo " test surfaces: $use_test_surfaces"
echo " ps testing: $test_ps"
echo " pdf testing: $test_pdf"

View file

@ -668,6 +668,12 @@ if test "x$have_bfd" = "xyes"; then
AC_SUBST(BFD_LIBS)
fi
CAIRO_ENABLE(symbol_lookup, symbol-lookup, yes, [
if test "x$have_bfd" != "xyes"; then
use_symbol_lookup="no (requires bfd)"
fi
])
PKG_CHECK_MODULES(glib, glib-2.0, have_glib=yes, have_glib=no)
AC_SUBST(glib_CFLAGS)
AC_SUBST(glib_LIBS)

View file

@ -479,3 +479,10 @@ ifeq ($(CAIRO_HAS_INTERPRETER),1)
enabled_cairo_private += $(cairo_interpreter_private) $(cairo_interpreter_headers)
enabled_cairo_sources += $(cairo_interpreter_sources)
endif
all_cairo_private += $(cairo_symbol_lookup_private) $(cairo_symbol_lookup_headers)
all_cairo_sources += $(cairo_symbol_lookup_sources)
ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)
enabled_cairo_private += $(cairo_symbol_lookup_private) $(cairo_symbol_lookup_headers)
enabled_cairo_sources += $(cairo_symbol_lookup_sources)
endif

View file

@ -7,15 +7,19 @@ cairolib_LTLIBRARIES = cairo-trace.la
AM_CPPFLAGS = -I$(top_srcdir)/src \
-I$(top_builddir)/src
cairo_trace_la_SOURCES = \
lookup-symbol.c \
lookup-symbol.h \
trace.c
cairo_trace_la_SOURCES = trace.c
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 $(BFD_LIBS)
cairo_trace_la_LIBADD = -ldl -lz
if CAIRO_HAS_SYMBOL_LOOKUP
cairo_trace_la_SOURCES += \
lookup-symbol.c \
lookup-symbol.h
cairo_trace_la_LIBADD += $(BFD_LIBS)
endif
system-install: install