in reply to Re^2: Change make/compiler
in thread Activestate Perl 5.20, Change make/compiler

hehe  set ACTIVEPERL_CONFIG_DISABLE=1 && D:\perl\zips\ActivePerl-5.16.3\bin\perl.exe  -V:cc -V:ccname -V:ccflags -V:cccdlflags -V:libpth -V:libs -V:_a -V:_o -V:ar -V:cpp -V:cppminus -V:cpprun -V:cppstdin -V:d_attribut -V:d_casti32 -V:i64type -V:ld -V:lddlflags -V:ldflags -V:lib_ext -V:libc -V:libperl -V:longdblsize -V:lseektype -V:make -V:nm -V:obj_ext -V:optimize -V:perlpath -V:perllibs -V:quadtype -V:u64type -V:uquadtype         > ExtUtils-FakeConfig-0.12/spec/ap_cl_5160.txt

Then you do something like

s{(".+?\Q\lib\CORE"\E){(PERL)\lib\CORE}g; s{perlpath='.+?\Q\bin\perl.exe';\E}{perlpath='(PERL)\bin\perl.exe';}g;

So then with ActivePerl-5.16.3 you have

cc='cl'; ccname='cl'; ccflags='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_ +STRICT -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CO +NTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T'; cccdlflags=' '; libpth='\lib'; libs='oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib com +dlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.l +ib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbc +cp32.lib comctl32.lib msvcrt.lib'; _a='.lib'; _o='.obj'; ar='lib'; cpp='cl -nologo -E'; cppminus=''; cpprun='cl -nologo -E'; cppstdin='cppstdin'; d_attribut='UNKNOWN'; d_casti32='undef'; i64type='__int64'; ld='link'; lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"( +PERL)\lib\CORE" -machine:x86'; ldflags='-nologo -nodefaultlib -debug -opt:ref,icf -libpath:"(PERL)\l +ib\CORE" -machine:x86'; lib_ext='.lib'; libc='msvcrt.lib'; libperl='perl516.lib'; longdblsize='8'; lseektype='__int64'; make='nmake'; nm=''; obj_ext='.obj'; optimize='-MD -Zi -DNDEBUG -O1'; perlpath='(PERL)\bin\perl.exe'; perllibs='oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib + comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi +32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib +odbccp32.lib comctl32.lib msvcrt.lib'; quadtype='__int64'; u64type='unsigned __int64'; uquadtype='unsigned __int64';

And then something something ExtUtils-FakeConfig-0.12/Makefile.PL :)

Replies are listed 'Best First'.
Re^4: Change make/compiler
by Anonymous Monk on Oct 07, 2015 at 01:06 UTC
      Also appears to be possible to override via http://docs.activestate.com/activeperl/5.20/lib/ActivePerl/Config.html#Windows-overrides

      Looks outdated to me.
      It says "The value of $Config{cc} will be cl by default" but perl -V:cc says "undef" on my ActivePerl-5.20.0.
      There's also the claim that $Config{make} "will be nmake by default", whereas it's actually "dmake".
      And the focus of that documentation is on replacing 'cl' values with 'gcc' ones, instead of the other way round (as per the op's requirements).

      Cheers,
      Rob

        Looks outdated to me ..defaults..

        The info on the defaults is probably outdated, but I doubt the ability to override config using env vars is gone

        update: its still there in ActivePerl-5.20.2.2001-MSWin32-x86-64int-298913