patches/gcc/4.3.4/190-libstdc++-pic.patch
author Remy Bohmer <linux@bohmer.net>
Thu May 27 23:18:19 2010 +0200 (2010-05-27)
changeset 2060 51e4597b07fc
permissions -rw-r--r--
scripts: add option to strip all toolchain executables

To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
thomas@1461
     1
Original patch from: ../4.3.2/190-libstdc++-pic.patch
thomas@1461
     2
thomas@1461
     3
-= BEGIN original header =-
thomas@1461
     4
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/54_all_300-libstdc++-pic.patch
thomas@1461
     5
install libstdc++_pic.a if we have pic objs
thomas@1461
     6
thomas@1461
     7
-= END original header =-
thomas@1461
     8
thomas@1461
     9
diff -durN gcc-4.3.3.orig/libstdc++-v3/src/Makefile.am gcc-4.3.3/libstdc++-v3/src/Makefile.am
thomas@1461
    10
--- gcc-4.3.3.orig/libstdc++-v3/src/Makefile.am	2008-02-29 19:26:50.000000000 +0100
thomas@1461
    11
+++ gcc-4.3.3/libstdc++-v3/src/Makefile.am	2009-01-27 22:19:34.000000000 +0100
thomas@1461
    12
@@ -289,6 +289,13 @@
thomas@1461
    13
 	  $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
thomas@1461
    14
 
thomas@1461
    15
 
thomas@1461
    16
+install-exec-local:
thomas@1461
    17
+	pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
thomas@1461
    18
+	if [ x"$$pic_objs" != x ]; then \
thomas@1461
    19
+		$(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
thomas@1461
    20
+		$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
thomas@1461
    21
+	fi
thomas@1461
    22
+
thomas@1461
    23
 # Added bits to build debug library.
thomas@1461
    24
 if GLIBCXX_BUILD_DEBUG
thomas@1461
    25
 all-local: build_debug
thomas@1461
    26
diff -durN gcc-4.3.3.orig/libstdc++-v3/src/Makefile.in gcc-4.3.3/libstdc++-v3/src/Makefile.in
thomas@1461
    27
--- gcc-4.3.3.orig/libstdc++-v3/src/Makefile.in	2008-02-29 19:26:50.000000000 +0100
thomas@1461
    28
+++ gcc-4.3.3/libstdc++-v3/src/Makefile.in	2009-01-27 22:19:34.000000000 +0100
thomas@1461
    29
@@ -693,7 +693,7 @@
thomas@1461
    30
 
thomas@1461
    31
 install-data-am: install-data-local
thomas@1461
    32
 
thomas@1461
    33
-install-exec-am: install-toolexeclibLTLIBRARIES
thomas@1461
    34
+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
thomas@1461
    35
 
thomas@1461
    36
 install-info: install-info-am
thomas@1461
    37
 
thomas@1461
    38
@@ -732,7 +732,7 @@
thomas@1461
    39
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
thomas@1461
    40
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
thomas@1461
    41
 	tags uninstall uninstall-am uninstall-info-am \
thomas@1461
    42
-	uninstall-toolexeclibLTLIBRARIES
thomas@1461
    43
+	uninstall-toolexeclibLTLIBRARIES install-exec-local
thomas@1461
    44
 
thomas@1461
    45
 
thomas@1461
    46
 # Symbol versioning for shared libraries.
thomas@1461
    47
@@ -858,6 +858,14 @@
thomas@1461
    48
 install_debug:
thomas@1461
    49
 	(cd ${debugdir} && $(MAKE) \
thomas@1461
    50
 	toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
thomas@1461
    51
+
thomas@1461
    52
+install-exec-local:
thomas@1461
    53
+	pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
thomas@1461
    54
+	if [ x"$$pic_objs" != x ]; then \
thomas@1461
    55
+		$(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
thomas@1461
    56
+		$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
thomas@1461
    57
+	fi
thomas@1461
    58
+
thomas@1461
    59
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
thomas@1461
    60
 # Otherwise a system limit (for SysV at least) may be exceeded.
thomas@1461
    61
 .NOEXPORT: