From: Yitzchak Scott-Thoennes Date: Thu, 19 Feb 2004 09:01:13 +0000 (-0800) Subject: initial patch for cygwin IPC via cygserver X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ab9778ab423dc0f245b74b3b84d7623e49bb4482;p=p5sagit%2Fp5-mst-13.2.git initial patch for cygwin IPC via cygserver Message-ID: <20040219170113.GA2792@efn.org> p4raw-id: //depot/perl@22358 --- diff --git a/ext/IPC/SysV/hints/cygwin.pl b/ext/IPC/SysV/hints/cygwin.pl index e1a1dea..7c7299d 100644 --- a/ext/IPC/SysV/hints/cygwin.pl +++ b/ext/IPC/SysV/hints/cygwin.pl @@ -1,2 +1,6 @@ # SysV IPC is an optional Cygwin package -$self->{LIBS} = ['-lcygipc'] +# +# Starting with cygwin 1.5.7, cygipc is deprecated in favor of +# cygserver (which requires no extra libs). +# Uncomment if for some reason you need to get this to work with cygipc. +#$self->{LIBS} = ['-lcygipc'] diff --git a/hints/cygwin.sh b/hints/cygwin.sh index b075b5c..aca6998 100644 --- a/hints/cygwin.sh +++ b/hints/cygwin.sh @@ -23,9 +23,12 @@ so='dll' 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" @@ -37,6 +40,16 @@ archname='cygwin' cccdlflags=' ' ld='ld2' +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'