Path: usenet.cise.ufl.edu!huron.eel.ufl.edu!usenet.eel.ufl.edu!uky.edu!news.cuny.edu!nntp.upenn.edu!newshub.northeast.verio.net!nntprelay.mathworks.com!news.mathworks.com!uunet!in2.uu.net!news.neta.com!not-for-mail
From:
[email protected] (Gurusamy Sarathy)
Newsgroups: comp.lang.perl.announce,comp.lang.perl.modules
Subject: libwin32 version 0.12 released
Followup-To: comp.lang.perl.modules
Date: 2 Jun 1998 18:42:26 GMT
Organization: University of Michigan, Ann Arbor
Lines: 300
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:70 comp.lang.perl.modules:1948
Howdy.
Just a quick note to say there's a new release of libwin32 on CPAN.
http://www.perl.com/CPAN/authors/id/GSAR/libwin32-0.12.tar.gz
http://www.perl.com/CPAN/authors/id/GSAR/libwin32-0.12.zip
This release has a known problem: Win32::Registry may emit noises
about unintialized values when using perl's -w switch. You can apply
this patch to fix it, either by hand or using the GNU patch utility.
-----------------------------------8<-----------------------------------
[Humanspeak: add "$_[0] &&" to the test on line 104 of Registry.pm.]
--- libwin32/Registry/Registry.pm.~1~ Fri May 15 20:09:41 1998
+++ libwin32/Registry/Registry.pm Fri May 15 20:09:41 1998
@@ -101,7 +101,7 @@
sub import
{
my( $pkg )= shift;
- if( "Win32" eq $_[0] ) {
+ if( $_[0] && "Win32" eq $_[0] ) {
Exporter::export( $pkg, "Win32", @EXPORT_OK );
shift;
}
-----------------------------------8<-----------------------------------
The README from the distribution follows.
Enjoy,
- Sarathy.
[email protected]
------------------------------------------------------------------------
Welcome to libwin32 version 0.12.
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 ActiveState'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. The
precompiled binaries can ONLY be used with the perl5.00402-bindist04-bc.zip
distribution from CPAN. 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.
Version 0.11 was never publicly released. This release has the following
changes over the previous one (version 0.10):
+ Jutta Klebe has contributed a new module, Win32::PerfLib. It
provides comprehensive facilities for accessing performance counters
on Windows NT. See the documentation in PerfLib/PerfLib.pm.
+ Many, many fixes and enhancements in Win32::OLE, thanks to Jan Dubois
See OLE/Changes for a detailed list.
+ Win32::NetAdmin supports new functions: GetAliasFromRID(),
GetUserGroupFromRID(), LocalGroupGetMembersWithDomain(), and
GetServerDisks() (thanks to David Gardiner and Jutta Klebe).
A few broken constants have been fixed and missing ones added
(thanks to Dave Roth). Most symbols are exported on request
(thanks to Tye McQueen).
+ Bug fixes for Win32::ChangeNotify (from Chris Madsen, thanks).
+ Win32::Registry exports older symbols for compatibility (thanks to
Tye McQueen). Reg*Key() functions enable priveleges as needed
(thanks to Jutta Klebe).
+ Win32::Service now reports stopped services (merged from ActiveState's
sources, thanks).
+ Win32::GetArchName() and Win32::GetChipName() functions have been
added, for compatibility.
+ The bug whereby Win32::Process couldn't be loaded on Win95 should be
fixed.
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 316).
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.
* The Win32::PerfLib module to access performance counters on
remote and local Windows NT systems, contributed by
Jutta M. Klebe <
[email protected]>.
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. [Well not completely--
the Win32::AdminMisc module has been dropped since Dave Roth is
distributing newer versions compatible with the above binary
distribution, so the old AdminMisc will be left alone. See
http://www.roth.net/perl/adminmisc for how to get the latest.]
+ 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 need to rebuild using your C compiler.
(Note that you HAVE to do this if you built Perl yourself.) 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++ (OLE needs 4.2b, 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. [Aldo's
site doesn't seem to exist anymore. You should be able to get
the files from
http://www.microsoft.com/ if you look around.]
+ 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]
11 May 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, 1998 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.