eclass/toolchain.eclass: fix threading conditional; silence warnings

o get rid of the comment about cygwin-1.7 threading and
  just change the damn conditional -- I'm no longer
  pretending to support cygwin 1.5 in my prefix and the whole
  $CHOST == *-1.7 thing is going to have to be fixed eventually,
  anyhow.

o Silence the cygdll_protect warnings from gcc-config when it's
  invoked during toolchain ebuilds.

o Migrate from env -i PATH=/bin to the new standard reflected in
  gcc-config, see commit 9381e1e85 for a very long description of
  why.

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
sys-apps/portage: misc minor bugfixes

o Although portageq uses_root has migrated to uses_eroot, I had
  failed to do likewise in the cygdll_protect branch (fixed it).

o Pile an additional patch onto ebuildshell when building under
  cygwin -- this is the standard env -i treatment documented
  at length in commit 9381e1e85f38

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
sys-devel/libtool: Rebirth of the "subshell-avoidance" patch

Well, I gave it the 'ol college try and removed the
subshell-avoidance patches.  It didn't work out.  For example, on
my system, no amount of rebasing and screwing around could enable
me to build gettext.  That was the original problem that prompted
me to make those patches, IIRC.

So, I've respun them, this time along with the corresponding
generated files so that we can avoid reviving, along with it,
the gut-wrenching simulated bootstrap code, which always
made me want to gouge my eyes out.

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
sys-devel/gettext: tidy up autotools crap a bit

Since it was giving me trouble, I stumbled across the simulated
bootstrap code in this ebuild again and decided it was time to
take out the trash.

This still takes absolutely forever, but it's a shorter forever
than the previous one, I think -- or at least a more Gentooxly
correct one (what I had before caused nasty autotools
warnings, and was pretty damn ugly to boot).

It still ain't exactly beautiful.  But definitely an improvement,
and I did extensive frobbing around to make sure there was no
more pointless crap performed during src_prepare().

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
sys-apps/portage: Fix multijob, maintainer-mode

o Add a working (?) fix for multijob breakage in cygwin
o Unceremoniously wedge a regenerated man/Makefile.in into
  the cygdll patch so as to avoid maintainer-mode problems
  when building portage

Portage needs a version bump pretty bad but I will deal
with that later.

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
eclass/multiprocessing.eclass: Fix cygwin?

A first attempt at a "real"-ish solution to the cygwin
'<>' problem (namely: it doesn't work).

Not sure how correct these are but it fixes the very few
use-cases we have in portage @system on cygwin.

This time, it actually paralellizes, which is nifty.

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
scripts/pfxrebase.bat: Always nuke

This just seemed more sensible, if you can call it that.
I'm still not very happy with how this all works, but it's
been working much better than before.  The effect of this
change is probably pretty negligible, all things conisdered.

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
sys-devel/gcc: overlay-only masking, refactor patches, 4.5.3-r2

This commit refactors the patches to correspond exactly with
the cygport patches so as to allow us to keep track of things
better in the future.

I have found a bug in gcc-config which I document here.  As
part of my work-around I have broken down and implemented
overlay-only masking for gcc.  Also as part of that work-around,
I've temporarily masked "multislot" for gcc.

Also, I add any -sjlj version of cyggcc_s-1.dll to
CYGDLL_PROTECT; since it was getting unwieldy,
I break down CYGDLL_PROTECT construction into
targeted parts in make.defaults.

Finally, I have implemented the trivial version-bump to
sys-devel/gcc-4.5.3-r2, which didn't seem to cause any trouble.

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
eclass: sync with upstream

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
sys-devel/gettext: parallelize autotools for cygwin

Now that we have working multiprocessing.eclass, use it for the
cygwin-specific gettext autotools processing.  Unfortunately,
we still can't just eautoreconf, so do it manually.

I'm concerned that there is a rarely triggered race-condition
here: during the libtoolize step of eautoreconf, it seems like
some of the libtool files are temporarily missing.  It seems that
other steps of the autotools process can see those missing files
and error out.

I've only seen this happen once and some things have changed since
then -- Since I can't reproduce, I'm going to go ahead and commit
this and run some smoke tests to see if I can get it to happen
again.

The fact of the matter is, having to restart this ebuild once
or even twice is still probably faster than waiting for all that
autotools crap to run.  Although I suppose if I can reproduce the
problem I'll have to consider whether it's worth keeping this patch.

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
sys-devel/binutils-config: metadata update

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>
sys-devel/binutils: bump, sync, eh_frame patch

This bumps to 2.22.52.3 -- which actually isn't keyworded yet upstream --
and integrates an important exception handling patch.  There is no particular
reason for the keywording -- just trying to stay ahead of the curve, plus
the 2.22.52.1 ebuild which our old version was based on is gone.

Signed-off-by: Gregory M. Turner <gmturner007@ameritech.net>