From 607827292053aa25d0f0300add0798dd085a9131 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 15 Mar 2015 20:46:36 -0400 Subject: compiler building blocks: add support for custom build variables. feature detection: set a fallback value of 'yes' to modern assembler presence, PE dward support, libc-provided stack protector, and dynamic-loader header iteration. signed-off by Z. Gilboa; see copying.midipix (9cd0746c) for additional information. --- libstdc++-v3/Makefile.am | 6 ++++++ libstdc++-v3/Makefile.in | 6 ++++++ libstdc++-v3/configure | 7 +++++++ libstdc++-v3/configure.ac | 7 +++++++ libstdc++-v3/include/Makefile.in | 2 +- libstdc++-v3/libsupc++/Makefile.am | 2 +- libstdc++-v3/libsupc++/Makefile.in | 2 +- libstdc++-v3/src/Makefile.am | 2 +- libstdc++-v3/src/Makefile.in | 8 ++++---- 9 files changed, 34 insertions(+), 8 deletions(-) (limited to 'libstdc++-v3') diff --git a/libstdc++-v3/Makefile.am b/libstdc++-v3/Makefile.am index f1b5b0787..816af9f26 100644 --- a/libstdc++-v3/Makefile.am +++ b/libstdc++-v3/Makefile.am @@ -21,6 +21,12 @@ ## with this library; see the file COPYING3. If not see ## . + +# Compiler Building Blocks variables +cbb_xgcc_for_specs = @cbb_xgcc_for_specs@ +cbb_ldflags_for_target = @cbb_ldflags_for_target@ + + include $(top_srcdir)/fragment.am if GLIBCXX_HOSTED diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in index af62df5a6..a421ae0c0 100644 --- a/libstdc++-v3/Makefile.in +++ b/libstdc++-v3/Makefile.in @@ -13,6 +13,12 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. + +# Compiler Building Blocks variables +cbb_xgcc_for_specs = @cbb_xgcc_for_specs@ +cbb_ldflags_for_target = @cbb_ldflags_for_target@ + + @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 84b6ea94a..caea30bcf 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -68893,3 +68893,10 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi + +# Compiler Building Blocks variables +sed -i -e 's#@cbb_xgcc_for_specs@#'"$cbb_xgcc_for_specs"'#g' \ + -e 's#@cbb_ldflags_for_target@#'"$cbb_ldflags_for_target"'#g' \ + -e 's#@cbb_sysroot_for_libgcc@#'"$cbb_sysroot_for_libgcc"'#g' \ + Makefile || exit 2 + diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index 427cf0b88..c67b92354 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -458,3 +458,10 @@ AC_CONFIG_COMMANDS([generate-headers], dnl And this actually makes things happen: AC_OUTPUT + + +# Compiler Building Blocks variables +sed -i -e 's#@cbb_xgcc_for_specs@#'"$cbb_xgcc_for_specs"'#g' \ + -e 's#@cbb_ldflags_for_target@#'"$cbb_ldflags_for_target"'#g' \ + -e 's#@cbb_sysroot_for_libgcc@#'"$cbb_sysroot_for_libgcc"'#g' \ + Makefile || exit 2 diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 3f1abd3e1..f6747445b 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -1127,7 +1127,7 @@ pch_output_dirs = \ pch_output_anchors = \ ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor} -PCHFLAGS = -x c++-header -nostdinc++ $(CXXFLAGS) +PCHFLAGS = -x c++-header -nostdinc++ $(CXXFLAGS) -D_GNU_SOURCE @GLIBCXX_BUILD_PCH_FALSE@pch_build = @GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output} diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am index 701c2d9a7..9c0214373 100644 --- a/libstdc++-v3/libsupc++/Makefile.am +++ b/libstdc++-v3/libsupc++/Makefile.am @@ -165,7 +165,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) +LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) $(cbb_ldflags_for_target) # 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 diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in index 18ba84018..7f487597d 100644 --- a/libstdc++-v3/libsupc++/Makefile.in +++ b/libstdc++-v3/libsupc++/Makefile.in @@ -459,7 +459,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) +LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) $(cbb_ldflags_for_target) # 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 diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 9a3568551..c0f3c94cb 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -433,7 +433,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX \ $(CXX) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) -LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) +LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) $(cbb_ldflags_for_target) # 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 diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index b454f66dc..d85734bc6 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -125,7 +125,7 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = am__depfiles_maybe = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(script_xgcc_path_flags) CXXLD = $(CXX) SOURCES = $(libstdc___la_SOURCES) ETAGS = etags @@ -509,10 +509,10 @@ AM_CXXFLAGS = \ # attempt to infer which configuration to use LTCXXCOMPILE = $(LIBTOOL) --tag CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \ - $(CXX) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) + $(CXX) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) -D_GNU_SOURCE=1 \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(script_xgcc_path_flags) -LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) +LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) $(cbb_ldflags_for_target) # 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 -- cgit v1.2.3