X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/0016644b4ef8e92272036e52ec534c50ed8924c6..4be76e1f2b4f53b080616615372a4ebaff876c87:/hints/cygwin.sh diff --git a/hints/cygwin.sh b/hints/cygwin.sh index 32d0326..66e4d9b 100644 --- a/hints/cygwin.sh +++ b/hints/cygwin.sh @@ -23,22 +23,60 @@ so='dll' libswanted=`echo " $libswanted " | sed -e 's/ c / /g'` # - eliminate -lm, symlink to libcygwin.a libswanted=`echo " $libswanted " | sed -e 's/ m / /g'` -# - add libgdbm_compat & libcygipc to $libswanted -libswanted="$libswanted gdbm_compat cygipc" -test -z "$optimize" && optimize='-O2' -ccflags="$ccflags -DPERL_USE_SAFE_PUTENV" +# - eliminate -lutil, symbols are all in libcygwin.a +libswanted=`echo " $libswanted " | sed -e 's/ util / /g'` +# - add libgdbm_compat $libswanted +libswanted="$libswanted gdbm_compat" +test -z "$optimize" && optimize='-O3' +man3ext='3pm' +test -z "$use64bitint" && use64bitint='define' +test -z "$usethreads" && usethreads='define' +ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__" # - otherwise i686-cygwin archname='cygwin' # dynamic loading # - otherwise -fpic cccdlflags=' ' -ld='ld2' +lddlflags=' --shared' +test -z "$ld" && ld='g++' + +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 + +case "$osvers" in + [2-9]*|1.[6-9]*) + # IPv6 only since 1.7 + d_inetntop='define' + d_inetpton='define' + ;; + *) + # IPv6 not implemented before cygwin-1.7 + d_inetntop='undef' + d_inetpton='undef' +esac + +# compile Win32CORE "module" as static. try to avoid the space. +if test -z "$static_ext"; then + static_ext="Win32CORE" +else + static_ext="$static_ext Win32CORE" +fi # Win9x problem with non-blocking read from a closed pipe d_eofnblk='define' -# strip exe's and dll's +# suppress auto-import warnings +ldflags="$ldflags -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base" +lddlflags="$lddlflags $ldflags" + +# strip exe's and dll's, better do it afterwards #ldflags="$ldflags -s" #ccdlflags="$ccdlflags -s" #lddlflags="$lddlflags -s"