From: Andy Dougherty Date: Thu, 23 Apr 1998 11:10:15 +0000 (-0400) Subject: [PATCH for 5.004_04 and 5.004_64] (Was: Obsoleted svr4.sh) X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=883fc3322aafd2c0c64a3bd8ba3b36ff9967e31e;p=p5sagit%2Fp5-mst-13.2.git [PATCH for 5.004_04 and 5.004_64] (Was: Obsoleted svr4.sh) Date: Thu, 23 Apr 1998 11:10:15 -0400 (EDT) Subject: [PATCH 5.004_64] Start new perldelta Date: Thu, 23 Apr 1998 12:12:38 -0400 (EDT) (above branched perldelta -> perldelta4, new perldelta will be created/added next change) Subject: [PATCH] BSD Platforms need STRUCT_TM_HASZONE Date: Tue, 12 May 1998 09:58:49 -0400 (EDT) p4raw-id: //depot/perl@951 --- diff --git a/MANIFEST b/MANIFEST index 567e852..3e117e8 100644 --- a/MANIFEST +++ b/MANIFEST @@ -227,8 +227,12 @@ ext/POSIX/Makefile.PL POSIX extension makefile writer ext/POSIX/POSIX.pm POSIX extension Perl module ext/POSIX/POSIX.pod POSIX extension documentation ext/POSIX/POSIX.xs POSIX extension external subroutines +ext/POSIX/hints/bsdos.pl Hint for POSIX for named architecture +ext/POSIX/hints/freebsd.pl Hint for POSIX for named architecture ext/POSIX/hints/linux.pl Hint for POSIX for named architecture +ext/POSIX/hints/netbsd.pl Hint for POSIX for named architecture ext/POSIX/hints/next_3.pl Hint for POSIX for named architecture +ext/POSIX/hints/openbsd.pl Hint for POSIX for named architecture ext/POSIX/hints/sunos_4.pl Hint for POSIX for named architecture ext/POSIX/typemap POSIX extension interface types ext/SDBM_File/Makefile.PL SDBM extension makefile writer diff --git a/ext/POSIX/hints/bsdos.pl b/ext/POSIX/hints/bsdos.pl new file mode 100644 index 0000000..62732ac --- /dev/null +++ b/ext/POSIX/hints/bsdos.pl @@ -0,0 +1,3 @@ +# BSD platforms have extra fields in struct tm that need to be initialized. +# XXX A Configure test is needed. +$self->{CCFLAGS} = $Config{ccflags} . ' -DSTRUCT_TM_HASZONE' ; diff --git a/ext/POSIX/hints/freebsd.pl b/ext/POSIX/hints/freebsd.pl new file mode 100644 index 0000000..62732ac --- /dev/null +++ b/ext/POSIX/hints/freebsd.pl @@ -0,0 +1,3 @@ +# BSD platforms have extra fields in struct tm that need to be initialized. +# XXX A Configure test is needed. +$self->{CCFLAGS} = $Config{ccflags} . ' -DSTRUCT_TM_HASZONE' ; diff --git a/ext/POSIX/hints/netbsd.pl b/ext/POSIX/hints/netbsd.pl new file mode 100644 index 0000000..62732ac --- /dev/null +++ b/ext/POSIX/hints/netbsd.pl @@ -0,0 +1,3 @@ +# BSD platforms have extra fields in struct tm that need to be initialized. +# XXX A Configure test is needed. +$self->{CCFLAGS} = $Config{ccflags} . ' -DSTRUCT_TM_HASZONE' ; diff --git a/ext/POSIX/hints/openbsd.pl b/ext/POSIX/hints/openbsd.pl new file mode 100644 index 0000000..62732ac --- /dev/null +++ b/ext/POSIX/hints/openbsd.pl @@ -0,0 +1,3 @@ +# BSD platforms have extra fields in struct tm that need to be initialized. +# XXX A Configure test is needed. +$self->{CCFLAGS} = $Config{ccflags} . ' -DSTRUCT_TM_HASZONE' ; diff --git a/hints/svr4.sh b/hints/svr4.sh index 922736a..0a38702 100644 --- a/hints/svr4.sh +++ b/hints/svr4.sh @@ -1,15 +1,19 @@ # svr4 hints, System V Release 4.x -# Last modified 1995/01/28 by Tye McQueen, tye@metronet.com +# Last modified 1996/10/25 by Tye McQueen, tye@metronet.com +# Merged 1998/04/23 with perl5.004_04 distribution by +# Andy Dougherty + # Use Configure -Dcc=gcc to use gcc. case "$cc" in '') cc='/bin/cc' test -f $cc || cc='/usr/ccs/bin/cc' ;; esac + # We include support for using libraries in /usr/ucblib, but the setting -# of libswanted excludes some libraries found there. You may want to -# prevent "ucb" from being removed from libswanted and see if perl will -# build on your system. +# of libswanted excludes some libraries found there. If you run into +# problems, you may have to remove "ucb" from libswanted. Just delete +# the comment '#' from the sed command below. ldflags='-L/usr/ccs/lib -L/usr/ucblib' ccflags='-I/usr/include -I/usr/ucbinclude' # Don't use problematic libraries: @@ -17,56 +21,98 @@ libswanted=`echo " $libswanted " | sed -e 's/ malloc / /'` # -e 's/ ucb / /'` # libmalloc.a - Probably using Perl's malloc() anyway. # libucb.a - Remove it if you have problems ld'ing. We include it because # it is needed for ODBM_File and NDBM_File extensions. + if [ -r /usr/ucblib/libucb.a ]; then # If using BSD-compat. library: - d_gconvert='undef' # Unusuable under UnixWare 1.1 [use gcvt() instead] + d_Gconvert='gcvt' # Try gcvt() before gconvert(). # Use the "native" counterparts, not the BSD emulation stuff: d_bcmp='undef' d_bcopy='undef' d_bzero='undef' d_safebcpy='undef' d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef' - d_setlinebuf='undef' d_setregid='undef' d_setreuid='undef' + d_setlinebuf='undef' + # d_setregid='undef' d_setreuid='undef' # ??? fi -d_suidsafe='define' # "./Configure -d" can't figure this out easilly -usevfork='false' -# Configure may fail to find lstat() since it's a static/inline -# function in on Unisys U6000 SVR4, and possibly -# other SVR4 derivatives. -d_lstat=define +# UnixWare has /usr/lib/libc.so.1, /usr/lib/libc.so.1.1, and +# /usr/ccs/lib/libc.so. Configure chooses libc.so.1.1 while it +# appears that /usr/ccs/lib/libc.so contains more symbols: +# +# Try the following if you want to use nm-extraction. We'll just +# skip the nm-extraction phase, since searching for all the different +# library versions will be hard to keep up-to-date. +# +# if [ "" = "$libc" -a -f /usr/ccs/lib/libc.so -a \ +# -f /usr/lib/libc.so.1 -a -f /usr/lib/libc.so.1.1 ]; then +# if nm -h /usr/ccs/lib/libc.so | egrep '\<_?select$' >/dev/null; then +# if nm -h /usr/lib/libc.so.1 | egrep '\<_?select$'` >/dev/null || +# nm -h /usr/lib/libc.so.1.1 | egrep '\<_?select$'` >/dev/null; then +# : +# else +# libc=/usr/ccs/lib/libc.so +# fi +# fi +# fi +# +# Don't bother with nm. Just compile & link a small C program. +case "$usenm" in +'') usenm=false;; +esac + +# Broken C-Shell tests (Thanks to Tye McQueen): +# The OS-specific checks may be obsoleted by the this generic test. + sh_cnt=`sh -c 'echo /*' | wc -c` + csh_cnt=`csh -f -c 'glob /*' 2>/dev/null | wc -c` + csh_cnt=`expr 1 + $csh_cnt` +if [ "$sh_cnt" -ne "$csh_cnt" ]; then + echo "You're csh has a broken 'glob', disabling..." >&2 + d_csh='undef' +fi # UnixWare has a broken csh. The undocumented -X argument to uname is probably # a reasonable way of detecting UnixWare. Also in 2.1.1 the fields in # FILE* got renamed! -uw_ver=`uname -v` -uw_isuw=`uname -X 2>&1 | grep Release` +# +# Leave leading tabs so Configure doesn't propagate these variables +# to config.sh + uw_ver=`uname -v` + uw_isuw=`uname -X 2>&1 | grep Release` if [ "$uw_isuw" = "Release = 4.2MP" ]; then case $uw_ver in 2.1) - d_csh='undef' - ;; + d_csh='undef' + ;; 2.1.*) - d_csh='undef' - stdio_cnt='((fp)->__cnt)' - d_stdio_cnt_lval='define' - stdio_ptr='((fp)->__ptr)' - d_stdio_ptr_lval='define' - ;; + d_csh='undef' + stdio_cnt='((fp)->__cnt)' + d_stdio_cnt_lval='define' + stdio_ptr='((fp)->__ptr)' + d_stdio_ptr_lval='define' + ;; esac fi # DDE SMES Supermax Enterprise Server case "`uname -sm`" in "UNIX_SV SMES") - if test "$cc" = '/bin/cc' -o "$gccversion" = "" - then - # for cc we need -K PIC (not -K pic) - cccdlflags="$cccdlflags -K PIC" - fi - # the *grent functions are in libgen. - libswanted="$libswanted gen" - # csh is broken (also) in SMES - d_csh='undef' + # the *grent functions are in libgen. + libswanted="$libswanted gen" + # csh is broken (also) in SMES + # This may already be detected by the generic test above. + d_csh='undef' + case "$cc" in + *gcc*) ;; + *) # for cc we need -K PIC (not -K pic) + cccdlflags="$cccdlflags -K PIC" ;; + esac + ;; esac +# Configure may fail to find lstat() since it's a static/inline function +# in on Unisys U6000 SVR4, UnixWare 2.x, and possibly other +# SVR4 derivatives. (Though UnixWare has it in /usr/ccs/lib/libc.so.) +d_lstat=define + +d_suidsafe='define' # "./Configure -d" can't figure this out easilly + cat <<'EOM' >&4 If you wish to use dynamic linking, you must use diff --git a/pod/perldelta.pod b/pod/perldelta4.pod similarity index 100% rename from pod/perldelta.pod rename to pod/perldelta4.pod