Re: Perl's Win32::API on MSYS

2013-10-04 Thread Sebastian Schuberth
On Thu, Oct 3, 2013 at 2:23 PM, bulk 88  wrote:

>> MSYS Perl currently ships with MakeMaker 6.30, GCC 3.4.4 and Perl 5.8.8.
>>
> Are you sure your MSYS Perl includes the file MM_Win32.pm on disk? Is your 
> MSYS Perl the
> Perl bundled with current official MSYS git packages?

Yes I'm sure, it's in the ExtUtils directory. You can actually browse
my MSYS installation online at our CI server at:

http://mingwgitdevenv.cloudapp.net/job/mingwGitDevEnv-test/ws/mingwGitDevEnv/lib/perl5/5.8/ExtUtils/

And yes, the Perl I'm using is the officially bundled Perl.

> Also, AFAIK, if a method isn't implemented in MM_Win32.pm, it falls back to 
> MM_Unix.pm. A
> Win32 MakeMaker makefile is made from a mix of methods from different .pms. 
> MM_Unix implements
> cflags method, so shouldn't that be getting called instead of the Win32 
> specific cflags method if
> Win32 specific cflags method doesn't exist?

I'm really not good at Perl at all, so maybe that's something you
could check in the source code of

http://mingwgitdevenv.cloudapp.net/job/mingwGitDevEnv-test/ws/mingwGitDevEnv/lib/perl5/5.8/ExtUtils/MM_Win32.pm/*view*/

Anyway, the fact that the method is not found indicates that there's
no fallback to MM_Unix.pm.

-- 
Sebastian Schuberth


Re: Perl's Win32::API on MSYS

2013-10-04 Thread Sebastian Schuberth
On Fri, Oct 4, 2013 at 8:28 AM, bulk 88  wrote:

> tested cosimo head "SHA-1: c5f9fcc6df4ba00c65392576eaf0e66965ff9ece * Merge 
> pull request #9 from sschuberth/master
> Add support for building on MSYS in addition to Cygwin" + some local changes 
> of mine, it didn't build on my 5.6
> with MakeMaker 6.17 due to this makefile target which syntaxed errored with 
> nmake. Correcting the "\" to be on the right
> line made it compile/work (I need to work on MY::distdir). The methods are 
> working on my Perl.

Which version of my pull request did you actually test? Did you merge
/ cherry-pick commit f9fb2c5 [1], including or excluding 7fa2bb5 [2]?

[1] 
https://github.com/sschuberth/perl5-win32-api/commit/f9fb2c599e5d9ae244be8fb4e971d57a13c0d38d
[2] 
https://github.com/sschuberth/perl5-win32-api/commit/7fa2bb5cce9d5ce15f23ef1c5f451d066c287f8a

-- 
Sebastian Schuberth


Re: Perl's Win32::API on MSYS

2013-10-04 Thread Aldo Calpini

On 10/04/2013 03:11 PM, Sebastian Schuberth wrote:
Anyway, the fact that the method is not found indicates that there's 
no fallback to MM_Unix.pm. 


no, there is (or there *should* be, at least). this line:

  @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );

tells that ExtUtils::MM_Win32 is a subclass of ExtUtils::MM_Unix (and 
_Any as well), so it should happily inherit methods from there.


if you execute:

  perl -MExtUtils::MM_Win32 -e 'print "YES THERE IS" if 
ExtUtils::MM_Win32->can("cflags");'


you should get "YES THERE IS".

I can only guess that the "package ExtUtils::MM_Win32" inside the 
MY::cflags sub confuses perl 5.8.8's notion of inheritance somehow...


@bulk88: why is that line needed in first place?


cheers,
Aldo

cheers,
Aldo



RE: Perl's Win32::API on MSYS

2013-10-04 Thread bulk 88

> Date: Fri, 4 Oct 2013 15:23:36 +0200
> Subject: Re: Perl's Win32::API on MSYS
> From: sschube...@gmail.com
> To: bul...@hotmail.com
> CC: cos...@cpan.org; libwin32@perl.org
>
> Which version of my pull request did you actually test? Did you merge
> / cherry-pick commit f9fb2c5 [1], including or excluding 7fa2bb5 [2]?
>
> [1] 
> https://github.com/sschuberth/perl5-win32-api/commit/f9fb2c599e5d9ae244be8fb4e971d57a13c0d38d
> [2] 
> https://github.com/sschuberth/perl5-win32-api/commit/7fa2bb5cce9d5ce15f23ef1c5f451d066c287f8a
>
> --
> Sebastian Schuberth

Neither, I tested Cosimo master branch which has 
bae930423e8951107aa50453cb47b800312da18a
"Add support for building on MSYS in addition to Cygwin" in its history.
  

RE: Perl's Win32::API on MSYS

2013-10-04 Thread bulk 88

> Date: Fri, 4 Oct 2013 15:59:30 +0200
> From: d...@perl.it
> To: libwin32@perl.org
> Subject: Re: Perl's Win32::API on MSYS
>
>
> I can only guess that the "package ExtUtils::MM_Win32" inside the
> MY::cflags sub confuses perl 5.8.8's notion of inheritance somehow...
>
> @bulk88: why is that line needed in first place?
>
>

So SUPER class works. My code has to get the original makefile chunk MM would 
have
put there and then manipulate it. But I tried to not be dependent on MM's 
design so I didn't
want to callĀ  an absolute named method/sub so I switch packages in the sub and 
did a SUPER
call. The MY package doesn't inherit anything and I didn't think about adding 
anything to it
since MM cleans out the MY package after each WriteMakefile call which sounds 
unfriendly but
it does that.