Path: usenet.cise.ufl.edu!huron.eel.ufl.edu!usenet.eel.ufl.edu!uky.edu!news.cuny.edu!nntp.upenn.edu!news.misty.com!news-xfer.netaxs.com!nac!nntp.teleport.com!news.teleport.com!not-for-mail
From: [email protected] (Gurusamy Sarathy)
Newsgroups: comp.lang.perl.announce,comp.lang.perl.modules
Subject: ANNOUNCE: libwin32 version 0.10 released
Followup-To: comp.lang.perl.modules
Date: 20 Feb 1998 13:02:50 GMT
Organization: University of Michigan, Ann Arbor
Lines: 280
Sender: [email protected]
Approved: [email protected] (comp.lang.perl.announce)
Message-ID: <[email protected]>
NNTP-Posting-Host: gadget.cscaper.com
X-Disclaimer: The "Approved" header verifies header information for article transmission and does not imply approval of content.
Xref: usenet.cise.ufl.edu comp.lang.perl.announce:81 comp.lang.perl.modules:2111

A new version of libwin32 is making its way into the CPAN.
This version features precompiled binaries for x86, and is
available in both tar.gz and zip formats.

   http://www.perl.com/CPAN/authors/id/GSAR/libwin32-0.10.tar.gz
   http://www.perl.com/CPAN/authors/id/GSAR/libwin32-0.10.zip

The README from the distribution follows.

Just give it,

- Sarathy.
  [email protected]
--------------------------------------------------------------------------

Welcome to libwin32 version 0.10.


WHAT
----

This is a bundle of "Win32-only" extensions that provides a quick migration
path for people wanting to use the core support for win32 in perl 5.004
and later.  It features the complete set of Win32-specific extensions
available from CPAN that could previously only be used with Activeware's
"Perl for Win32"(TM).

Most other non-Win32 extensions should build fairly smoothly using
the MakeMaker support available in perl 5.004 and later, so they are
not included in this bundle.

This distribution has been pre-compiled for the x86 architecture.  See
the "WHAT TO DO" section for installation instructions.


WHAT HAS CHANGED
----------------

The top level "Changes" file contains a version by version overview of
the most significant changes.

This release has the following changes over the previous one:

  + Chris Madsen <[email protected]> has rethought and rewritten the IPC
    related modules.  The Win32::Event module is new.  In his own words:

       The Win32::IPC modules

               Win32::ChangeNotify
               Win32::Event
               Win32::IPC
               Win32::Mutex
               Win32::Semaphore

       have been almost completely rewritten and are now at version 1.00.
       The rather inconsistent ActiveWare interface is still supported, but
       you should really use the newer and more powerful interface (using
       lower case method names).

       Consult the documentation for each module for details on how to
       convert from the old interface.

       In addition, Win32::Process has been slightly altered to work with
       Win32::IPC.  Process objects should now work with Win32::IPC's wait_*
       functions (they were supposed to work before, but they didn't).  You
       will have to load Win32::IPC yourself, because Win32::Process does
       not.

  + Yet more OLE fixes from Jan Dubois <[email protected]>.

  + NetAdmin enhancements from Jutta Klebe <[email protected]>

  + Updated FileSecurity to base version 0.67.

  + Win32::Registry sports additional functions that correspond to the
    Win32 Registry API functions.

  + Misc. changes
       - fixed buggy InitiateSystemShutdown()
       - New compatibility XSUBs: MsgBox(), LoadLibrary(), FreeLibrary(),
         GetProcAddress(), RegisterServer(), UnregisterServer()

  + Other minor bugs have been fixed.  See "Changes" files in individual
    module subdirectories.

Many thanks to all the contributors.


WHAT IT HAS
-----------

This bundle contains:

  * The collection of modules originally distributed by the Activeware
    folks as part of their "Perl for Win32"(TM) port.  These have been
    modified so that they will build under MakeMaker using perls greater
    than 5.004 and Visual C++.  Along the way, I have added many
    bugfixes to make these modules work correctly.

    The complete list of Activeware extensions is available:

       Win32/ChangeNotify
       Win32/EventLog
       Win32/File
       Win32/FileSecurity
       Win32/IPC
       Win32/Mutex
       Win32/NetAdmin
       Win32/NetResource
       Win32/OLE
       Win32/Process
       Win32/Registry
       Win32/Semaphore
       Win32/Service
       Win32/WinError

    Note this covers all of the Win32 extensions distributed by
    Activeware (as of build 315).

    These extensions have been re-engineered to use the XS interface
    language, yet the changes are compatible with the originals.  This
    should minimize any problems for people wanting to migrate their
    application to 5.004.  The design of these modules is subject to
    change in future.

    The only deliberately incompatible change is in the Win32::OLE
    module.  While the Activeware port used the "OLE::" and "Win32::"
    namespaces for the functionality contained in this module, this
    port uses "Win32::OLE::" consistently.  For a list of other
    incompatibilities in Win32::OLE, see the embedded documentation
    in "OLE/OLE.pm".

  * The following five modules maintained by Aldo Calpini
    <[email protected]>:

       Win32/Clipboard
       Win32/Console
       Win32/Internet
       Win32/Shortcut
       Win32/Sound

    These also have been converted back to XS.  I have added
    bug fixes as I found them during the conversion process.

  * Two useful modules maintained by Dave Roth <[email protected]>.

       Win32/ODBC
       Win32/Pipe

    These have only received just the bare modifications needed to
    build them under MakeMaker.  *.xs are really C/C++ files
    masquerading as XS.  Win32/ODBC hasn't been tested much.


WHAT TO DO
----------

You can either use the binaries that come with this distribution,
or choose to recompile them from scratch (recommended if you have
a C compiler that is capable of building perl).

If you want to use the precompiled binaries:

  + Download:
      http://www.perl.com/CPAN/authors/id/GSAR/perl5.00402-bindist04-bc.zip
    Unzip that, thoroughly read the README file, and install it.  Note that
    the it comes with an older version of libwin32, but you'll be
    completely replacing that in the next few steps.

  + Make sure the newly installed perl is available from the command line.
    Typing "perl -v" should report version 5.004_02.  If not, make sure
    you've added the installed location of perl.exe to your PATH correctly.

  + cd to wherever you uncompressed this distribution, and type
    "install.bat".  This should take care of installing everything in the
    right place.

  + Many modules come with their own test files.  You may want to
    use them as a source of examples.  Many of the test files will
    only run on Windows NT, others may require Windows NT 4.0, and
    still others may require Administrator privileges, or a full
    fledged Windows network.

The following applies only if you want to rebuild using your C compiler.
Otherwise, skip to the next section.

This set of modules will build with perl5.004_01 and later on the Windows
NT platform.  Building on Windows 95 is not supported (but it may be
possible if you use the 4DOS command shell, but YMMV).

  + First you need to build perl 5.004_01 or later (you will need
    either Visual C++ 4.x+ or Borland C++ 5.02+), and install it.  See
    README.win32 in the perl distribution for details on how to build
    perl for the Win32 platform.

  + That done, you need to extract this distribution into an NTFS
    partition (the tests in the FileSecurity module and Net* modules
    will fail otherwise).  The testsuite for OLE needs Excel to
    run.  NetAdmin will only work if you have some kind of
    live network connection, and are in a domain with a properly
    configured domain controller.  NetResource requires that you
    be part of a domain or workgroup.  You may also need
    Administrator privileges for running some of the tests.
    If one or more of these conditions will not be met, you may
    wish to build in the subdirectories one by one.  The steps
    below will work either at the toplevel directory, or in each
    of the individual extension subdirectories.

  + You need either MS Visual C++ (NetAdmin needs ver. 4.x+, Internet
    needs ver. 5.0. ver. 2.0 should suffice for the others) or
    Borland C++ 5.02.  Make sure you have the full installation of
    either of these compilers ("Minimal" installations or CDROM-based
    installations may have problems finding all the libraries).

  + If the Internet extension doesn't build due to lack of libraries
    (the wininet.h header is included), fetch the libraries from
    Aldo Calpini's website: "http://www.divinf.it/dada/perl/internet/".
    Look for a file named "WinInet.zip".  If the wininet.h or wininet.dll
    in your system are newer than the ones in WinInet.zip, discard them
    before copying WinInet.lib into the Internet/ directory.

  + Remove the 'blib' directory (it contains the precompiled binaries)

  + perl Makefile.PL               [either at toplevel or in subdirs]

  + $MAKE                          [either at toplevel or in subdirs]

  + $MAKE test                     [optional, some interactive tests]

  + $MAKE install                  [either at toplevel or in subdirs]

$MAKE above stands for either "dmake" or "nmake" depending on your
available compiler, and perl configuration.


WHAT THEN
---------

A brief statment of intent:  I am doing this to ease the transition
for many people who may wish to start using the latest perl on win32
platforms.  Long term development of these modules remains the
responsibility of the respective authors.

I wish to thank the authors of these modules for their effort in making
them useful, and for making them freely available.

If you find any problems with these modules, kindly report them to
me.  While I have fixed many problems in these modules, I may also have
introduced brand new bugs in the process :)

Suggestions, patches, testsuite additions, wholesale rewrites and
additional ports of modules welcome.

Enjoy!

Gurusamy Sarathy
[email protected]
6 February 1998


WHATEVER
--------

Copyright for many of the modules is held by their respective authors.
Look in the module subdirectories for any conditions of use.

The following copyright applies to all files that don't have an explicit
copyright statement:

   (c) 1995 Microsoft Corporation. All rights reserved.
       Developed by ActiveWare Internet Corp., http://www.ActiveWare.com

   Other modifications (c) 1997 by Gurusamy Sarathy <[email protected]>

   You may distribute under the terms of either the GNU General Public
   License or the Artistic License, as specified in the README file
   of the Perl distribution.