summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/hints/cygwin.sh
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/hints/cygwin.sh')
-rw-r--r--gnu/usr.bin/perl/hints/cygwin.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/gnu/usr.bin/perl/hints/cygwin.sh b/gnu/usr.bin/perl/hints/cygwin.sh
index b075b5c1215..aca69982890 100644
--- a/gnu/usr.bin/perl/hints/cygwin.sh
+++ b/gnu/usr.bin/perl/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'