Skip Menu |
Report information
Id: 1271
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: cwilson [at] cc865179-c.chmbl1.ga.home.com
Cc:
AdminCc:

Operating System: cygwin_nt
PatchStatus: (no value)
Severity: medium
Type: library
Perl Version: (no value)
Fixed In: (no value)



From: cwilson [...] cc865179-c.chmbl1.ga.home.com
Date: Wed, 25 Aug 1999 04:42:03 -0400
To: perlbug [...] perl.com
Subject: [PATCH] perl5.005_61 cygwin port
Download (untitled) / with headers
text/plain 9.8k
----------------------------------------------------------------- [Please enter your report here] Minor fixes and cleanup for the cygwin port (includes patches previously submitted by Eric Fifer, which were against 5.005_60). Also implements a change to installperl and utils/perldoc.PL so that installation of pod documentation files works on systems with case-sensitive filenames but case-insensitive directory names -- such as Win32 and cygwin. Pod documentation is now installed in {installprivlib}/pod-docs instead of {installprivlib}/pod. diff -urN perl5.005_61-orig/cygwin/Makefile.SHs perl5.005_61/cygwin/Makefile.SHs --- perl5.005_61-orig/cygwin/Makefile.SHs Sun Aug 01 16:25:26 1999 +++ perl5.005_61/cygwin/Makefile.SHs Tue Aug 24 13:34:44 1999 @@ -132,6 +132,7 @@ ;; *) $spitshell >>Makefile <<'!NO!SUBS!' +cwobj = $(obj) # perl library $(LIBPERL)$(LIB_EXT): $& perl$(OBJ_EXT) $(cwobj) diff -urN perl5.005_61-orig/ext/ByteLoader/byterun.h perl5.005_61/ext/ByteLoader/byterun.h --- perl5.005_61-orig/ext/ByteLoader/byterun.h Tue Jul 20 13:17:55 1999 +++ perl5.005_61/ext/ByteLoader/byterun.h Tue Aug 24 13:34:44 1999 @@ -151,7 +151,12 @@ OPt_COP /* 10 */ }; -EXT void byterun(pTHXo_ struct bytestream bs); +#if defined(CYGWIN) +extern +#else +EXT +#endif +void byterun(pTHXo_ struct bytestream bs); #define INIT_SPECIALSV_LIST STMT_START { \ PL_specialsv_list[0] = Nullsv; \ diff -urN perl5.005_61-orig/ext/SDBM_File/sdbm/sdbm.c perl5.005_61/ext/SDBM_File/sdbm/sdbm.c --- perl5.005_61-orig/ext/SDBM_File/sdbm/sdbm.c Tue Jul 20 13:17:56 1999 +++ perl5.005_61/ext/SDBM_File/sdbm/sdbm.c Tue Aug 24 13:34:44 1999 @@ -128,7 +128,7 @@ * open the files in sequence, and stat the dirfile. * If we fail anywhere, undo everything, return NULL. */ -#if defined(OS2) || defined(MSDOS) || defined(WIN32) +#if defined(OS2) || defined(MSDOS) || defined(WIN32) || defined(CYGWIN) flags |= O_BINARY; # endif if ((db->pagf = open(pagname, flags, mode)) > -1) { diff -urN perl5.005_61-orig/hints/cygwin.sh perl5.005_61/hints/cygwin.sh --- perl5.005_61-orig/hints/cygwin.sh Sun Aug 01 16:25:26 1999 +++ perl5.005_61/hints/cygwin.sh Tue Aug 24 13:34:44 1999 @@ -25,6 +25,7 @@ useshrplib='true' libperl='libperl.a' dlext='dll' +dynamic_ext=' ' man1dir=/usr/local/man/man1 man3dir=/usr/local/man/man3 diff -urN perl5.005_61-orig/installperl perl5.005_61/installperl --- perl5.005_61-orig/installperl Wed Jul 28 14:11:20 1999 +++ perl5.005_61/installperl Tue Aug 24 13:53:08 1999 @@ -113,6 +113,7 @@ # Shared library and dynamic loading suffixes. my $so = $Config{so}; my $dlext = $Config{dlext}; +my $dlsrc = $Config{dlsrc}; my $d_dosuid = $Config{d_dosuid}; my $binexp = $Config{binexp}; @@ -161,14 +162,16 @@ $perldll = 'perl56.' . $dlext if $Config{'ccflags'} =~ /PERL_OBJECT/i; } --f $perldll || die "No perl DLL built\n"; + if ($dlsrc != "dl_none.xs") { + -f $perldll || die "No perl DLL built\n"; # Install the DLL -safe_unlink("$installbin/$perldll"); -copy("$perldll", "$installbin/$perldll"); -chmod(0755, "$installbin/$perldll"); -} + safe_unlink("$installbin/$perldll"); + copy("$perldll", "$installbin/$perldll"); + chmod(0755, "$installbin/$perldll"); + } +} # if ($Is_W32 or $Is_Cygwin) # This will be used to store the packlist my $packlist = ExtUtils::Packlist->new("$installarchlib/.packlist"); @@ -365,19 +368,19 @@ } } -# Install pod pages. Where? I guess in $installprivlib/pod. +# Install pod pages. Where? I guess in $installprivlib/pod-docs. unless ( $versiononly && !($installprivlib =~ m/\Q$]/)) { - mkpath("${installprivlib}/pod", 1, 0777); + mkpath("${installprivlib}/pod-docs", 1, 0777); # If Perl 5.003's perldiag.pod is there, rename it. - if (open POD, "${installprivlib}/pod/perldiag.pod") { + if (open POD, "${installprivlib}/pod-docs/perldiag.pod") { read POD, $_, 4000; close POD; # Some of Perl 5.003's diagnostic messages ended with periods. if (/^=.*\.$/m) { - my ($from, $to) = ("${installprivlib}/pod/perldiag.pod", - "${installprivlib}/pod/perldiag-5.003.pod"); + my ($from, $to) = ("${installprivlib}/pod-docs/perldiag.pod", + "${installprivlib}/pod-docs/perldiag-5.003.pod"); print " rename $from $to"; rename($from, $to) or warn "Couldn't rename $from to $to: $!\n" @@ -385,9 +388,10 @@ } } - foreach my $file (@pods) { - # $file is a name like pod/perl.pod - copy_if_diff($file, "${installprivlib}/${file}"); + for (@pods) { + # $_ is a name like pod/perl.pod + (my $base = $_) =~ s#.*/##; + copy_if_diff($_, "${installprivlib}/pod-docs/${base}"); } } diff -urN perl5.005_61-orig/perl.h perl5.005_61/perl.h --- perl5.005_61-orig/perl.h Tue Aug 24 13:03:10 1999 +++ perl5.005_61/perl.h Tue Aug 24 13:34:44 1999 @@ -2571,7 +2571,7 @@ EXT struct perl_vars PL_Vars; EXT struct perl_vars *PL_VarsPtr INIT(&PL_Vars); #else /* PERL_CORE */ -#if !defined(__GNUC__) || !(defined(WIN32) || defined(CYGWIN)) +#if !defined(__GNUC__) || !defined(WIN32) EXT #endif /* WIN32 */ struct perl_vars *PL_VarsPtr; diff -urN perl5.005_61-orig/pp_sys.c perl5.005_61/pp_sys.c --- perl5.005_61-orig/pp_sys.c Tue Aug 24 13:03:12 1999 +++ perl5.005_61/pp_sys.c Tue Aug 24 13:34:44 1999 @@ -4740,7 +4740,7 @@ PP(pp_spwent) { djSP; -#if defined(HAS_PASSWD) && defined(HAS_SETPWENT) && !defined(CYGWIN) +#if defined(HAS_PASSWD) && defined(HAS_SETPWENT) setpwent(); # ifdef HAS_SETSPENT setspent(); diff -urN perl5.005_61-orig/t/io/fs.t perl5.005_61/t/io/fs.t --- perl5.005_61-orig/t/io/fs.t Tue Jul 20 13:18:12 1999 +++ perl5.005_61/t/io/fs.t Tue Aug 24 13:34:44 1999 @@ -10,7 +10,7 @@ use Config; $Is_Dosish = ($^O eq 'MSWin32' or $^O eq 'dos' or - $^O eq 'os2' or $^O eq 'mint' or $^O =~ /cygwin/); + $^O eq 'os2' or $^O eq 'mint'); print "1..28\n"; diff -urN perl5.005_61-orig/t/io/tell.t perl5.005_61/t/io/tell.t --- perl5.005_61-orig/t/io/tell.t Tue Jul 20 13:18:12 1999 +++ perl5.005_61/t/io/tell.t Tue Aug 24 13:34:44 1999 @@ -7,7 +7,7 @@ $TST = 'tst'; $Is_Dosish = ($^O eq 'MSWin32' or $^O eq 'dos' or - $^O eq 'os2' or $^O eq 'mint' or $^O =~ /cygwin/); + $^O eq 'os2' or $^O eq 'mint'); open($TST, '../Configure') || (die "Can't open ../Configure"); binmode $TST if $Is_Dosish; diff -urN perl5.005_61-orig/t/lib/anydbm.t perl5.005_61/t/lib/anydbm.t --- perl5.005_61-orig/t/lib/anydbm.t Tue Aug 24 13:03:13 1999 +++ perl5.005_61/t/lib/anydbm.t Tue Aug 24 13:34:45 1999 @@ -13,7 +13,7 @@ print "1..12\n"; $Is_Dosish = ($^O eq 'amigaos' || $^O eq 'MSWin32' or $^O eq 'dos' or - $^O eq 'os2' or $^O eq 'mint' or $^O =~ /cygwin/); + $^O eq 'os2' or $^O eq 'mint'); unlink <Op_dbmx*>; diff -urN perl5.005_61-orig/t/op/stat.t perl5.005_61/t/op/stat.t --- perl5.005_61-orig/t/op/stat.t Tue Jul 20 13:18:15 1999 +++ perl5.005_61/t/op/stat.t Tue Aug 24 13:34:45 1999 @@ -13,7 +13,7 @@ $Is_MSWin32 = $^O eq 'MSWin32'; $Is_Dos = $^O eq 'dos'; -$Is_Dosish = $Is_Dos || $^O eq 'os2' || $Is_MSWin32 || $^O =~ /cygwin/; +$Is_Dosish = $Is_Dos || $^O eq 'os2' || $Is_MSWin32; chop($cwd = ($Is_MSWin32 ? `cd` : `pwd`)); $DEV = `ls -l /dev` unless $Is_Dosish; diff -urN perl5.005_61-orig/utils/perldoc.PL perl5.005_61/utils/perldoc.PL --- perl5.005_61-orig/utils/perldoc.PL Thu Jul 29 03:16:59 1999 +++ perl5.005_61/utils/perldoc.PL Tue Aug 24 13:59:10 1999 @@ -276,8 +276,8 @@ $ret = check_file $dir,"$s.cmd") or ( ($Is_MSWin32 or $Is_Dos or $^O eq 'os2') and $ret = check_file $dir,"$s.bat") - or ( $ret = check_file "$dir/pod","$s.pod") - or ( $ret = check_file "$dir/pod",$s) + or ( $ret = check_file "$dir/pod-docs","$s.pod") + or ( $ret = check_file "$dir/pod-docs",$s) ) { return $ret; } @@ -708,6 +708,10 @@ =cut # +# Version 1.15: Tue Aug 24 01:50:20 EST 1999 +# Charles Wilson <cwilson@ece.gatech.edu> +# changed /pod/ directory to /pod-docs/ +# to support cygwin/win32 # Version 1.14: Wed Jul 15 01:50:20 EST 1998 # Robin Barker <rmb1@cise.npl.co.uk> # -strict, -w cleanups [Please do not change anything below this line] ----------------------------------------------------------------- --- Site configuration information for perl 5.00561: Configured by cwilson at Wed Aug 25 02:04:53 1999. Summary of my perl5 (revision 5.0 version 5 subversion 61) configuration: Platform: osname=cygwin_nt-4.0, osvers=20.1, archname=cygwin uname='cygwin_nt-4.0 belgarion 20.1 (0.411) 1998-12-19 17:47:08 i586 unknown ' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=undef useperlio=undef d_sfio=undef use64bits=undef usemultiplicity=undef Compiler: cc='gcc', optimize='-O', gccversion=egcs-2.91.66 19990314 (egcs-1.1.2 release) cppflags='-DCYGWIN -I/usr/include -I/usr/local/include -I/usr/local/include' ccflags ='-DCYGWIN -I/usr/include -I/usr/local/include -I/usr/local/include' stdchar='char', d_stdstdio=undef, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='ld2', ldflags ='-L/usr/i586-cygwin32/lib -L/usr/lib -L/usr/local/lib' libpth=/usr/i586-cygwin32/lib /usr/lib /usr/local/lib libs=-lcygwin -lm -lkernel32 libc=/usr/i586-cygwin32/lib/libc.a, so=dll, useshrplib=true, libperl=libperl.a Dynamic Linking: dlsrc=dl_cygwin.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-L/usr/local/lib -L/usr/i586-cygwin32/lib -L/usr/lib' Locally applied patches: --- @INC for perl 5.00561: /usr/local/lib/perl5/5.00561/cygwin /usr/local/lib/perl5/5.00561 /usr/local/lib/site_perl/5.00561/cygwin /usr/local/lib/site_perl . --- Environment for perl 5.00561: HOME=/e/Users/cwilson LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/bin:/usr/local/bin:/usr/X11R6.4/bin PERL_BADLANG (unset) SHELL=/bin/bash
Date: Wed, 25 Aug 1999 15:19:30 +0300
From: Lucian Cionca <lucian.cionca [...] gmx.net>
To: perl5-porters [...] perl.org
Subject: [ID 19990825.001] [PATCH] perl5.005_61 cygwin port
Download (untitled) / with headers
text/plain 872b
Hi there, I have an observation concerning your patch. There's a hunk in it addressing a function proptotype in /ext/ByteLoader/byterun.h This is not the only file to patch, you need to patch bytecode.pl, the script that generates /ext/ByteLoader/byterun.h The header file is there just for those guys that don't have a running Perl at the moment of building a new release. Here's the patch (to be applied by patch -p3 -N < <patch_file>) --- /d/perl5.005_61.orig/bytecode.pl Tue Jul 20 20:17:52 1999 +++ /d/perl5.005_61/bytecode.pl Tue Aug 24 16:44:18 1999 @@ -234,7 +234,12 @@ printf BYTERUN_H " OPt_%s\t\t/* %d */\n};\n\n", $optype[$i], $i; print BYTERUN_H <<'EOT'; -EXT void byterun(pTHXo_ struct bytestream bs); +#if defined(CYGWIN) +extern +#else +EXT +#endif +void byterun(pTHXo_ struct bytestream bs); #define INIT_SPECIALSV_LIST STMT_START { \ EOT


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org