patches/gcc/4.3.1/130-cross-compile.patch
author Anthony Foiani <anthony.foiani@gmail.com>
Thu May 19 23:09:43 2011 +0200 (2011-05-19)
branch1.11
changeset 2465 5f98b7a90fbc
parent 746 b150d6f590fc
permissions -rw-r--r--
complibs/ppl: fix 0.11-0.11.2 to compile with --disable-shared

PPL 0.11 (through 0.11.2) had a small bug where it still tried to build
and test its Java interface even when shared libraries are disabled.
Since that's exactly what ct-ng does, it explodes.

This is the patch from the PPL authors (see final link below).

More information can be found in these messages/threads:

Anthony's initial report and analysis with Yann:
http://www.cygwin.com/ml/crossgcc/2011-05/msg00046.html

Ron Flory hit the same problem:
http://www.cygwin.com/ml/crossgcc/2011-05/msg00054.html

Anthony's report to the ppl-devel list:
http://www.cs.unipr.it/pipermail/ppl-devel/2011-May/017450.html

Roberto's reply with a link to the fix in the PPL git repo:
http://www.cs.unipr.it/pipermail/ppl-devel/2011-May/017455.html

Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
(transplanted from 139b85d70b623e51f7585e7c64ecb8c6a6cf4567)
     1 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/08_all_gcc-4.1-cross-compile.patch
     2 Some notes on the 'bootstrap with or without libc headers' debate:
     3 http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
     4 http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
     5 
     6 diff -durN gcc-4.3.1.orig/gcc/configure gcc-4.3.1/gcc/configure
     7 --- gcc-4.3.1.orig/gcc/configure	2008-05-21 10:54:15.000000000 +0200
     8 +++ gcc-4.3.1/gcc/configure	2008-06-10 14:57:42.000000000 +0200
     9 @@ -13283,7 +13283,7 @@
    10  	    | powerpc*-*-*,powerpc64*-*-*)
    11  		CROSS="$CROSS -DNATIVE_CROSS" ;;
    12  	esac
    13 -elif test "x$TARGET_SYSTEM_ROOT" != x; then
    14 +elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
    15          SYSTEM_HEADER_DIR=$build_system_header_dir
    16  fi
    17  
    18 diff -durN gcc-4.3.1.orig/gcc/configure.ac gcc-4.3.1/gcc/configure.ac
    19 --- gcc-4.3.1.orig/gcc/configure.ac	2008-05-21 10:54:15.000000000 +0200
    20 +++ gcc-4.3.1/gcc/configure.ac	2008-06-10 14:57:42.000000000 +0200
    21 @@ -1749,7 +1749,7 @@
    22  	    | powerpc*-*-*,powerpc64*-*-*)
    23  		CROSS="$CROSS -DNATIVE_CROSS" ;;
    24  	esac
    25 -elif test "x$TARGET_SYSTEM_ROOT" != x; then
    26 +elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
    27          SYSTEM_HEADER_DIR=$build_system_header_dir 
    28  fi
    29  
    30 diff -durN gcc-4.3.1.orig/gcc/unwind-dw2.c gcc-4.3.1/gcc/unwind-dw2.c
    31 --- gcc-4.3.1.orig/gcc/unwind-dw2.c	2007-07-25 20:14:57.000000000 +0200
    32 +++ gcc-4.3.1/gcc/unwind-dw2.c	2008-06-10 14:57:42.000000000 +0200
    33 @@ -334,9 +334,11 @@
    34  }
    35  #endif
    36  
    37 +#ifndef inhibit_libc
    38  #ifdef MD_UNWIND_SUPPORT
    39  #include MD_UNWIND_SUPPORT
    40  #endif
    41 +#endif
    42  
    43  /* Extract any interesting information from the CIE for the translation
    44     unit F belongs to.  Return a pointer to the byte after the augmentation,