in reply to Re^2: Help building Devel::Caller
in thread Help building Devel::Caller
lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C +:\Perl\lib\CORE" -machine:x86'
And here is what is made of in in ActivePerl::Config:
which lists the option for the dynamic libraries, i.e. the DLLs made out of the XS modules._override("lddlflags", "-mdll");
Do you see anything missing? Well, actually, a lot is missing, but most importantly, the command line switch to include the library search directory "C:\Perl\lib\CORE" is not there any more.
So, with a bit of cleanup, i.e. poring the library path out of _orig_config instead of hardcoding it, I guess I have the most acceptable patch.
update I've made a more politically correct patch, which gets the (MSVC style) -libpath: parameter switches out of the original lddlflags setting, and replaces each with the gcc style -L switch for MinGW. I've tested it and it seems to work, even with quotes and backslashes in place.
_override("lddlflags", join " ", "-mdll", map "-L$_", map /^-libpath:(.+)/, _orig_conf("lddlflags") =~ /(?=\S)(?>[^"\s]+|"[^"]*")+/g);
update The code has been updated (from a simple split " ") so it can properly handle spaces embedded between quotes.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Help building Devel::Caller
by Limbic~Region (Chancellor) on Aug 02, 2006 at 18:05 UTC | |
by syphilis (Archbishop) on Aug 03, 2006 at 01:18 UTC | |
by Limbic~Region (Chancellor) on Aug 03, 2006 at 12:15 UTC |