patches/gcc/4.3.6/190-libstdc++-pic.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Jul 31 22:27:29 2012 +0200 (2012-07-31)
changeset 3018 7776e8369284
parent 2124 5dd0b83ae528
permissions -rw-r--r--
complibs/cloog: create missing m4 dir

Because we now patch configure.in and configure, the Makefile quicks
in a re-build rule as the source files are now more recent than the
bundled generated files, and that fails because the m4 directory
is missing, although on some systems where aclocal is not installed,
the re-build rule does nothing (except a warning).

Always create tht directory.

Reported-by: Per Arnold Blaasmo <per-arnold.blaasmo@atmel.com>
[Also thanks to Thomas De Schampheleire <patrickdepinguin@gmail.com>
for some digging works on this issue]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.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
yann@2124
     9
diff -durN gcc-4.3.5.orig/libstdc++-v3/src/Makefile.am gcc-4.3.5/libstdc++-v3/src/Makefile.am
yann@2124
    10
--- gcc-4.3.5.orig/libstdc++-v3/src/Makefile.am	2008-02-29 19:26:50.000000000 +0100
yann@2124
    11
+++ gcc-4.3.5/libstdc++-v3/src/Makefile.am	2010-09-19 18:58:40.000000000 +0200
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
yann@2124
    26
diff -durN gcc-4.3.5.orig/libstdc++-v3/src/Makefile.in gcc-4.3.5/libstdc++-v3/src/Makefile.in
yann@2124
    27
--- gcc-4.3.5.orig/libstdc++-v3/src/Makefile.in	2010-05-06 19:19:46.000000000 +0200
yann@2124
    28
+++ gcc-4.3.5/libstdc++-v3/src/Makefile.in	2010-09-19 19:01:43.000000000 +0200
yann@2124
    29
@@ -646,7 +646,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
 
yann@2124
    38
@@ -685,7 +685,7 @@
yann@2124
    39
 	mostlyclean mostlyclean-compile mostlyclean-generic \
yann@2124
    40
 	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
yann@2124
    41
 	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.
yann@2124
    47
@@ -811,6 +811,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: