X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.cygwin;h=3bccc3e6ebb101e75415b9db1927f10106177834;hb=869efde7048cf4e4bafcc463f8d4209a63e0d41a;hp=8940ca6ed0e60f1949a7d0465000a811731729a4;hpb=b432a67249666bce4aa3385263660dc667d150d7;p=p5sagit%2Fp5-mst-13.2.git diff --git a/README.cygwin b/README.cygwin index 8940ca6..3bccc3e 100644 --- a/README.cygwin +++ b/README.cygwin @@ -27,11 +27,11 @@ platforms. They run thanks to the Cygwin library which provides the UNIX system calls and environment these programs expect. More information about this project can be found at: - http://www.cygwin.com/ + F A recent net or commercial release of Cygwin is required. -At the time this document was last updated, Cygwin 1.5.2 was current. +At the time this document was last updated, Cygwin 1.5.24 was current. =head2 Cygwin Configuration @@ -143,9 +143,10 @@ NOTE: The GDBM library only works on NTFS partitions. BerkeleyDB is available for Cygwin. -NOTE: The BerkeleyDB library only completely works on NTFS partitions. +NOTE: The BerkeleyDB library only completely works on NTFS partitions +and db-4.3 is flawed. -=item * C<-lcygipc> (C) +=item * C (C) A port of SysV IPC is available for Cygwin. @@ -292,7 +293,7 @@ directory (where you said to put public executables). It does not wait until the C process to install the I script, this is because the remainder of the C refers to I without fully specifying its path and does this from multiple subdirectories. -The assumption is that $installbin is in your current C. If this +The assumption is that I<$installbin> is in your current C. If this is not the case C will fail at some point. If this happens, just manually copy I from the source directory to somewhere in your C. @@ -303,7 +304,7 @@ There are two steps to running the test suite: make test 2>&1 | tee log.make-test - cd t;./perl harness 2>&1 | tee ../log.harness + cd t; ./perl harness 2>&1 | tee ../log.harness The same tests are run both times, but more information is provided when running as C<./perl harness>. @@ -323,8 +324,8 @@ user write bit (files are always readable, files are executable if they have a F<.{com,bat,exe}> extension or begin with C<#!>, directories are always readable and executable). On WinNT with the I C setting, the additional mode bits are stored as extended file attributes. -On WinNT with the I C setting, permissions use the standard -WinNT security descriptors and access control lists. Without one of +On WinNT with the default I C setting, permissions use the +standard WinNT security descriptors and access control lists. Without one of these options, these tests will fail (listing not updated yet): Failed Test List of failed @@ -356,7 +357,7 @@ If you intend to run only on FAT (or if using AnyDBM_File on FAT), run Configure with the -Ui_ndbm and -Ui_dbm options to prevent NDBM_File and ODBM_File being built. -With NTFS (and CYGWIN=ntsec), there should be no problems even if +With NTFS (and no CYGWIN=nontsec), there should be no problems even if perl was built on FAT. =head2 C failures in io_* tests @@ -395,14 +396,23 @@ File names are case insensitive, but case preserving. A pathname that contains a backslash or drive letter is a Win32 pathname (and not subject to the translations applied to POSIX style pathnames). +For conversion we have C and +C. + +Pathnames may not contain Unicode characters. C still uses the +ANSI API calls and no Unicode calls because of newlib deficiencies. +There's an unofficial unicode patch for cygwin at +F + =item * Text/Binary 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 mode for an C is determined by the mode of the mount that underlies -the file. Perl provides a C function to set binary mode on files -that otherwise would be treated as text. C with the C -flag sets text mode on files that otherwise would be treated as binary: +the file. See C. Perl provides a C function +to set binary mode on files that otherwise would be treated as text. +C with the C flag sets text mode on files that otherwise +would be treated as binary: sysopen(FOO, "bar", O_WRONLY|O_CREAT|O_TEXT) @@ -487,7 +497,7 @@ F to install it and run rebaseall. =item C -Returns current working directory. +Returns the current working directory. =item C @@ -498,6 +508,55 @@ may not be the same). Translates a Windows pid to the corresponding cygwin pid (if any). +=item C + +Translates a Windows path to the corresponding cygwin path respecting +the current mount points. With a second non-null argument returns an +absolute path. Double-byte characters will not be translated. + +=item C + +Translates a cygwin path to the corresponding cygwin path respecting +the current mount points. With a second non-null argument returns an +absolute path. Double-byte characters will not be translated. + +=item C + +Returns an array of [mnt_dir, mnt_fsname, mnt_type, mnt_opts]. + + perl -e 'for $i (Cygwin::mount_table) {print join(" ",@$i),"\n";}' + /bin c:\cygwin\bin system binmode,cygexec + /usr/bin c:\cygwin\bin system binmode + /usr/lib c:\cygwin\lib system binmode + / c:\cygwin system binmode + /cygdrive/c c: system binmode,noumount + /cygdrive/d d: system binmode,noumount + /cygdrive/e e: system binmode,noumount + +=item C + +Returns the mount type and flags for a specified mount point. +A comma-seperated string of mntent->mnt_type (always +"system" or "user"), then the mntent->mnt_opts, where +the first is always "binmode" or "textmode". + + system|user,binmode|textmode,exec,cygexec,cygdrive,mixed, + notexec,managed,nosuid,devfs,proc,noumount + +If the argument is "/cygdrive", just the volume mount settings are returned. + +User mounts override system mounts. + + $ perl -e 'print Cygwin::mount_flags "/usr/bin"' + system,binmode,cygexec + $ perl -e 'print Cygwin::mount_flags "/cygdrive"' + binmode,cygdrive + +=item C + +Returns true if the given cygwin path is binary mounted, false if the +path is mounted in textmode. + =back =head1 INSTALL PERL ON CYGWIN @@ -564,8 +623,7 @@ be kept as clean as possible (listing not updated yet). EXTERN.h - __declspec(dllimport) XSUB.h - __declspec(dllexport) - cygwin/cygwin.c - os_extras (getcwd, spawn, Cygwin::winpid_to_pid, - Cygwin::pid_to_winpid) + cygwin/cygwin.c - os_extras (getcwd, spawn, and several Cygwin:: functions) perl.c - os_extras perl.h - binmode doio.c - win9x can not rename a file when it is open @@ -588,6 +646,7 @@ be kept as clean as possible (listing not updated yet). lib/ExtUtils/MM_Cygwin.pm - canonpath, cflags, manifypods, perl_archive lib/File/Find.pm - on remote drives stat() always sets st_nlink to 1 + lib/File/Spec/Cygwin.pm - case_tolerant lib/File/Spec/Unix.pm - preserve //unc lib/File/Temp.pm - no directory sticky bit lib/perl5db.pl - use stdin not /dev/tty @@ -610,8 +669,10 @@ alexander smishlajev , Steven Morlock , Sebastien Barre , Teun Burgers , -Gerrit P. Haase . +Gerrit P. Haase , +Reini Urban , +Jan Dubois . =head1 HISTORY -Last updated: 2005-02-11 +Last updated: 2007-08-12