This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update .gitignore file
[perl5.git] / README.cygwin
index 017c452..691da50 100644 (file)
@@ -31,7 +31,7 @@ L<http://www.cygwin.com/>
 
 A recent net or commercial release of Cygwin is required.
 
-At the time this document was last updated, Cygwin 1.7.10 was current.
+At the time this document was last updated, Cygwin 1.7.16 was current.
 
 
 =head2 Cygwin Configuration
@@ -43,7 +43,7 @@ Perl usage.
 B<NOTE:> The binaries that are built will run on all Win32 versions.
 They do not depend on your host system (WinXP/Win2K/Win7) or your
 Cygwin configuration (binary/text mounts, cvgserver).
-The only dependencies come from hard-coded pathnames like C</usr/local>.
+The only dependencies come from hard-coded pathnames like F</usr/local>.
 However, your host system and Cygwin configuration will affect Perl's
 runtime behavior (see L</"TEST">).
 
@@ -325,7 +325,7 @@ to portability, more information can be found in the Cygwin documentation.
 
 Cygwin pathnames are separated by forward (F</>) slashes, Universal
 Naming Codes (F<//UNC>) are also supported Since cygwin-1.7 non-POSIX
-pathnames are disencouraged.  Names may contain all printable
+pathnames are discouraged.  Names may contain all printable
 characters.
 
 File names are case insensitive, but case preserving.  A pathname that
@@ -340,7 +340,7 @@ Since cygwin-1.7 pathnames are UTF-8 encoded.
 
 =item * Text/Binary
 
-Since cywgin-1.7 textmounts are deprecated and stronlgy discouraged.
+Since cygwin-1.7 textmounts are deprecated and strongly discouraged.
 
 When a file is opened it is in either text or binary mode.  In text mode
 a file is subject to CR/LF/Ctrl-Z translations.  With Cygwin, the default
@@ -390,7 +390,7 @@ Cygwin processes have their own pid, which is different from the
 underlying windows pid.  Most posix compliant Proc functions expect
 the cygwin pid, but several Win32::Process functions expect the
 winpid. E.g. C<$$> is the cygwin pid of F</usr/bin/perl>, which is not
-the winpid.  Use C<Cygwin::winpid_to_pid()> and C<Cygwin::winpid_to_pid()>
+the winpid.  Use C<Cygwin::pid_to_winpid()> and C<Cygwin::winpid_to_pid()>
 to translate between them.
 
 =item * Cygwin vs. Windows errors
@@ -409,7 +409,8 @@ looks like like the following:
 
 or:
 
-  183 [main] perl 3588 C:\cygwin\bin\perl.exe: *** fatal error - unable to remap C:\cygwin\bin\cygsvn_subr-1-0.dll to same address as parent(0x6FB30000) != 0x6FE60000
+  183 [main] perl 3588 C:\cygwin\bin\perl.exe: *** fatal error - unable to remap
+  C:\cygwin\bin\cygsvn_subr-1-0.dll to same address as parent(0x6FB30000) != 0x6FE60000
   46 [main] perl 3488 fork: child 3588 - died waiting for dll loading, errno11
 
 See L<http://cygwin.com/faq/faq-nochunks.html#faq.using.fixing-fork-failures>
@@ -513,6 +514,17 @@ User mounts override system mounts.
 Returns true if the given cygwin path is binary mounted, false if the
 path is mounted in textmode.
 
+=item C<Cygwin::sync_winenv>
+
+Cygwin does not initialize all original Win32 environment variables.
+See the bottom of this page L<http://cygwin.com/cygwin-ug-net/setup-env.html>
+for "Restricted Win32 environment".
+
+Certain Win32 programs called from cygwin programs might need some environment
+variable, such as e.g. ADODB needs %COMMONPROGRAMFILES%.
+Call Cygwin::sync_winenv() to copy all Win32 environment variables to your
+process and note that cygwin will warn on every encounter of non-POSIX paths.
+
 =back
 
 =head1 INSTALL PERL ON CYGWIN
@@ -552,9 +564,9 @@ be kept as clean as possible.
   dist/Cwd/Changes ext/Compress-Raw-Zlib/Changes
   ext/Compress-Raw-Zlib/README ext/Compress-Zlib/Changes
   ext/DB_File/Changes ext/Encode/Changes ext/Sys-Syslog/Changes
-  ext/Time-HiRes/Changes ext/Win32API-File/Changes lib/CGI/Changes
+  ext/Time-HiRes/Changes ext/Win32API-File/Changes
   lib/ExtUtils/CBuilder/Changes lib/ExtUtils/Changes lib/ExtUtils/NOTES
-  lib/ExtUtils/PATCHING lib/ExtUtils/README lib/Module/Build/Changes
+  lib/ExtUtils/PATCHING lib/ExtUtils/README
   lib/Net/Ping/Changes lib/Test/Harness/Changes
   lib/Term/ANSIColor/ChangeLog lib/Term/ANSIColor/README README.symbian
   symbian/TODO
@@ -652,16 +664,6 @@ be kept as clean as possible.
                         - _open_osfhandle not implemented under Cygwin
   ext/Win32CORE/Win32CORE.pm
                         - History of Win32CORE under Cygwin
-  lib/CGI.pm            - binmode and path separator
-  lib/CPANPLUS/Dist/MM.pm - Commented out code that fails under Win32/Cygwin
-  lib/CPANPLUS/Internals/Constants/Report.pm
-                        - OS classifications
-  lib/CPANPLUS/Internals/Constants.pm
-                        - Constants for Cygwin
-  lib/CPANPLUS/Internals/Report.pm
-                        - Example of Cygwin report
-  lib/CPANPLUS/Module.pm
-                        - Abort if running on old Cygwin version
   lib/Cwd.pm            - hook to internal Cwd::cwd
   lib/ExtUtils/CBuilder/Platform/cygwin.pm
                         - use gcc for ld, and link to libperl.dll.a
@@ -681,10 +683,6 @@ be kept as clean as possible.
   lib/File/Spec/Win32.pm - References a message on cygwin.com
   lib/File/Spec.pm      - Pulls in lib/File/Spec/Cygwin.pm
   lib/File/Temp.pm      - no directory sticky bit
-  lib/Module/Build/Compat.pm - Comment references 'make' under Cygwin
-  lib/Module/Build/Platform/cygwin.pm
-                        - Use '.' for man page separator
-  lib/Module/Build.pm   - Cygwin is Unix-like
   lib/Module/CoreList.pm - List of all module files and versions
   lib/Net/Domain.pm     - No domainname command under Cygwin
   lib/Net/Netrc.pm      - Bypass using stat() under Cygwin
@@ -717,8 +715,6 @@ be kept as clean as possible.
   lib/AnyDBM_File.t
   lib/Archive/Extract/t/01_Archive-Extract.t
   lib/Archive/Tar/t/02_methods.t
-  lib/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t
-  lib/CPANPLUS/t/20_CPANPLUS-Dist-MM.t
   lib/ExtUtils/t/Embed.t
   lib/ExtUtils/t/eu_command.t
   lib/ExtUtils/t/MM_Cygwin.t
@@ -729,7 +725,6 @@ be kept as clean as possible.
   lib/File/Path.t
   lib/File/Spec/t/crossplatform.t
   lib/File/Spec/t/Spec.t
-  lib/Module/Build/t/destinations.t
   lib/Net/hostent.t
   lib/Net/Ping/t/110_icmp_inst.t
   lib/Net/Ping/t/500_ping_icmp.t