aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/src/Makefile.am')
-rw-r--r--libstdc++-v3/src/Makefile.am26
1 files changed, 26 insertions, 0 deletions
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index 1cf9030d332..5499bd2f0ed 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -45,14 +45,38 @@ libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \
fi; \
fi
+CLEANFILES = libstdc++-symbols.ver
+
if ENABLE_SYMVERS_GNU
+if ENABLE_SYMVERS_SOL2
+version_arg = -Wl,--version-script,libstdc++-symbols.ver-sol2
+version_dep = libstdc++-symbols.ver-sol2
+libstdc++-symbols.ver-sol2 : libstdc++-symbols.ver
+ sed -e '/^#ifdef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT/,/^#endif/d' $< \
+ > $@ || (rm -f $@ ; exit 1)
+else
version_arg = -Wl,--version-script=libstdc++-symbols.ver
version_dep = libstdc++-symbols.ver
endif
+endif
if ENABLE_SYMVERS_GNU_NAMESPACE
version_arg = -Wl,--version-script=libstdc++-symbols.ver
version_dep = libstdc++-symbols.ver
endif
+if ENABLE_SYMVERS_SUN
+version_arg = -Wl,-M,libstdc++-symbols.ver-sun
+version_dep = libstdc++-symbols.ver-sun
+libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
+ $(toplevel_srcdir)/contrib/make_sunver.pl \
+ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
+ CXXFILT="$(CXXFILT)"; export CXXFILT; \
+ perl $(toplevel_srcdir)/contrib/make_sunver.pl \
+ libstdc++-symbols.ver \
+ $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
+ `echo $(libstdc___la_LIBADD) | \
+ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
+ > $@ || (rm -f $@ ; exit 1)
+endif
if ENABLE_SYMVERS_DARWIN
version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist
version_dep = libstdc++-symbols.explist
@@ -66,6 +90,8 @@ libstdc++-symbols.explist : libstdc++-symbols.ver \
sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
> $@ || (rm -f $@ ; exit 1)
endif
+
+CLEANFILES += $(version_dep)
else
version_arg =
version_dep =