diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-11-29 23:08:25 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-11-29 23:08:25 +0000 |
commit | 95fc20b5dffb8eb6fe11b53d72d7e6750e86fa49 (patch) | |
tree | 529d11c6baa59be9a8c86374cdec5cabfa570150 /configure.ac | |
parent | 7bb97d7258303c5ac228222baccb6bffe3c55f50 (diff) |
Fix for hidden symbols in library on Mac. It's a strange issue to do with
explicit template instantiation rules, -fvisibility=hidden, and the way that
Apple distributes libstdc++.
(this commit was certified error- and warning-free by the test-and-commit script.)
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 70351681b..e8be43fc1 100644 --- a/configure.ac +++ b/configure.ac @@ -751,6 +751,15 @@ AC_SUBST([WNO_UNINITIALIZED]) AC_SUBST([WNO_UNUSED_VARIABLE]) AC_SUBST([FNO_STRICT_ALIASING]) +# On Mac, we have to fix the visibility of standard library symbols. +# Otherwise, exported template instantiations---even though explicitly +# CVC4_PUBLIC, can be generated as symbols with internal-only linkage. +# Presumably, Apple is distributing a libstdc++ that is built *without* +# --enable-libstdcxx-visibility (?) +if test "$target_vendor" = apple; then + CVC4CPPFLAGS="${CVC4CPPFLAGS:+$CVC4CPPFLAGS }-D_GLIBCXX_VISIBILITY_DEFAULT=\"__attribute__((__visibility__(\\\"default\\\")))\"" +fi + # Doxygen configuration AC_ARG_ENABLE([internals-documentation], [AS_HELP_STRING([--enable-internals-documentation], |