Resent-Date: Sun, 12 Jan 2003 12:10:34 -0500 Resent-Message-Id: <200301121710 DOT h0CHAYf21896 AT delorie DOT com> Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Sun, 12 Jan 2003 13:50:16 +0100 From: "Rafael Kitover" Reply-To: cygwin AT cygwin DOT com X-Priority: 3 (Normal) Message-ID: <192-1728269520.20030112135016@familiehaase.de> To: cygwin AT cygwin DOT com Subject: PATCH: libwin32 0.191 builds and tests on Visual Studio, Cygwin, MinGW and Borland5.5.1 Resent-from: "Gerrit P. Haase" MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Located here: http://www.io.com/~rkitover/libwin32-0.191-port.diff This patch against libwin32 0.191 was created for one purpose, which it fulfills: Allowing a Perl CPAN shell user on Win32, regardless of their build environment, to type perl -MCPAN -e shell, install Win32 and have it compiled, tested, installed and working. It is no longer the case that the modules fail to build under Cygwin, and only half build on MinGW. Also, all warnings have been cleaned up. I've used Clive Nicolson's June Cygwin port patch as a reference for the Cygwin related stuff. Also, Win32API::File has the new functions: setFilePointer, getFileSize, GetFileSize and GetOverlappedResult. The functions setFilePointer and getFileSize are simpler wrappers for their respective APIs to support 64bitness (either through 64 bit ints like in the Cygwin 5.8 build, or through Math::BigInt if 64 bit ints are not available, like in the ActiveState builds and the Cygwin 5.6 build.) Also added to Win32API::File is a tied file handle interface that allows using the module as a normal Perl file handle or IO::File object, this is experimental for now. Buffering and overlapped IO has not been implemented yet. See APIFile/t/tie.t for an example. Initially it was created to emulate an OSF handle since Cygwin lacks the _open_osfhandle function. Build environments tested: Latest Cygwin with the new perl 5.8 package Latest Cygwin with the standard perl 5.6 package (I made the patch with cygwin 5.8 and AS508 then fixed it to support special cases in 5.6) ActiveState Perl build 508 with Visual Studio ActiveState Perl build 506 with Visual Studio Recent BleedPerl built with visual studio Recent BleedPerl built with latest MinGW and Gurusamy's dmake ActiveState Perl source 508 built with Borland BCC55 and dmake ActiveState Perl 5.005 build 522 (does NOT build Win32.xs, EventLog, FileSecurity, Job, NetAdmin, OLE, PerfLib and Process). The test suites have been slightly cleaned up to allow "make test" to run through successfully. Notes: There are some test-foo.pl and such files that get erroneously picked up and installed into ../blib/lib. There is still work to do to make the test suites more comprehensive and use the standard output format (they can always check for TEST_VERBOSE for debugging). It will not build on Perl 5.005 due to some XS incompatibility issues, I'd be happy to fix that, but does anyone really care? APIFile/test.pl should be moved under APIFile/t/file.t, and APIRegistry/test.pl to t/registry.t or something similar. I didn't want to make the patch any bigger. The OLE tests seem to leave orphaned Excel processes lying around, not sure which environments this applies to. DllMain in ODBC.xs is disabled in the cygwin and mingw builds because of export issues, it seems work fine without it. It would be incredibly cool if this patch could be applied to the libwin32 currently on CPAN, as that was its purpose. If there is anything I can do to make this a reality, please let me know. -- Rafael Kitover (Caelum on EfNet #perl) -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/