Encode

pudge on 2002-05-28T16:27:27

Encode seems like a really cool module in many ways -- most of which I fully don't understand -- but it had a few problems on Mac OS. It made some assumptions about various Makefile things that didn't work, mostly, although its sheer size was also problematic. I fixed a few bugs in ExtUtils::MM_MacOS and special-cased a few lines in Encode's Makefile.PLs to work around idiosyncracies in MM_MacOS, and had to make it a dynamic library just for its size (so no Encode in 68K builds), but it is working now, and passes all tests.

Now all extensions in perl 5.8 -- those that can, anyway -- build on Mac OS. There's still tests to run on almost all of lib/ and ext/, and hopefully that will come this week (as I am also trying to do my slides for YAPC).

perl 5.8.0 RC 1 is due late this week, and I want to try to get MacPerl 5.8.0a1 out at the same time.

Update: Oh, and I forgot to mention, there was also a bug -- in both the Metrowerks and Apple compilers -- that would disallow declare-first-then-use-then-define variable declarations, so this construct -- used often in Encode -- bombed:

static int foo; static int foo = 4;

Matthias suggested changing the first s/static/extern/ which works. *shrug*