Where does the value "$self->make" originate ?
I've found the problem...
....in "lib\ActivePerl\Config.pm":
******************************************************
sub override {
[...]
if ($key eq "make" && $^O eq "MSWin32") {
for (qw(nmake dmake)) {
if (ActiveState:
ath::find_prog($_)) {
$_[0] = $OVERRIDE{$key} = $_;
return 1;
}
}
return 0;
}
******************************************************
("lib\ActivePerl\Config.pm" is called by the standard "lib\Config.pm")
I have an old version of "nmake" on my system, and my guess would be
that you have not.
The code in lib\ActivePerl\Config.pm is quite clever indeed:
First it looks if there exists an executable called "nmake". On my
configuration, there is one (albeit a very old one) and the subroutine
returns with $Config{make} = 'nmake'
I assume that on your configuration there is no such executable
'nmake', therefore it looks if there exists an executable called
"dmake", which there is, and the subroutine returns with $Config{make}
= 'dmake'
Here is what I did to resolve the issue on my system:
C:\dosext>ren NMAKE.EXE NMAKE-old.exe
And here is proof that "dmake" now works ok on my system:
C:\Scalar-Util-Refcount-1.0.2>perl -V:make
make='dmake';
C:\Scalar-Util-Refcount-1.0.2>perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Scalar::Util::Refcount
C:\Scalar-Util-Refcount-1.0.2>dmake
gcc -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -
DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -
DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -
DPERL_MSVCRT_REA
DFIX -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -O2 -
DVERSION=\"1.0.2\" -DXS_VERSION=\"1.0.2\" "-IC:\Perl\lib\CORE"
Refcount_wrap.c
Running Mkbootstrap for Scalar::Util::Refcount ()
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Refcount.bs
dlltool --def Refcount.def --output-exp dll.exp
g++ -o blib\arch\auto\Scalar\Util\Refcount\Refcount.dll -Wl,--base-
file -Wl,dll.base -mdll -L"C:\Perl\lib\CORE" Refcount_wrap.o -Wl,--
image-base,0x3d100000 C:\Perl\lib\CORE\perl510.lib -lke
rnel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -
lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -
lodbc32 -lodbccp32 -lmsvcrt dll.exp
dlltool --def Refcount.def --base-file dll.base --output-exp dll.exp
g++ -o blib\arch\auto\Scalar\Util\Refcount\Refcount.dll -mdll -L"C:
\Perl\lib\CORE" Refcount_wrap.o -Wl,--image-base,0x3d100000 C:\Perl
\lib\CORE\perl510.lib -lkernel32 -luser32 -lgdi32 -lwin
spool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -
luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt
dll.exp
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 blib\arch\auto
\Scalar\Util\Refcount\Refcount.dll
C:\Perl\bin\perl.exe -MExtUtils::Command -e cp Refcount.bs blib\arch
\auto\Scalar\Util\Refcount\Refcount.bs
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 blib\arch\auto
\Scalar\Util\Refcount\Refcount.bs
C:\Scalar-Util-Refcount-1.0.2>dmake test
C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib\lib', 'blib\arch')" t/*.t
t/10_test....ok
All tests successful.
Files=1, Tests=7, 0 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00
CPU)
C:\Scalar-Util-Refcount-1.0.2>dmake install
Files found in blib\arch: installing files in blib\lib into
architecture dependent library tree
Installing C:\Perl\site\lib\auto\Scalar\Util\Refcount\Refcount.dll
Appending installation info to C:\Perl\lib/perllocal.pod