http://www.perlmonks.org?node_id=871881


in reply to Re^2: Compiling xs and c for Lingua::Stem::Snowball.
in thread Compiling xs and c for Lingua::Stem::Snowball.

Actually, 'cl' is the MS C(++) compiler supplied with Microsoft Visual Studio. By default, if ActiveState Perl on Windows can't find a compiler in your path, this is what it assumes for 'perl -V:cc'. It seems to search your path in order for either 'cl' or 'gcc'. I have both MSVC++ and MinGW installed on Windows XP with ActiveState 5.10.1 (note: the 'which' command below is a Windows batch file found at Re: One Bizarre Perl Problem)

C:\> REM cl and gcc not in my path C:\> which cl 'cl' not found. C:\> which gcc 'gcc' not found. C:\> perl -V:cc cc='cl'; C:\> REM append gcc directory to path C:\> path %PATH%;c:\Dev-Cpp\bin C:\> which gcc c:\Dev-Cpp\bin\gcc.exe C:\> perl -V:cc Set up gcc environment - 3.4.2 (mingw-special) cc='c:/Dev-Cpp/bin/gcc.exe'; C:\> REM prepend cl directory to path C:\> path C:\Program Files\Microsoft Visual Studio 8\VC\bin;%PATH% C:\> which cl C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe C:\> perl -V:cc cc='cl';

For ActiveState, the best (easiest, cheapest) way to go is:

ppm install MinGW ppm install dmake

Replies are listed 'Best First'.
Re^4: Compiling xs and c for Lingua::Stem::Snowball.
by aquarium (Curate) on Nov 17, 2010 at 03:33 UTC
    was actually wondering if installing the activestate TCL/TK would possibly bring with it the perl bindings.
    in regards to weird windows pickings of which program runs..it's quite silly that it's not transparent what command is picked. the rules are known, but that's as good as a kick in the shins when you really need to know. not only is path order taken into account, but specific executable file types are run in preference of .exe. quite useful when you want to override. i think batch commands in a .cmd even override the builtins inside of command.com e.g. "dir". but it's a pain to find that the cygwin grep (if memory serves) is overriden by windows resource kit.
    the hardest line to type correctly is: stty erase ^H