README.amiga Notes about AmigaOS port
README.apollo Notes about Apollo DomainOS port
README.beos Notes about BeOS port
-README.cygwin32 Notes about Cygwin32 port
+README.cygwin Notes about Cygwin port
README.dos Notes about dos/djgpp port
README.epoc Notes about EPOC port
README.hpux Notes about HP-UX port
configure.gnu Crude emulation of GNU configure
cop.h Control operator header
cv.h Code value header
-cygwin32/Makefile.SHs Shared library generation for Cygwin32 port
-cygwin32/ld2.in ld wrapper template for Cygwin32 port
-cygwin32/perlld.in dll generator template for Cygwin32 port
-cygwin32/build-instructions.charles-wilson Cygwin32 porters notes
-cygwin32/build-instructions.READFIRST Cygwin32 porters notes
-cygwin32/build-instructions.steven-morlock2 Cygwin32 porters notes
-cygwin32/build-instructions.sebastien-barre Cygwin32 porters notes
-cygwin32/build-instructions.steven-morlock Cygwin32 porters notes
+cygwin/Makefile.SHs Shared library generation for Cygwin port
+cygwin/ld2.in ld wrapper template for Cygwin port
+cygwin/perlld.in dll generator template for Cygwin port
deb.c Debugging routines
djgpp/config.over DOS/DJGPP port
djgpp/configure.bat DOS/DJGPP port
ext/DynaLoader/README Dynamic Loader notes and intro
ext/DynaLoader/dl_aix.xs AIX implementation
ext/DynaLoader/dl_beos.xs BeOS implementation
-ext/DynaLoader/dl_cygwin32.xs Cygwin32 implementation
+ext/DynaLoader/dl_cygwin.xs Cygwin implementation
ext/DynaLoader/dl_dld.xs GNU dld style implementation
ext/DynaLoader/dl_dlopen.xs BSD/SunOS4&5 dlopen() style implementation
ext/DynaLoader/dl_hpux.xs HP-UX implementation
hints/bsdos.sh Hints for named architecture
hints/convexos.sh Hints for named architecture
hints/cxux.sh Hints for named architecture
-hints/cygwin32.sh Hints for named architecture
+hints/cygwin.sh Hints for named architecture
hints/dcosx.sh Hints for named architecture
hints/dec_osf.sh Hints for named architecture
hints/dgux.sh Hints for named architecture
+++ /dev/null
-This document is obsolete. Refer to README.cygwin32. However, if you want
-to build a statically linked perl binary, then you applied the wrong patch.
-You want perl5.005_03-static-patch, which will build "Pre-release 1"
-according to the nomenclature in README.cygwin32.
-
-The perl source distribution is available from
- http://www.cpan.org/src/index.html
-
-For the easiest build of perl under Cygwin, do the following:
-
-(1) read
- *(a) README.cygwin from the perl source distribution
- *(b) read build-instructions.charles-wilson
- (b) read build-instructions.sebastien-barre
- (c) read build-instructions.steven-morlock
- (d) read build-instructions.steven-morlock2
- (e) read build-instructions.teun-burgers
-
-(2) prepare the source
- (a) unpack perl source distribution in /usr/local/src
- (b) copy perl5.005_03-static-patch into /usr/local/src/perl5.005_03/
- (c) cd /usr/local/src/perl5.005_03
- (d) chmod -R +w *
- (e) patch -p1 < perl5.005_03-static-patch
-
-(3) get ready to build
- (a) cp cygwin32/cw32imp.h .
- (b) cp cygwin32/gcc2 .
- (c) cp cygwin32/ld2 .
- (d) cp cygwin32/perlgcc .
- (e) cp cygwin32/perlld .
- (f) cp gcc2 /usr/local/bin
- (g) cp ld2 /usr/local/bin
- (h) cp hints/cygwin32.sh config.sh
- (i) sh Configure -d
- (automatically does a make depend)
-
-(4) build and install
- (b) make
- (c) make test
- (d) make install
-
-To customize, look around in the patchfile or ignore the patch and
-follow the build-instructions.* directly. If you want to edit the paths
-in the patchfile to reflect your system, search for "/usr/" within the
-patchfile.
-
-* MUST read.
-
+++ /dev/null
-This document is obsolete. Refer to README.cygwin32.
-
-DATE: 13 May 99
-
-Here are a few hints for building perl with cygwin:
-
-(1) There have been some problems compiling with the default compiler
-installed with cygwin-b20.1. If you're reading this file, then you've
-already applied perl5.005_03-static-patch. Some of the patches in
-perl5.005_03-static-patch attempt to correct these problems, but it
-would probably be a good idea to upgrade your compiler to egcs-1.1.1
-(or better) from Mumit Khan's website --
-http://www.xraylith.wisc.edu/~khan/software/gnu-win32/
-
-(2) To avoid some failures when doing a "make test", use CYGWIN=ntea
-while testing. However, see the Cygwin FAQ concerning the use of ntea
-with FAT partitions. The tests that fail are those that deal with file
-ownership and access.
-
-(3) Perl should build without trouble under text mounts or binary
-mounts. However, some tests ("make test") may fail when using text
-mounts. The tests that fail are those that involve using tie() to
-attach a hashtable variable to a file.
-
-(4) There have been a few hints that some tests may also fail depending
-on whether you're building, testing, and/or installing as a normal
-user, or as a member of the Administrators group (NT only). However,
-we're not sure about this one yet.
-
-(5) When compiling static modules for perl, don't mix modules compiled
-under text mounts and modules compiled under binary mounts.
-
-(6) The sourcefiles in the tarball extract as "-r--r--r--" by default.
-This may or may not cause problems, depending on your setup. To be safe,
-I executed "chmod -R +w *".
-
-(7) To make life easier, you should download install-cygwin-b20.sh from
-ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/
- porters/Humblet_Pierre_A/
-and use it as your install "executable." Just follow the instructions
-that are embedded as comments in that shell script.
-
-(8) There were a number of failed operations when installing. These
-occurred in two cases: first, when trying to create man pages whose
-names had ":" in them -- i.e. man/man3/Tie::Array.3, and second,
-when copying the pod files from SRCDIR/pod/*.pod to
-/usr/local/lib/perl5/perl5.00503/pod/. I'm not sure why, but I just
-completed that operation by hand afterwards.
-
-RESULTS:
-****************************************************
-
-I built and tested as a normal user (not Administrator and not a member
-of the Administrators group). However, I had to
-'chown -R cwilson /usr/local/*' in order to avoid various NTisms.
-(Previously, my /usr/local tree was owned by the Administrators GROUP,
-and since I was building as a normal user, I couldn't install
-completely. Why didn't I just switch to the Administrator account to
-install? Well, that has its own share of problems: basically, the
-Administrator couldn't write to those directories either - they were
-owned by the Admin group, not the Admin user. And the permissions were
--rw-r--r-- (or -r--r--r--), so group members weren't allowed write
-access. Blame MS.)
-
-RESULTS: make test
-------------------
-
-Failed 4 test scripts out of 190, 92.63% okay.
-u=2.143 s=4.897 cu=120.165 cs=159.697 scripts=180 tests=6430
-
-RESULTS: ./perl harness
------------------------
-most things were "foo/bar............ok" with the following exceptions:
-
-
-base/rs.............ok, 4/14 subtests skipped
-op/groups...........skipping test on this platform
-op/magic............FAILED test 23
- Failed 1/35 tests, 97.14% okay (-4 skipped tests: 30 okay,
-85.71%)
-op/stat.............ls: /dev: No such file or directory
-FAILED tests 4, 35
- Failed 2/58 tests, 96.55% okay
-op/taint............FAILED tests 1, 3, 31
- Failed 3/149 tests, 97.99% okay (-12 skipped tests: 134 okay,
-89.93%)
- (Also got the following popup message four times - "The dynamic
-link
- library cygwin1.dll could not be found in the specified path
- F:\cygnus\cygwin-b20\usr\local\src\perl5.005_03\t;.;
- E:\WINNT\System32;E:\WINNT\system;E:\WINNT;..")
-lib/findbin.........FAILED test 1
- Failed 1/1 tests, 0.00% okay
-lib/db-btree........skipping test on this platform
-lib/db-hash.........skipping test on this platform
-lib/db-recno........skipping test on this platform
-lib/gdbm............skipping test on this platform
-lib/ipc_sysv........skipping test on this platform
-lib/ndbm............skipping test on this platform
-lib/odbm............skipping test on this platform
-lib/posix...........skipping test on this platform
-lib/thread..........skipping test on this platform
-
-Failed Test Status Wstat Total Fail Failed List of failed
-------------------------------------------------------------------------
--------
-lib/findbin.t 1 1 100.00% 1
-op/magic.t 35 1 2.86% 23
-op/stat.t 58 2 3.45% 4, 35
-op/taint.t 149 3 2.01% 1, 3, 31
-10 tests skipped, plus 20 subtests skipped.
-Failed 4/190 test scripts, 97.89% okay. 7/6430 subtests failed, 99.89%
-okay.
+++ /dev/null
-This document is obsolete. Refer to README.cygwin32.
-
-perl5.005_03-static-patch implements all of the
-suggestions below. Results in a static build, 93.85%
-successful test on NT.
-
-
-**********************************
-Subject: Re: Compiling Perl under b20.1
- Date: Fri, 05 Mar 1999 16:41:52 +0100
- From: Sebastien Barre <Sebastien.Barre@utc.fr>
- To: Allan Peda <allan@interport.net>
- CC: Cygwin Mailing List <cygwin@sourceware.cygnus.com>
-
-At 22:04 04/03/99 -0500, Allan Peda wrote:
-
->Has there been much success with this? I've done it with MSVC + nmake,
->but I'd get more of a thrill using cygwin.
-
-I did (5.005_002 static build, 91.4% successfull test).
-
-As many people from this list helped me, I'd glad to offer the same.
-
-Basically,
-
-*) Read the README.cywin32
-
-*) Edit the hints/cygwin32.sh file to reflect your paths.
-
-Here are also a couple of settings I found useful when performing
-automatic
-build (copy hints/cygwin32.sh to config.sh, and do sh Configure -d)
-
-usedl='n'
-i_stdarg='define'
-i_varargs='undef'
-osname='cygwin_nt-4.0'
-osvers='20.1'
-archname='cygwin32'
-signal_t='int'
-d_voidsig='define'
-i_sysselct='undef'
-signal_t='void'
-
-*) Browse Usenet archives (DejaNews), and find "HOWTO: Builiding Perl
-under Win95/98 using Cygwin32 "
-Steven Morlock <newspost@morlock.net>
-1998/12/21
-comp.lang.perl.misc
-
-*) Then apply this patch (Thanks to Todd Goodman)
-
-This is my change in Cwd.pm:
---- cwd.pm Fri Feb 26 21:52:42 1999
-+++ cwd.pm.orig Fri Jan 22 20:49:54 1999
-@@ -208,8 +208,6 @@
- my $start = @_ ? shift : '.';
- my($dotdots, $cwd, @pst, @cst, $dir, @tst);
-
-- return cwd() if ( $^O =~ /cygwin/ );
--
- unless (@cst = stat( $start ))
- {
-
-And tell me (email) if it fails.
-
-______________________________________________________________
-Sebastien Barre http://www.hds.utc.fr/~barre/
-
---
-Want to unsubscribe from this list?
-Send a message to cygwin-unsubscribe@sourceware.cygnus.com
-
-
+++ /dev/null
-This document is obsolete. Refer to README.cygwin32.
-
-From comp.lang.perl.misc. perl5.005_03-static-patch
-implements most of the suggestions below. My observations during the
-build process are commented within the body of Mr. Morlock's message,
-set off by ******CSW******
-
-
-**************************************
-Subject: HOWTO: Builiding Perl under Win95/98 using Cygwin32
-Author: Steven Morlock <newspost@morlock.net>
-Date: 1998/12/21
-Forum: comp.lang.perl.misc
-
-If you have a desire to build Perl under Windows 95/98 using Cygnus'
-Cygwin Win32 ports of the GNU development tools (Cygwin32) you might
-get something out of my experience of building it.
-
-An advantage of the versions Perl built with Cygwin32 is that Cygwin32
-has a POSIX compatible library including support for the fork()
-function.
-
-Steve
-
---
-Steven Morlock
-Foliage Software Systems
-aka The Nerd Farm
-http://www.foliage.com
-==
-
-These are the steps I took to build the latest development
-version of Perl (5.005.53) under the Windows 95 & Window 98
-operating system using Cygnus' Cygwin Win32 ports of the GNU
-development tools.
-
-The release of the Cygwin32 tools used was B20.1. These tools
-can be found at:
-
- http://sourceware.cygnus.com/cygwin
-
-Install Cygwin32 as described on the Cygnus web site. Additionally
-you should mount /bin as described in the following document:
-
- http://sourceware.cygnus.com/cygwin/cygwin-ug-net/setup-mount.html
-
-Note that the mount command shown in their example should appear on a
-single line:
-
- mount C:/cygnus/cygwin-b20/H-i586-cygwin32/bin /bin
-
-You must run the described build process below under the Cygwin32
-'bash' shell.
-
-In the following <PERL> will refer to the perl source/build
-directory. <INST> will refer to the perl target/install directory.
-
-* Pre-build checklist:
-
- - I found that building Perl on a unmounted partition/drive other
- than the root will fail. It appears that the double forward slash
- that Cygwin32 uses to reference drives other than the root drive
- (typically C:) gets converted to a single forward slash at several
- points in the build process. I have not tried, but expect it would
- work, to mount the non-root drive. This problem held true for both
- the drive where the perl source were and the drive where the
- Cygwin32 binaries where located. In the build described in these
- notes the Perl source and Cygwin32 binaries were located on the
- root drive.
-
- - Following the instructions in <PERL>/README.cygwin32:
-*******CSW********
-apply the patch, first
-******************
-
- + Copy the contents of the <PERL>cygwin32 directory to <PERL>
-
- + Edit the 'ld2' & 'gcc2' scripts to reflect the build path <PERL>
-
- + Either move 'ld2' & 'gcc2' to a directory on your path or add
- <PERL> to you path.
-
- - Edit <PERL>/hints/cygwin32.sh:
-
- + Add the following lines to the script:
-*******CSW********
-the patch does this
-******************
- i_stdarg='define'
- i_varargs='undef'
-
- This change allows us to pick up the right version of
- va_start(). Cygwin32 has both a signal and double parameter
- versions floating around in their header files.
-
- + Remove support for dynamic linking. I found that all
- DynaLoader'd extensions crashed during the running of the
- test suite. Add or edit 'usedl' entry to read:
-*******CSW********
-the patch does this
-******************
- usedl='n'
-
- If there is enough push I will try to sort out the problems with
- dynamic loading. I have made several unsuccessful attempts at
- modifying <PERL>/perlld to fix this problem. If you are
- interested, write me.
-
- + Change the path to the Cygwin32 directories. This includes the
- entries for 'usrinc', 'libpth', 'lddlflags', 'libc' and
- 'usrinc'.
-*******CSW********
-the patch does this ^
-******************
-
- - Edit makedepend.SH. The original version of makedepend.SH produces
- dependencies that include double backslashes. This can not be
- processed by Cygwin32's 'make'. Apply the following modification
- to makedepend.SH to correct these unfortunate filenames:
-*******CSW********
-and this, as well \/
-******************
-
-*** makedepend.SH.ORIG Wed Sep 23 09:51:56 1998
---- makedepend.SH Mon Dec 21 09:27:30 1998
-***************
-*** 100,105 ****
---- 100,107 ----
- # for file in `cat /dev/null`; do
- if [ "$osname" = uwin ]; then
- uwinfix="-e s,\\\\\\\\,/,g -e s,\\([a-zA-Z]\\):/,/\\1/,g"
-+ elif [ "$archname" = cygwin32 ]; then
-+ uwinfix="-e s,\\\\\\\\,/,g"
- else
- uwinfix=
- fi
-
- - Edit config_h.SH. The original version of config_h.SH has an bogus
- #include that gets propagated into the dependency list in Makefile
- create from the makedepend script. The Apply the following
- modification to config_h.SH to work around this unfortunate
- filename:
-*******CSW********
-the patch does this, too
-******************
-
-*** config_h.SH.ORIG Wed Oct 28 23:16:10 1998
---- config_h.SH Mon Dec 21 10:14:28 1998
-***************
-*** 1412,1416 ****
- #endif
- #if $cpp_stuff != 1 && $cpp_stuff != 42
-! #include "Bletch: How does this C preprocessor catenate tokens?"
- #endif
-
---- 1412,1416 ----
- #endif
- #if $cpp_stuff != 1 && $cpp_stuff != 42
-! #include "#Bletch: How does this C preprocessor catenate tokens?"
- #endif
-
- The real source of the problem appears that the 'make depend' in the
- 'x2p' directory has problems. The following messages are generated
- by that 'make depend':
-
- Finding dependencies for hash.o.
- gcc2: Can't open gcc2
- ... [similar messages to above]
- You don't seem to have a proper C preprocessor. Using grep
- instead.
- Updating GNUmakefile...
-
- So the grep is pulling the bogus #include from the file. The patch
- turns the #include'd message into a comment.
-
- - Run the Configure in the <PERL> directory as described in the
- document <PERL>/README.cygwin32
-
- I receive the message "THIS PACKAGE SEEMS INCOMPLETE.". This does
- not appear to be a problem.
-
- When presented with the list of handy defaults, select 'cygwin32'
-
- You can use the defaults for the remainder of the prompts.
-
-* Building:
-
- - Issue the command 'make' in the directory <PERL>.
- Cross fingers, wait and be patient.
-
-*******CSW********
-I didn't see this problem \/
-******************
- - I experience problems when building two files 'pp_sys.o' &
- 'doio.o'. The build process will crash with a Windows dialog
- during the build of these two files. The way I get by the problem
- is to control-C the make and issue the build commands for the two
- files by hand. In the Perl directory issue the following commands:
-
- `sh cflags libperl.a pp_sys.o` pp_sys.c
- `sh cflags libperl.a doio.o` doio.c
-
- This appears to be a problem with Cygwin32's make.
-
- Hopefully if you follow the instructions above you will experience no
- problems building Perl.
-
-* Testing:
-
- I found that the majority of the tests passed. There were no errors
- that I thought particularly scary. There were several unexpected
- results such as a couple 'A required .DLL file, CYGWIN1.DLL, was not
- found' dialogs and 'Perl perform an illegal operation' dialogs.
-
-*******CSW********
-saw the "missing dll" during one test
-******************
-
- As long as I can run all my own scripts, things are fine by me...
-
- - Renamed or delete the file <PERL>/t/lib/io_sock.t so it will not be
- executed. This test hangs the system. I have made no attempts to
- fix the problem. From the <PERL> directory issue the following
- command:
-
-*******CSW********
-I didn't do this, and saw no problems.
-******************
-
- mv t/lib/io_sock.t t/lib/io_sock.t.ORIG
-
- - Issue the command 'make test' in the directory <PERL>.
- Cross fingers, wait and be patient.
-
-* Installing:
-
- The install seems to work okay. There are problems when install the
- man pages, but we don't need any stinkin' man pages, right?
-
-*******CSW********
-the man pages that didn't install were those that had "::" in their
-filename.
-******************
-
- - Issue the command 'make install' in the directory <PERL>.
-
-Configuration files available by request to perl@morlock.net
+++ /dev/null
-This document is obsolete. Refer to README.cygwin32.
-
-This is an addendum to Steven Morlock's original post.
-perl5.005_03-static-patch, contains the USEMYBINMODE correction described
-below.
-
-*****************************
-Subject: Re: HOWTO: Builiding Perl under Win95/98 using Cygwin32
-Author: Steven Morlock <newspost@morlock.net>
-Date: 1998/12/22
-Forum: comp.lang.perl.misc
-
-I realized that in my original post I left out a couple important
-details. I'd like to correct that here.
-
-There is a need to address the issue of end of lines being CR/NL or
-NL on the Windows platform. Cygwin32 by default converts NL to CR/NL
-during file I/O by non Cygwin32-savvy applications. This means that
-Perl, since it does not support 'binmode' for the Cygwin32 platform,
-will not be able to read & write untranslated/binary files. There are
-two methods of over coming this. The first is to mount the Cygwin32
-partitions in binary mode. The second is to enable binmode support
-in Perl. In the original post I had mounted the partition as binary
-and neglected to include that fact in the post.
-
-* Using a binary partition:
-
- Mount the Perl source & installation destination partitions in binary
- mode. Refer to the Cygnus documentation on 'mount' for details:
-
- http://sourceware.cygnus.com/cygwin/cygwin-ug-net/mount.html
-
- On my system since everything was in the root partition I issued the
- following commands from the bash shell:
-
- umount /
- mount -b c:\\ /
-
- You must also get and install the gzip'd version of the Perl source
- code archive. The zip'd version of the archive has all NL converted
- to CR/NL pairs in all text files. So you should be downloading the
- files ending in '.gz', not '.zip'.
-
-* Patching Perl to add Cygwin32 binmode support:
-
- For this method you can use either the gzip'd or zip'd version of the
- Perl source archive.
-
- Apply the following patch to <PERL>/perl.h:
-
-*** perl.h.ORIG Tue Dec 22 09:22:42 1998
---- perl.h Tue Dec 22 09:43:10 1998
-***************
-*** 1480,1483 ****
---- 1480,1495 ----
- #endif
-
-+ #if defined(__CYGWIN32__)
-+ /* USEMYBINMODE
-+ * This symbol, if defined, indicates that the program should
-+ * use the routine my_binmode(FILE *fp, char iotype) to insure
-+ * that a file is in "binary" mode -- that is, that no translation
-+ * of bytes occurs on read or write operations.
-+ */
-+ #define USEMYBINMODE / **/
-+ #define my_binmode(fp, iotype) \
-+ (PerlLIO_setmode(PerlIO_fileno(fp), O_BINARY) != -1 ?
-TRUE : NULL)
-+ #endif
-+
- #include "regexp.h"
- #include "sv.h"
-
-Regards,
-Steve
-
---
-Steven Morlock
-Foliage Software Systems
-aka The Nerd Farm
-http://www.foliage.com