From 43edb4dd7b8d0614a6c2be15dfa72f980dd55f1d Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 12 Dec 2008 18:10:58 +0000 Subject: [PATCH] Fix compilation with gcov We need to add --coverage to LDFLAGS, so create CAIRO_LDFLAGS and use that to populate AM_LDFLAGS. --- boilerplate/Makefile.am | 1 + build/configure.ac.analysis | 6 +++++- build/configure.ac.features | 1 + src/Makefile.am | 3 ++- test/Makefile.am | 17 +++++++++-------- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/boilerplate/Makefile.am b/boilerplate/Makefile.am index 70911acf0..386d592db 100644 --- a/boilerplate/Makefile.am +++ b/boilerplate/Makefile.am @@ -12,6 +12,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src \ $(CAIRO_CFLAGS) \ $(NULL) +AM_LDFLAGS = $(CAIRO_LDFLAGS) EXTRA_LTLIBRARIES += libcairoboilerplate.la diff --git a/build/configure.ac.analysis b/build/configure.ac.analysis index 7b28d701f..49928a565 100644 --- a/build/configure.ac.analysis +++ b/build/configure.ac.analysis @@ -72,7 +72,11 @@ dnl PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.gcov, $abs_srcdir) dnl In order to workaround a debian bug in libtool where they strip dnl $dependency_libs from the link line and CFLAGS, we need to pass dnl --coverage via LDFLAGS. - CAIRO_CC_TRY_FLAG([--coverage], [CAIRO_CFLAGS="$CAIRO_CFLAGS -O0 --coverage"]) + CAIRO_CC_TRY_FLAG([--coverage], + [ + CAIRO_CFLAGS="$CAIRO_CFLAGS -O0 --coverage" + CAIRO_LDFLAGS="$CAIRO_LDFLAGS -O0 --coverage" + ]) fi AM_CONDITIONAL(CAIRO_HAS_LCOV, test "x$cairo_has_lcov" = "xyes") diff --git a/build/configure.ac.features b/build/configure.ac.features index 71738083f..a7311c18d 100644 --- a/build/configure.ac.features +++ b/build/configure.ac.features @@ -143,6 +143,7 @@ CAIRO_ACCUMULATED_FEATURE_VARS_REGISTER([CFLAGS NONPKGCONFIG_CFLAGS],,[ ])dnl CAIRO_ACCUMULATED_FEATURE_VARS_REGISTER([LIBS NONPKGCONFIG_LIBS],,[ ],[$LIBS])dnl AC_SUBST(CAIRO_REQUIRES)dnl AC_SUBST(CAIRO_CFLAGS)dnl +AC_SUBST(CAIRO_LDFLAGS)dnl AC_SUBST(CAIRO_NONPKGCONFIG_CFLAGS)dnl AC_SUBST(CAIRO_LIBS)dnl AC_SUBST(CAIRO_NONPKGCONFIG_LIBS)dnl diff --git a/src/Makefile.am b/src/Makefile.am index b09fadf40..79d845088 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -7,6 +7,7 @@ EXTRA_DIST += Makefile.win32 Makefile.win32.features MAINTAINERCLEANFILES += $(srcdir)/Makefile.win32.features AM_CPPFLAGS = -I$(srcdir) $(CAIRO_CFLAGS) +AM_LDFLAGS = $(CAIRO_LDFLAGS) if OS_WIN32 export_symbols = -export-symbols cairo.def @@ -29,7 +30,7 @@ libcairo_la_SOURCES = \ $(enabled_cairo_private) \ $(enabled_cairo_sources) \ $(NULL) -libcairo_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) +libcairo_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) libcairo_la_LIBADD = $(CAIRO_LIBS) libcairo_la_DEPENDENCIES = $(cairo_def_dependency) diff --git a/test/Makefile.am b/test/Makefile.am index 40a484386..db26762b5 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1149,6 +1149,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_builddir)/src \ $(CAIRO_CFLAGS) +AM_LDFLAGS = $(CAIRO_LDFLAGS) $(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo.la cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la @@ -1177,33 +1178,33 @@ png_flatten_LDADD = $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) if BUILD_ANY2PPM check_PROGRAMS += any2ppm -any2ppm_CFLAGS = $(POPPLER_CFLAGS) $(LIBRSVG_CFLAGS) $(LIBSPECTRE_CFLAGS) +any2ppm_CFLAGS = $(AM_CFLAGS) $(POPPLER_CFLAGS) $(LIBRSVG_CFLAGS) $(LIBSPECTRE_CFLAGS) # add LDADD, so poppler/librsvg uses "our" cairo -any2ppm_LDFLAGS = $(CAIRO_TEST_UNDEFINED_LDFLAGS) +any2ppm_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS) any2ppm_LDADD = $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) $(POPPLER_LIBS) $(LIBRSVG_LIBS) $(LIBSPECTRE_LIBS) endif if CAIRO_CAN_TEST_PDF_SURFACE check_PROGRAMS += pdf2png -pdf2png_CFLAGS = $(POPPLER_CFLAGS) +pdf2png_CFLAGS = $(AM_CFLAGS) $(POPPLER_CFLAGS) # add LDADD, so poppler uses "our" cairo -pdf2png_LDFLAGS = $(CAIRO_TEST_UNDEFINED_LDFLAGS) +pdf2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS) pdf2png_LDADD = $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) $(POPPLER_LIBS) endif if CAIRO_CAN_TEST_SVG_SURFACE check_PROGRAMS += svg2png -svg2png_CFLAGS = $(LIBRSVG_CFLAGS) +svg2png_CFLAGS = $(AM_CFLAGS) $(LIBRSVG_CFLAGS) # add LDADD, so librsvg uses "our" cairo -svg2png_LDFLAGS = $(CAIRO_TEST_UNDEFINED_LDFLAGS) +svg2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS) svg2png_LDADD = $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) $(LIBRSVG_LIBS) endif if CAIRO_HAS_SPECTRE check_PROGRAMS += ps2png -ps2png_CFLAGS = $(LIBSPECTRE_CFLAGS) +ps2png_CFLAGS = $(AM_CFLAGS) $(LIBSPECTRE_CFLAGS) # add LDADD, so ps2png uses "our" cairo -ps2png_LDFLAGS = $(CAIRO_TEST_UNDEFINED_LDFLAGS) +ps2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS) ps2png_LDADD = $(top_builddir)/src/libcairo.la $(CAIRO_LDADD) $(LIBSPECTRE_LIBS) endif