RE: [Module::Build] Problem building XS modules on AIX
Status: Beta
Brought to you by:
kwilliams
|
From: James.FitzGibbon <Jam...@ta...> - 2003-11-18 15:36:57
|
> I'm having a few problems that I'll have to work out in the morning. The exp file is > being created, but EU::Mksyms is putting it in blib one level deeper than the substitution > on $lddlflags is subsequently looking for it. I think the way that Ken W. compiles XS > code as part of his test suite is throwing the main M::B build into a loop, but I can just > bypass the test suite until I can solve the first problem. I've updated Randy's patch to find the .exp files in the right place on AIX, but I don't have the necessary Windows environment to see if I've broken things there. The patch is attached; if someone could please test building M::B itself and let me know what the results are. If it fails and you have the time, output from building M::B 0.21 (with and without the patch) and Pod::Coverage 0.11 and 0.12 (one uses EU::MM while the other M::B) without the patch would help to clarify .exp file locations. The main problem seems to be that the generation of the .exp file is in a common part of M::B (Base.pm) but the use of the .exp file in the link phase is in a platform-specific place (Windows.pm and aix.pm). There doesn't seem to be a single way to tell both EU::Mksymlists and all of the compilers out there explicitly what the .exp or .def file is supposed to be named. EU::Mksymlists just knows based upon the four platforms it supports but doesn't return that value back to the caller. Perhaps what is needed is to update EU::Mksymlists to both export the platform-specific extensions as constants and return the canonical path to the written file back to it's caller so that link_c() in M::B can act more intelligently. Thanks. |