Hi,
This is my Makefile.PL:
use 5.010001;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'test01',
VERSION_FROM => 'lib/test01.pm', # finds $VERSION
PREREQ_PM => {}, # e.g., Module::Name => 1.1
($] >= 5.005 ? ## Add these new keywords supported since
5.005
(ABSTRACT_FROM => 'lib/test01.pm', # retrieve abstract from
module
AUTHOR => 'A. U. Thor
<a.u.t...@a.galaxy.far.far.away>') : ()),
# The Makefile is going to have to be fixed to remove the
auto-escaping of '(x86)' into '\(x86\)'.
LDDLFLAGS => '-libpath:"c:\Program Files (x86)\Microsoft
Visual Studio 9.0\VC\lib" -libpath:"c:\Program Files\Microsoft
SDKs\Windows\v6.0A\Lib"',
LIBS => [''], # e.g., '-lm'
DEFINE => '', # e.g., '-DHAVE_SOMETHING'
INC => '-I. "-Ic:\Program Files (x86)\Microsoft
Visual Studio 9.0\VC\include" "-Ic:\Program Files (x86)\Microsoft
SDKs\Windows\v5.0\Include"', # e.g., '-I. -I/usr/include/other'
# Un-comment this if you add C files to link with later:
# OBJECT => '$(O_FILES)', # link all the C files too
);
The key line is:
LDDLFLAGS =>
'-libpath:"c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib"
The parenthesis are annoyingly escaped when creating the Makefile:
LDDLFLAGS = -libpath:"c:\Program Files
\(x86\)\Microsoft Visual Studio 9.0\VC\lib" -libpath:"c:\Program
Files\Microsoft SDKs\Windows\v6.0A\Lib"
Which breaks the build on
Windows. The INC attribute doesn't do that so why does LDDLFLAGS? I've
tried moving those options into LD but it has the same problem. For now
I'm going to have to modify the generated Makefile each time I call
Makefile.PL.
Thanks!
Dave A
|
- '()' escaped to '\(\)' is breaking my build Dave Anderson
-