in reply to Re: Cross-Compile Perl Modules for Win x64
in thread Cross-Compile Perl Modules for Win x64

Of course, Perl by grace of ExtUtils::MakeMaker tries to do the Right Thing, because ExtUTils::MakeMaker outputs nmake syntax when it sees that the current Perl uses nmake as its make tool.

Replies are listed 'Best First'.
Re^3: Cross-Compile Perl Modules for Win x64
by Bloodnok (Vicar) on Dec 30, 2008 at 15:55 UTC
    That is undoubtedly true Corion ... and many more ++ to the authors & maintainers of said module.

    My point was that my, mostly infuriating, experience(s) attempting to build perl modules using M$ under Windoze suggest that...

    • Adopting Strawberry perl, or similar or ...
    • Making a design decision, at the outset, to use only pure perl modules
    both offer a path of far less resistance, tho' self-evidently, the latter is far more constraining - almost masochistically so;-)

    A user level that continues to overstate my experience :-))
      Bloodnok,

      Cheers for the info...
      I've had a look at Strawberry Perl, and it looks like it could do the job... however it looks like the default setup is 32bit - is there a 64bit version available???

      Cheers
      Gavin
Re^3: Cross-Compile Perl Modules for Win x64
by fatmcgav (Novice) on Dec 30, 2008 at 15:38 UTC
    Ok, i've had a read of the MakeFile.pl for Win32-SystemInfo, and it lists Win32::API as a requirement...

    Am i right in thinking i'm stuck as i cant use Win32::API on a 64Bit box???

    Comments???

    Cheers
    Gavin

      As far as I'm aware, 32-bit programs still work well on 64bit incarnations of Windows, so you could try moving everything down to 32-bit Perl. I haven't looked into it, so I'm unaware of any immediate problem of Win32::API on 64-bit Windows. But I know it uses some assembly language to achieve the call between Perl / C and the operating system, so that part might get tripped up by the registers changing size.

        Win32::API doesn't build in 64-bit mode. You can use 32-bit Perl just fine on 64-bit Windows, but you need to be aware that you are running inside the WOW64 (Windows on Windows64) environment, which will redirect parts of the file system and registry, so you don't see all parts of the system.

        Note also that you cannot call 64-bit DLLs from 32-bit code and vice versa.