diff options
Diffstat (limited to 'libstdc++-v3/libsupc++/Makefile.am')
-rw-r--r-- | libstdc++-v3/libsupc++/Makefile.am | 58 |
1 files changed, 40 insertions, 18 deletions
diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am index d80defd1674..6c475ae3aae 100644 --- a/libstdc++-v3/libsupc++/Makefile.am +++ b/libstdc++-v3/libsupc++/Makefile.am @@ -27,6 +27,7 @@ MAINT_CHARSET = latin1 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs # Cross compiler and multilib support. +CXX = @glibcpp_CXX@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ @@ -51,7 +52,7 @@ CONFIG_CXXFLAGS = \ # Warning flags to use. WARN_CXXFLAGS = \ - @WARN_FLAGS@ $(WERROR) @WFMT_FLAGS@ + @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES GLIBCPP_INCLUDE_DIR = @GLIBCPP_INCLUDE_DIR@ @@ -68,14 +69,21 @@ INCLUDES = \ $(LIBSUPCXX_INCLUDES) headers = \ - cxxabi.h exception new typeinfo + exception new typeinfo cxxabi.h exception_defines.h sources = \ del_op.cc \ del_opnt.cc \ del_opv.cc \ del_opvnt.cc \ - exception_support.cc \ + eh_alloc.cc \ + eh_aux_runtime.cc \ + eh_catch.cc \ + eh_exception.cc \ + eh_globals.cc \ + eh_personality.cc \ + eh_terminate.cc \ + eh_throw.cc \ new_handler.cc \ new_op.cc \ new_opnt.cc \ @@ -92,9 +100,7 @@ libsupc__convenience_la_SOURCES = $(sources) glibcppinstalldir = @gxx_include_dir@ glibcppinstall_HEADERS = $(headers) -# Flags to force separate libtool library to be static only. -LIBTOOL = @LIBTOOL@ --tag disable-shared -LIBSUPCXX_CXXFLAGS = -prefer-pic +LIBSUPCXX_CXXFLAGS = $(LIBSUPCXX_PICFLAGS) # AM_CXXFLAGS needs to be in each subdirectory so that it can be # modified in a per-library or per-sub-library way. Need to manually @@ -133,15 +139,31 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \ --mode=compile $(CXX) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) -# 3) We have a problem when building the shared libstdc++ object if -# the rules automake generates would be used. We cannot allow CXX to -# be used in libtool since this would add -lstdc++ to the link line -# which of course is problematic at this point. -CXXLINK = $(LIBTOOL) --mode=link "$(CC)" \ - @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ - - - - - - +# 3) We'd have a problem when building the shared libstdc++ object if +# the rules automake generates would be used. We cannot allow g++ to +# be used since this would add -lstdc++ to the link line which of +# course is problematic at this point. So, we get the top-level +# directory to configure libstdc++-v3 to use gcc as the C++ +# compilation driver. +CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared \ + --mode=link $(CXX) \ + @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ + +# We have to have rules modified from the default to counteract SUN make +# prepending each of $(glibcppinstall_HEADERS) with VPATH below. +install-glibcppinstallHEADERS: $(glibcppinstall_HEADERS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(glibcppinstalldir) + @list='$(glibcppinstall_HEADERS)'; for p in $$list; do \ + q=`echo $$p | sed -e 's,.*/,,'`; \ + if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ + echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(glibcppinstalldir)/$$q"; \ + $(INSTALL_DATA) $$d$$p $(DESTDIR)$(glibcppinstalldir)/$$q; \ + done + +uninstall-glibcppinstallHEADERS: + @$(NORMAL_UNINSTALL) + list='$(glibcppinstall_HEADERS)'; for p in $$list; do \ + q=`echo $$p | sed -e 's,.*/,,'`; \ + rm -f $(DESTDIR)$(glibcppinstalldir)/$$q; \ + done |