Edward Peschko wrote:

> well, that helps. Can you install all of the Win32::Process, etc, modules based on it?

I think that any pure perl modules that simply 'use Win32::API;' will work fine, though of course I have no first hand experience of Win32::API on Cygwin.
But most, if not all, of the libwin modules (including Win32::Process) don't actually 'use Win32::API;'. Instead they have their own XS code - and this can be a problem if you're not compiling with msvc compiler because of deficiencies in the gcc compiler's header and library files.

I think the only libwin modules I *failed* to build on my native windows gcc-built perl were Job, ODBC, OLE and Shortcut. I ultimately decided that if I really wanted all of the libwin modules on my mingw perl I'd just install the AS binaries - which is not an option on Cygwin.

(This contention that AS binaries work on mingw/gcc-built perl is still largely untested by me. I can't see why they shouldn't, but if someone knows of limitations then they should save me future embarrassment and tell me now .... otherwise my assumption will, with the passing of time, metamorphose itself into "proven fact" :-)

As to how well the libwin modules build on Cygwin depends on the "deficiencies" in the Cygwin gcc header and library files, about which I know nothing. I've also kept notes on the various hacks (mostly minor) employed to get those libwin modules to install on my gcc-built perl. They might be handy for you at some stage - depending on the nature of the differences between your (Cygwin) gcc and my (mingw) gcc.

Google should be able to turn up some useful information on building the libwin modules (Win32.pm at least) under Cygwin.

> I'm really trying to avoid using mingw. I'm using cygwin for a *reason* - screen,
> vim, etc. all work. Which is very, very nice.

Oh, yes ... I understand.
You could (if you haven't already) consider searching for native Win32 ports of those nixy things. I have no idea on your chances of success.

>> There are instructions in 'Readme.win32' in the AS (and cpan) perl source distro on how to go about building perl with gcc.
>> (I also kept some notes on how I went about it - which I could forward to you if you want to go down that path.)
> yeah, that would be nice too. I'm assuming the instructions have to do with mingw.

Well, 'Readme.win32' refers mainly to a windows port of gcc-2.95.2. This windows port is, I gather, part of mingw. You can probably use mingw (which would now be including a more recent version of gcc), but when I tried that I struck trouble. In the end I just stuck rigorously to the directions in 'Readme.win32' and everything was trivial and not too tedious .... and the perl was fine.

Here's those notes I kept on what I did:
Downloaded gcc-2.95.2 and dmake from the links provided in the perl source 'README.win32'.

I downloaded the entire gcc-2.95.2 folder, but probably needed only these items from it:
mingw32-docs-html.exe (optional)
runtime-source-19991107.zip (I assume this is needed ... perhaps not)

Ran gcc-2.95.2-msvcrt.exe, then ran quote-fix-msvcrt.exe.

My perl source was build 626 source from activeState.

Amended makefile.mk as per instructions contained within it.

Also changed line ~ 422 from:
OPTIMIZE  = -g -O2


Otherwise you get a very big perl.exe and perl56.dll.

For further size reduction maybe change the second line to:
LINK_DBG  = -s
(I didn't bother with that)

Had to amend 'stdio.h' as mentioned in perl source 'README.win32'.

Added my \dmake\bin and my \gcc\bin to the path.

Ran 'dmake', 'dmake test' and 'dmake install'.

Add my \perl\bin to the path and we're away !!

As to how that lines up with what I *should* have done is for others to assess :-)

I'd actually be interested to hear from anyone who has built perl using a more recent gcc/mingw ..... from where, precisely, was the compiler obtained; what fiddling was necessary and what perl source was used.


Any emails containing attachments will be deleted from my ISP's mail server before I even get to see them. If you wish to email me an attachment, please provide advance warning so that I can make the necessary arrangements.

Perl-Win32-Users mailing list
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to