patches/gcc/4.3.4/190-libstdc++-pic.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Aug 19 00:52:05 2011 +0200 (2011-08-19)
branch1.12
changeset 2633 22e779b0a4ed
permissions -rw-r--r--
scripts: simplify and fix the toolchain config script

The script that is installed, and which sole purpose is to dump
the .config that was used to build the toolchain, is pure insanity.

Let's make it much, much more simpler...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 814ea73df7e0fab3db1cbe7623932714359c732b)
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: