From: buehring AT i2 DOT com (Walt Buehring) Subject: perl and b19 2 Mar 1998 21:11:53 -0800 Message-ID: References: To: gnu-win32 AT cygnus DOT com I've managed to get perl5_004_04 ported to b19 with some finagling. It passes 90% of all tests: Failed 7 test scripts out of 153, 90.20% okay. Socket support does not work (linking cannot resolve a bunch of network related functions, even if -lwsock32 is used) and readdir fails with permission problems, but it works for everything I need it to. Heres the finagling... 1. Get and install the b19 coolview from http://www.lexa.ru/sos 2. Follow the directions in the perl distribution in README.cygwin32 up to the point of "sh configure" 3. Apply the attached patches. In cywin32.sh you need to edit the pathnames, domain, and email address. 4. Run "sh configure" and take all defaults. At the point where it allows you to edit config.sh, do so and change the variables 'd_socket' and 'd_sockpair' to 'undef'. 5. Run make. It should Just Work. I'm sure I've forgotten something, but this should cover the most nasty bits. Oh, building man pages is badly broken. BTW, if you run configure in an Emacs shell buffer it does not exhibit the nasty annoyance of skipping every other prompt. But you must edit out the tty test in "configure" first... : Sanity checks # if test ! -t 0; then # echo "Say 'sh $me', not 'sh <$me'" # exit 1 # fi *** cygwin32.sh_ORIG Fri Apr 04 17:40:25 1997 --- cygwin32.sh Sun Mar 01 20:06:12 1998 *************** *** 10,17 **** startsh="#!$sh" cc='gcc2' ld='ld2' ! usrinc='/gnuwin32/H-i386-cygwin32/i386-cygwin32/include' ! libpth='/gnuwin32/H-i386-cygwin32/i386-cygwin32/lib /gnuwin32/H-i386-cygwin32/lib' libs='-lcygwin -lm -lc -lkernel32' # dynamic lib stuff so='dll' --- 10,17 ---- startsh="#!$sh" cc='gcc2' ld='ld2' ! usrinc='/usr/local/cygnus/H-i386-cygwin32/i386-cygwin32/include' ! libpth='/usr/local/cygnus/H-i386-cygwin32/i386-cygwin32/lib /usr/local/cygnus/H-i386-cygwin32/lib' libs='-lcygwin -lm -lc -lkernel32' # dynamic lib stuff so='dll' *************** *** 23,29 **** cccdlflags='-DCYGWIN32 -DDLLIMPORT ' # flag that signals gcc2 to build exportable perl ccdlflags='-buildperl ' ! lddlflags='-L../.. -L/gnuwin32/H-i386-cygwin32/i386-cygwin32/lib -lperlexp -lcygwin' d_voidsig='undef' extensions='Fcntl IO Opcode SDBM_File' lns='cp' --- 23,29 ---- cccdlflags='-DCYGWIN32 -DDLLIMPORT ' # flag that signals gcc2 to build exportable perl ccdlflags='-buildperl ' ! lddlflags='-L../.. -L/usr/local/cygnus/H-i386-cygwin32/i386-cygwin32/lib -lperlexp -lcygwin' d_voidsig='undef' extensions='Fcntl IO Opcode SDBM_File' lns='cp' *************** *** 41,50 **** installscript='/usr/local/bin' installsitelib='/usr/local/lib/perl5/site_perl' ! libc='/gnuwin32/H-i386-cygwin32/i386-cygwin32/lib/libc.a' perlpath='/usr/local/bin/perl' sitelib='/usr/local/lib/perl5/site_perl' sitelibexp='/usr/local/lib/perl5/site_perl' ! usrinc='/gnuwin32/H-i386-cygwin32/i386-cygwin32/include' --- 41,58 ---- installscript='/usr/local/bin' installsitelib='/usr/local/lib/perl5/site_perl' ! libc='/usr/local/cygnus/H-i386-cygwin32/i386-cygwin32/lib/libc.a' perlpath='/usr/local/bin/perl' sitelib='/usr/local/lib/perl5/site_perl' sitelibexp='/usr/local/lib/perl5/site_perl' ! usrinc='/usr/local/cygnus/H-i386-cygwin32/i386-cygwin32/include' ! # ! usenm='false' ! mydomain='mine.com' ! cf_email=i AT me DOT mine DOT com' ! pager='/usr/local/cygnus/H-i386-cygwin32/bin/cat.exe' ! man1dir='/usr/local/man' ! man3dir='/usr/local/man' ! usedl='false' *** perlgcc_ORIG Sun Mar 01 20:10:06 1998 --- perlgcc Fri Feb 27 22:22:46 1998 *************** *** 49,57 **** --- 49,59 ---- # get the full path name of a few libs: my $crt0 = `gcc -print-file-name=crt0.o`; chomp $crt0; + $crt0 =~ s@\\@/@g; my $libdir = `gcc -print-file-name=libcygwin.a`; chomp $libdir; $libdir =~ s/libcygwin\.a//g; + $libdir =~ s@\\@/@g; # Link exe: $command = "ld --base-file perl.base -o perl.exe $crt0 $obsString $libstring -L$libdir $libflagString"; *** installperl_ORIG Sat Feb 28 13:35:20 1998 --- installperl Sat Feb 28 13:42:31 1998 *************** *** 75,82 **** $installbin || die "No installbin directory in config.sh\n"; -d $installbin || mkpath($installbin, 1, 0777); -d $installbin || $nonono || die "$installbin is not a directory\n"; - -w $installbin || $nonono || die "$installbin is not writable by you\n" - unless $installbin =~ m#^/afs/# || $nonono; -x 'perl' . $exe_ext || die "perl isn't executable!\n"; -x 'suidperl' . $exe_ext|| die "suidperl isn't executable!\n" if $d_dosuid; --- 75,80 ---- *************** *** 139,145 **** $mainperl_is_instperl = 0; if (!$versiononly && !$nonono && -t STDIN && -t STDERR ! && -w $mainperldir && ! samepath($mainperldir, $installbin)) { local($usrbinperl) = "$mainperldir/perl$exe_ext"; local($instperl) = "$installbin/perl$exe_ext"; local($expinstperl) = "$binexp/perl$exe_ext"; --- 137,143 ---- $mainperl_is_instperl = 0; if (!$versiononly && !$nonono && -t STDIN && -t STDERR ! && ! samepath($mainperldir, $installbin)) { local($usrbinperl) = "$mainperldir/perl$exe_ext"; local($instperl) = "$installbin/perl$exe_ext"; local($expinstperl) = "$binexp/perl$exe_ext"; - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".