This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate perl
[perl5.git] / README.cygwin
index a99832a..026da0d 100644 (file)
@@ -31,7 +31,7 @@ about this project can be found at:
 
 A recent net or commercial release of Cygwin is required.
 
-At the time this document was last updated, Cygwin 1.3.5 was current.
+At the time this document was last updated, Cygwin 1.3.10 was current.
 
 
 =head2 Cygwin Configuration
@@ -124,22 +124,18 @@ Alternatively, the crypt libraries in GNU libc have been ported to Cygwin.
 
 The DES based Ultra Fast Crypt port was done by Alexey Truhan:
 
-  ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Okhapkin_Sergey/cw32crypt-dist-0.tgz
+  ftp://ftp.uni-erlangen.de/pub/pc/gnuwin32/cygwin/porters/Okhapkin_Sergey/cw32crypt-dist-0.tgz
 
 NOTE: There are various export restrictions on DES implementations,
 see the glibc README for more details.
 
 The MD5 port was done by Andy Piper:
 
-  ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Okhapkin_Sergey/libcrypt.tgz
+  ftp://ftp.uni-erlangen.de/pub/pc/gnuwin32/cygwin/porters/Okhapkin_Sergey/libcrypt.tgz
 
 =item * C<-lgdbm> (C<use GDBM_File>)
 
-GDBM is available for Cygwin.  GDBM's ndbm/dbm compatibility feature
-also makes C<NDBM_File> and C<ODBM_File> possible (although they add
-little extra value).
-
-NOTE: The ndbm/dbm emulations only completely work on NTFS partitions.
+GDBM is available for Cygwin.
 
 =item * C<-ldb> (C<use DB_File>)
 
@@ -157,7 +153,12 @@ C<d_semctl_semun> is undefined because it fails a Configure test
 and on Win9x the I<shm*()> functions seem to hang.  It also creates
 a compile time dependency because F<perl.h> includes F<<sys/ipc.h>>
 and F<<sys/sem.h>> (which will be required in the future when compiling
-CPAN modules).
+CPAN modules).  NO LONGER SUPPORTED!
+
+=item * C<-lutil>
+
+Included with the standard Cygwin netrelease is the inetutils package 
+which includes libutil.a.
 
 =back
 
@@ -191,26 +192,32 @@ more than one interpreter instance.  This works with the Cygwin port.
 
 =item * C<-Duse64bitint>
 
-I<gcc> supports 64-bit integers.  However, several additional long long
-functions are necessary to use them within Perl (I<{strtol,strtoul}l>).
-These are B<not> yet available with Cygwin.
+By default Perl uses 32 bit integers.  If you want to use larger 64
+bit integers, define this symbol.  If there is trouble, check that
+your Cygwin installation is up to date.
 
 =item * C<-Duselongdouble>
 
 I<gcc> supports long doubles (12 bytes).  However, several additional
 long double math functions are necessary to use them within Perl
-(I<{atan2,cos,exp,floor,fmod,frexp,isnan,log,modf,pow,sin,sqrt}l,strtold>).
+(I<{atan2, cos, exp, floor, fmod, frexp, isnan, log, modf, pow, sin, sqrt}l, 
+strtold>).
 These are B<not> yet available with Cygwin.
 
 =item * C<-Dusethreads>
 
-POSIX threads are B<not> yet implemented in Cygwin.
+POSIX threads are B<not> yet implemented in Cygwin completely.
 
 =item * C<-Duselargefiles>
 
 Although Win32 supports large files, Cygwin currently uses 32-bit integers
 for internal size and position calculations.
 
+=item * C<-Dmksymlinks>
+
+Use this to build perl outside of the source tree.  This works with Cygwin.
+Details can be found in the F<INSTALL> document.
+
 =back
 
 =head2 Suspicious Warnings on Cygwin
@@ -315,7 +322,7 @@ always readable and executable).  On WinNT with the I<ntea> C<CYGWIN>
 setting, the additional mode bits are stored as extended file attributes.
 On WinNT with the I<ntsec> C<CYGWIN> setting, permissions use the standard
 WinNT security descriptors and access control lists.  Without one of
-these options, these tests will fail:
+these options, these tests will fail (listing not updated yet):
 
   Failed Test           List of failed
   ------------------------------------
@@ -341,7 +348,7 @@ to portability, more information can be found in the Cygwin documentation.
 
 =item * Pathnames
 
-Cygwin pathnames can be separated by forward (F</>) or backward (F<\>)
+Cygwin pathnames can be separated by forward (F</>) or backward (F<\\>)
 slashes.  They may also begin with drive letters (F<C:>) or Universal
 Naming Codes (F<//UNC>).  DOS device names (F<aux>, F<con>, F<prn>,
 F<com*>, F<lpt?>, F<nul>) are invalid as base filenames.  However, they
@@ -394,13 +401,17 @@ Win9x can not rename() an open file (although WinNT can).
 The Cygwin chroot() implementation has holes (it can not restrict file
 access by native Win32 programs).
 
+Inplace editing C<perl -i> of files doesn't work without doing a backup 
+of the file being edited C<perl -i.bak> because of windowish restrictions,
+so Perl adds the C<.bak> automatically if you just use C<perl -i>.
+
 =back
 
 =head1 INSTALL PERL ON CYGWIN
 
 This will install Perl, including I<man> pages.
 
-  make install | tee log.make-install
+  make install 2>&1 | tee log.make-install
 
 NOTE: If C<STDERR> is redirected `C<make install>' will B<not> prompt
 you to install I<perl> into F</usr/bin>.
@@ -416,7 +427,7 @@ found in the F<INSTALL> document.
 These are the files in the Perl release that contain references to Cygwin.
 These very brief notes attempt to explain the reason for all conditional
 code.  Hopefully, keeping this up to date will allow the Cygwin port to
-be kept as clean as possible.
+be kept as clean as possible (listing not updated yet).
 
 =over 4
 
@@ -491,23 +502,11 @@ be kept as clean as possible.
 
 =head1 BUGS ON CYGWIN
 
-When I<make> starts, it warns about overriding commands for F<perlmain.o>.
-
-`C<make clean>' does not remove library F<.def> or F<.exe.stackdump>
-files.
-
-The I<ld2> script contains references to the source directory.  You should
-change these to $installbin after `C<make install>'.
-
 Support for swapping real and effective user and group IDs is incomplete.
 On WinNT Cygwin provides setuid(), seteuid(), setgid() and setegid().
 However, additional Cygwin calls for manipulating WinNT access tokens
 and security contexts are required.
 
-When building DLLs, `C<dllwrap --export-all-symbols>' is used to export
-global symbols.  It might be better to generate an explicit F<.def> file
-(see F<makedef.pl>).  Also, DLLs can now be build with `C<gcc -shared>'.
-
 =head1 AUTHORS
 
 Charles Wilson <cwilson@ece.gatech.edu>,
@@ -515,8 +514,9 @@ Eric Fifer <egf7@columbia.edu>,
 alexander smishlajev <als@turnhere.com>,
 Steven Morlock <newspost@morlock.net>,
 Sebastien Barre <Sebastien.Barre@utc.fr>,
-Teun Burgers <burgers@ecn.nl>.
+Teun Burgers <burgers@ecn.nl>,
+Gerrit Haase <gh@familiehaase.de>.
 
 =head1 HISTORY
 
-Last updated: 9 November 2000
+Last updated: 2002-02-27