Perl/Wine extension for perusal

John F Sturtz jsturtz at codeweavers.com
Wed Feb 14 08:32:06 CST 2001


Greetings.

I work for CodeWeavers here in St Paul.  Awhile back, I was set to
the task of working on winetest, a Wine application which provided a
flex/bison-based parser for a little scripting language from which Wine
API functions could be called.  The idea was that one could write test
scripts which would call Wine API functions and examine the results,
and the scripts could be used for regression testing of Wine.

The scripting language began life with a rather Perl-ish syntax,
and as functionality got added, it got more so.  Eventually (about
the time I had implemented a pack function, and wanted an unpack),
I decided to see if I could write a Perl extension that provided
a gateway for calling Wine API functions.  That way, scripts for
regression testing could be written directly in Perl instead.

I have an initial version done.  The practical upshot is that from
a Perl script (after going through the proper incantations), you can
write something like this:

    $atom = kernel32->GlobalAddAtomA("bark");

and the script will call the Wine GlobalAddAtomA() function, passing
the string "bark", and return the result in $atom, which can then be
examined to determine if it's what it should be.

At Alexandre's suggestion, I've tossed a tarball of the stuff out on
wine.codeweavers.com at

    ftp://wine.codeweavers.com/pub/other/perlwine.tar.gz

for anyone who's interested in having a look (just download the
tarball, untar/ungzip it, and look at the README to get started).
In particular, I'm curious as to:

    1) Whether it works for anyone who tries it

    2) Whether there's anyone who is both a serious Perl
       guru and a serious Windows guru (I am marginally
       the former and nowhere near the latter) who might
       like to take a stab at getting the extension to
       work under Windows Perl.

    3) Whether any make guru would want to take a stab
       at writing a real makefile for the package (as
       opposed to the hack make ksh script I've done)

as well as any other comments.  Any input is appreciated.

Thanks.

John Sturtz
jsturtz at codeweavers.com





More information about the wine-devel mailing list