Encode
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:
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;Matthias suggested changing the first s/static/extern/ which works. *shrug*
static int foo = 4;
Leave a comment