patches/cygwin/1.5.15-1/100-crossbuild.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 29 00:15:32 2010 +0200 (2010-03-29)
changeset 1864 758d5137fe87
parent 402 197e1b49586e
permissions -rw-r--r--
scripts/populate: optimise search loop

Curently, populate will iterate over all ELF (shared objects|executables)
to look for missing NEEDED DSOs, adding to the list at every iterations
of the search loop.

Instead of looking again at previously handled ELF files, recursively
resolve every ELf files.

Also, in case there are a whole lot of files (more than the shell can
accept as arguments list, or creating a command line longer than the
shell can cope with), use a temporary file with the list of files
to search for missing dependencies.
yann@402
     1
Message-ID: <4269173F.7020705@zee2.com>
yann@402
     2
Date: Fri, 22 Apr 2005 16:24:47 +0100
yann@402
     3
From: Steve Papacharalambous <stevep@zee2.com>
yann@402
     4
To: "Robert P. J. Day" <rpjday@mindspring.com>
yann@402
     5
CC: crossgcc list <crossgcc@sources.redhat.com>
yann@402
     6
Subject: Re: cygwin source directory has moved
yann@402
     7
In-Reply-To: <Pine.LNX.4.61.0504181746050.11794@localhost.localdomain>
yann@402
     8
yann@402
     9
Hi Robert,
yann@402
    10
yann@402
    11
I've attached two patches:
yann@402
    12
yann@402
    13
1/  For crosstool-0.31 which changes the CYGWIN_URL to one which has the
yann@402
    14
cygwin source archives.  The version of cygwin that is used to build the
yann@402
    15
cross toolchain has been changed to cygwin-1.5.15-1-src.tar.bz2 since
yann@402
    16
most of the mirror sites don't seem to have the original archive used.
yann@402
    17
[created gcc-3.3.2-cygwin-1.5.15-1.dat - dank]
yann@402
    18
yann@402
    19
yann@402
    20
2/ The later cygwin source archive fails to cross build with the error:
yann@402
    21
/opt/crosstool/i686-pc-cygwin/gcc-3.3.2-cygwin-1.5.15-1/lib/gcc-lib/i686-pc-cygwin/bin/ld:
yann@402
    22
cannot find -luser32
yann@402
    23
yann@402
    24
unless the second patch is applied,
yann@402
    25
yann@402
    26
yann@402
    27
diff -uNr cygwin-1.5.15-1.orig/winsup/mingw/Makefile.in cygwin-1.5.15-1/winsup/mingw/Makefile.in
yann@402
    28
--- cygwin-1.5.15-1.orig/winsup/mingw/Makefile.in	2005-02-28 22:51:02.000000000 +0000
yann@402
    29
+++ cygwin-1.5.15-1/winsup/mingw/Makefile.in	2005-04-22 15:29:18.000000000 +0100
yann@402
    30
@@ -71,7 +71,7 @@
yann@402
    31
 mkinstalldirs = $(SHELL) @MKINSTALLDIRS@
yann@402
    32
 
yann@402
    33
 CC := @CC@
yann@402
    34
-override CC := ${filter-out -L% -B%,${shell echo $(CC) | sed -e 's%\(-isystem\|-iwithprefixbefore\)  *[^ ]*\( \|$$\)% %g'}}
yann@402
    35
+override CC := ${filter-out -B%,${shell echo $(CC) | sed -e 's%\(-isystem\|-iwithprefixbefore\)  *[^ ]*\( \|$$\)% %g'}}
yann@402
    36
 # FIXME: Which is it, CC or CC_FOR_TARGET?
yann@402
    37
 CC_FOR_TARGET = $(CC)
yann@402
    38
 AS_FOR_TARGET = $(AS)
yann@402
    39
yann@402
    40