X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fcygwin.sh;h=aca699828906e4fa99e57494a9bbb3ff37adc7e2;hb=c21d1a0f049833fd2ca59ef598337f86f2cd08f4;hp=ba84df49d5c4443a9bb1e31c0f709961ab0e1c3e;hpb=d702ae4256b191c7ab78dd4e746c2175206f38ce;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/cygwin.sh b/hints/cygwin.sh index ba84df4..aca6998 100644 --- a/hints/cygwin.sh +++ b/hints/cygwin.sh @@ -8,28 +8,50 @@ firstmakefile='GNUmakefile' case "$ldlibpthname" in '') ldlibpthname=PATH ;; esac +archobjs='cygwin.o' -# mandatory (overrides defaults) +# mandatory (overrides incorrect defaults) test -z "$cc" && cc='gcc' -if test -z "$libpth" +if test -z "$plibpth" then - libpth=`gcc -print-file-name=libc.a` - libpth=`dirname $libpth` - libpth=`cd $libpth && pwd` + plibpth=`gcc -print-file-name=libc.a` + plibpth=`dirname $plibpth` + plibpth=`cd $plibpth && pwd` fi so='dll' -libs='-lcygwin -lm -lkernel32' -ccflags="$ccflags -DCYGWIN" +# - eliminate -lc, implied by gcc and a symlink to libcygwin.a +libswanted=`echo " $libswanted " | sed -e 's/ c / /g'` +# - eliminate -lm, symlink to libcygwin.a +libswanted=`echo " $libswanted " | sed -e 's/ m / /g'` +# - eliminate -lutil, symbols are all in libcygwin.a +libswanted=`echo " $libswanted " | sed -e 's/ util / /g'` +# - add libgdbm_compat $libswanted +# - libcygipc doesn't work much at all with +# the Perl SysV IPC tests so not adding it --jhi 2003-08-09 +# (with cygwin 1.5.7, cygipc is deprecated in favor of the builtin cygserver) +libswanted="$libswanted gdbm_compat" +test -z "$optimize" && optimize='-O2' +ccflags="$ccflags -DPERL_USE_SAFE_PUTENV" +# - otherwise i686-cygwin archname='cygwin' + +# dynamic loading +# - otherwise -fpic cccdlflags=' ' ld='ld2' -# optional(ish) -# - perl malloc needs to be unpolluted -bincompat5005='undef' -# - build shared libperl.dll -useshrplib='true' -libperl='libperl.a' +case "$osvers" in + +# Configure gets these wrong if the IPC server isn't yet running: +# only use for 1.5.7 and onwards +[2-9]*|1.[6-9]*|1.[1-5][0-9]*|1.5.[7-9]*|1.5.[1-6][0-9]*) + d_semctl_semid_ds='define' + d_semctl_semun='define' + ;; +esac; + +# Win9x problem with non-blocking read from a closed pipe +d_eofnblk='define' # strip exe's and dll's #ldflags="$ldflags -s"