From a4fb364a0058f701e4e25e799b5ddef511effd72 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Mon, 28 Nov 2011 18:05:14 +0100 Subject: [PATCH] Better fix for issue 1875: use -lsupc++ if required. --- config.make.in | 1 + configure.in | 16 +++++++++++++--- stepmake/stepmake/test-vars.make | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/config.make.in b/config.make.in index 93158d88f4..3ed8e53b05 100644 --- a/config.make.in +++ b/config.make.in @@ -25,6 +25,7 @@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ GUILE_LIBS = @GUILE_LDFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ PANGO_FT2_LIBS = @PANGO_FT2_LIBS@ +CXXABI_LIBS = @CXXABI_LIBS@ CONFIG_LIBS = @LIBS@ @EXTRA_LIBS@ $(GUILE_LIBS) $(PANGO_FT2_LIBS) $(FONTCONFIG_LIBS) $(FREETYPE2_LIBS) CONFIG_LDFLAGS = @LDFLAGS@ diff --git a/configure.in b/configure.in index 8dc4e5ca97..7a020d6e09 100644 --- a/configure.in +++ b/configure.in @@ -129,12 +129,22 @@ AC_CHECK_TYPES([scm_t_subr], CXXFLAGS="$save_CXXFLAGS" ## Check for usable cxxabi +save_LIBS="$LIBS" +LIBS="$LIBS $CXXABI_LIBS" AC_MSG_CHECKING(for usable C++ demangler) AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [abi::__cxa_demangle ("", 0, 0, 0)]);], + [abi::__cxa_demangle ("", 0, 0, 0)])], [AC_DEFINE(HAVE_CXA_DEMANGLE) -AC_MSG_RESULT(yes)], - [AC_MSG_RESULT([no, use c++filt -t for manual demangling])]) + AC_MSG_RESULT(yes)],[ + LIBS="$LIBS -lsupc++" + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [abi::__cxa_demangle ("", 0, 0, 0)])], + [AC_DEFINE(HAVE_CXA_DEMANGLE) + AC_MSG_RESULT([yes, using -lsupc++]) + CXXABI_LIBS="$CXXABI_LIBS -lsupc++"], + [AC_MSG_RESULT([no, use c++filt -t for manual demangling])])]) +LIBS="$save_LIBS" +AC_SUBST(CXXABI_LIBS) ## check rational bugfix. save_CPPFLAGS="$CPPFLAGS" diff --git a/stepmake/stepmake/test-vars.make b/stepmake/stepmake/test-vars.make index ffd57d480b..b7feb78a14 100644 --- a/stepmake/stepmake/test-vars.make +++ b/stepmake/stepmake/test-vars.make @@ -4,4 +4,4 @@ O_FILES := $(filter-out $(outdir)/test%, $(O_FILES)) TEST_EXECUTABLE = $(outdir)/test-$(NAME) TEST_MODULE_LIBES =$(addprefix $(outdir)/../, $(addsuffix /$(outbase)/library.a, $(TEST_MODULE_LIBS))) -TEST_LOADLIBES = $(TEST_MODULE_LIBES) $(LOADLIBES) +TEST_LOADLIBES = $(TEST_MODULE_LIBES) $(LOADLIBES) $(CXXABI_LIBS) -- 2.39.5