Yeah, you put me in my place real good!

On Reddit, I was admonished for trying to install dzil, and my tardiness in filing a bug report against Moose. Frankly, I felt a little guilty. After all, why couldn’t I have dedicated days into cloning, checking out, familiarizing myself with umpteen distros, patching things, testing with my perl built with Visual Studio 2013 Community Edition, as well as testing with various Strawberry, Cygwin, ArchLinux, and OSX perls instead of making a list with the goal of getting to it when I had some spare time?

With that twinge of guilt, I fired up a ConEmu instance, and cloned the Moose repo containing Karen’s latest bugfix in response to my blog posts. Yes, I had meant to get to it, but Moose wasn’t the only module which used filenames in ways that directly contradict the advice in perldoc perlport.

So, I run perl Makefile.PL. This is what I get:

OK, I follow the advice. Here is what I get:

Translation: You suck you loser!

That is simply obnoxious.

Undeterred, I run nmake test:

OK, that I can understand. So, Moose developers assume the only compiler in the world is gcc, and therefore, use gcc options regardless of the actual compiler. Fine.

That happens in inc/MMHelper.pm:

sub ccflags_dyn {
    my $is_dev = shift;

    my $ccflags = q<( $Config::Config{ccflags} || '' ) . ' -I.'>;
    $ccflags .= q< . ' -Wall -Wdeclaration-after-statement'>
        if $is_dev;

    return $ccflags;
}

Yes, another patch I should submit when I get a chance. Right now, I just want to check if Karen’s commit makes everything else go smoothly with the Microsoft toolchain. So, just replace if $is_dev with if 0.

Do another perl Makefile.PL.

you are using MSVC... my condolences. at (eval 67) line 11. you are using MSVC... my condolences. at (eval 67) line 11.

OK … OK

Here is the result:

All tests pass.

And, that is the sad part.

Except for some compiler flags that could easily be special-cased, everything works!

But, why slap me in the face, and put me in my place for simply daring to use a different tool than the one you like?