patches/gcc/4.3.4/190-libstdc++-pic.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:26:53 2011 +0200 (2011-08-02)
changeset 2592 4908eb2b6f17
permissions -rw-r--r--
scripts/functions: cvs retrieval first tries the mirror for tarballs

The cvs download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via cvs.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard cvs retrieval will kick in.

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