Pod-Simple
view release on metacpan or search on metacpan
t/perlcygo.txt view on Meta::CPAN
: * ? " < > |
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).
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 open() is determined by the mode of the mount that underlies the file. Perl provides a binmod...
sysopen(FOO, "bar", O_WRONLY|O_CREAT|O_TEXT)
lseek(), tell() and sysseek() only work with files opened in binary mode.
The text/binary issue is covered at length in the Cygwin documentation.
.exe
The Cygwin stat(), lstat() and readlink() functions make the .exe extension transparent by looking for foo.exe when you ask for foo (unless a foo also exists). Cygwin does not require a .exe extension, but gcc adds it automatically when building a pr...
chown()
On WinNT chown() can change a file's user and group IDs. On Win9x chown() is a no-op, although this is appropriate since there is no security model.
Miscellaneous
File locking using the F_GETLK command to fcntl() is a stub that returns ENOSYS.
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).
INSTALL
This will install Perl, including man pages.
make install | tee log.make-install
NOTE: If STDERR is redirected `make install' will not prompt you to install perl into /usr/bin.
You may need to be Administrator to run `make install'. If you are not, you must have write access to the directories in question.
Information on installing the Perl documentation in HTML format can be found in the INSTALL document.
MANIFEST
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.
Documentation
INSTALL README.cygwin README.win32 MANIFEST
Changes Changes5.005 Changes5.004 Changes5.6
pod/perl.pod pod/perlport.pod pod/perlfaq3.pod
pod/perldelta.pod pod/perl5004delta.pod pod/perl56delta.pod
pod/perlhist.pod pod/perlmodlib.pod pod/buildtoc.PL pod/perltoc.pod
Build, Configure, Make, Install
cygwin/Makefile.SHs
cygwin/ld2.in
cygwin/perlld.in
ext/IPC/SysV/hints/cygwin.pl
ext/NDBM_File/hints/cygwin.pl
ext/ODBM_File/hints/cygwin.pl
hints/cygwin.sh
Configure - help finding hints from uname,
shared libperl required for dynamic loading
Makefile.SH - linklibperl
Porting/patchls - cygwin in port list
installman - man pages with :: translated to .
installperl - install dll/ld2/perlld, install to pods
makedepend.SH - uwinfix
Tests
t/io/tell.t - binmode
t/lib/b.t - ignore Cwd from os_extras
t/lib/glob-basic.t - Win32 directory list access differs from read mode
t/op/magic.t - $^X/symlink WORKAROUND, s/.exe//
t/op/stat.t - no /dev, skip Win32 ftCreationTime quirk
(cache manager sometimes preserves ctime of file
previously created and deleted), no -u (setuid)
Compiled Perl Source
EXTERN.h - __declspec(dllimport)
XSUB.h - __declspec(dllexport)
cygwin/cygwin.c - os_extras (getcwd, spawn)
perl.c - os_extras
perl.h - binmode
doio.c - win9x can not rename a file when it is open
pp_sys.c - do not define h_errno, pp_system with spawn
util.c - use setenv
Compiled Module Source
ext/POSIX/POSIX.xs - tzname defined externally
ext/SDBM_File/sdbm/pair.c
- EXTCONST needs to be redefined from EXTERN.h
ext/SDBM_File/sdbm/sdbm.c
- binary open
Perl Modules/Scripts
lib/Cwd.pm - hook to internal Cwd::cwd
lib/ExtUtils/MakeMaker.pm
- require MM_Cygwin.pm
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/Unix.pm - preserve //unc
lib/File/Temp.pm - no directory sticky bit
lib/perl5db.pl - use stdin not /dev/tty
utils/perldoc.PL - version comment
BUGS
When make starts, it warns about overriding commands for perlmain.o.
`make clean' does not remove library .def or .exe.stackdump files.
The ld2 script contains references to the source directory. You should change these to $installbin after `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, `dllwrap --export-all-symbols' is used to export global symbols. It might be better to generate an explicit .def file (see makedef.pl). Also, DLLs can now be build with `gcc -shared'.
AUTHORS
Charles Wilson <cwilson@ece.gatech.edu>, 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>.
HISTORY
Last updated: 9 November 2000
( run in 0.547 second using v1.01-cache-2.11-cpan-e1769b4cff6 )