aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/libstdc++-v3/src/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/libstdc++-v3/src/Makefile.am')
-rw-r--r--gcc-4.9/libstdc++-v3/src/Makefile.am66
1 files changed, 58 insertions, 8 deletions
diff --git a/gcc-4.9/libstdc++-v3/src/Makefile.am b/gcc-4.9/libstdc++-v3/src/Makefile.am
index 7f58ce432..e1f6956ac 100644
--- a/gcc-4.9/libstdc++-v3/src/Makefile.am
+++ b/gcc-4.9/libstdc++-v3/src/Makefile.am
@@ -25,7 +25,11 @@ include $(top_srcdir)/fragment.am
SUBDIRS = c++98 c++11
# Cross compiler support.
-toolexeclib_LTLIBRARIES = libstdc++.la
+if ENABLE_BIONIC_LIBS
+ toolexeclib_LTLIBRARIES = libgnustl_shared.la
+else
+ toolexeclib_LTLIBRARIES = libstdc++.la
+endif
vpath % $(top_srcdir)/src/c++98
vpath % $(top_srcdir)/src/c++11
@@ -54,24 +58,45 @@ cxx11_sources = \
compatibility-chrono.cc \
compatibility-condvar.cc
-libstdc___la_SOURCES = $(cxx98_sources) $(cxx11_sources)
+if ENABLE_BIONIC_LIBS
+ libgnustl_shared_la_SOURCES = $(cxx98_sources) $(cxx11_sources)
+
+ libgnustl_shared_la_LIBADD = \
+ $(GLIBCXX_LIBS) \
+ $(top_builddir)/libsupc++/libsupc++convenience.la \
+ $(top_builddir)/src/c++98/libc++98convenience.la \
+ $(top_builddir)/src/c++11/libc++11convenience.la
+
+ libgnustl_shared_la_DEPENDENCIES = \
+ ${version_dep} \
+ $(top_builddir)/libsupc++/libsupc++convenience.la \
+ $(top_builddir)/src/c++98/libc++98convenience.la \
+ $(top_builddir)/src/c++11/libc++11convenience.la
+
+ libgnustl_shared_la_LDFLAGS = \
+ ${libtool_version_info_string} ${version_arg} -lm
+
+ libgnustl_shared_la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
+else
+ libstdc___la_SOURCES = $(cxx98_sources) $(cxx11_sources)
-libstdc___la_LIBADD = \
+ libstdc___la_LIBADD = \
$(GLIBCXX_LIBS) \
$(top_builddir)/libsupc++/libsupc++convenience.la \
$(top_builddir)/src/c++98/libc++98convenience.la \
$(top_builddir)/src/c++11/libc++11convenience.la
-libstdc___la_DEPENDENCIES = \
+ libstdc___la_DEPENDENCIES = \
${version_dep} \
$(top_builddir)/libsupc++/libsupc++convenience.la \
$(top_builddir)/src/c++98/libc++98convenience.la \
$(top_builddir)/src/c++11/libc++11convenience.la
-libstdc___la_LDFLAGS = \
+ libstdc___la_LDFLAGS = \
${libtool_version_info_string} ${version_arg} -lm
-libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
+ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
+endif
# Use special rules for compatibility-ldbl.cc compilation, as we need to
# pass -mlong-double-64.
@@ -222,7 +247,19 @@ 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 \
+ if ENABLE_BIONIC_LIBS
+ libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
+ $(toplevel_srcdir)/contrib/make_sunver.pl \
+ $(libgnustl_shared_la_OBJECTS) $(libgnustl_shared_la_LIBADD)
+ CXXFILT="$(CXXFILT)"; export CXXFILT; \
+ perl $(toplevel_srcdir)/contrib/make_sunver.pl \
+ libstdc++-symbols.ver \
+ $(libgnustl_shared_la_OBJECTS:%.lo=.libs/%.o) \
+ `echo $(libgnustl_shared_la_LIBADD) | \
+ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
+ > $@ || (rm -f $@ ; exit 1)
+ else
+ libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
$(toplevel_srcdir)/contrib/make_sunver.pl \
$(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
CXXFILT="$(CXXFILT)"; export CXXFILT; \
@@ -232,11 +269,23 @@ libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
`echo $(libstdc___la_LIBADD) | \
sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
> $@ || (rm -f $@ ; exit 1)
+ endif
endif
if ENABLE_SYMVERS_DARWIN
version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist
version_dep = libstdc++-symbols.explist
-libstdc++-symbols.explist : libstdc++-symbols.ver \
+ if ENABLE_BIONIC_LIBS
+ libstdc++-symbols.explist : libstdc++-symbols.ver \
+ ${glibcxx_srcdir}/scripts/make_exports.pl \
+ $(libgnustl_shared_la_OBJECTS) $(libgnustl_shared_la_LIBADD)
+ perl ${glibcxx_srcdir}/scripts/make_exports.pl \
+ libstdc++-symbols.ver \
+ $(libgnustl_shared_la_OBJECTS:%.lo=.libs/%.o) \
+ `echo $(libgnustl_shared_la_LIBADD) | \
+ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
+ > $@ || (rm -f $@ ; exit 1)
+ else
+ libstdc++-symbols.explist : libstdc++-symbols.ver \
${glibcxx_srcdir}/scripts/make_exports.pl \
$(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
perl ${glibcxx_srcdir}/scripts/make_exports.pl \
@@ -245,6 +294,7 @@ libstdc++-symbols.explist : libstdc++-symbols.ver \
`echo $(libstdc___la_LIBADD) | \
sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
> $@ || (rm -f $@ ; exit 1)
+ endif
endif
CLEANFILES += $(version_dep)