X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fsunos_4_1.sh;h=4585d793d76cd56222435389c1cc06dc52b8f36e;hb=e262e9be635eb2f99e78e37e3729f3b9494cef78;hp=a040d366f5b05e713cb6a7ab17b26d2bbe91b19b;hpb=8490252049bf42d3d2f75d89178a8682bf22ba74;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/sunos_4_1.sh b/hints/sunos_4_1.sh index a040d36..4585d79 100644 --- a/hints/sunos_4_1.sh +++ b/hints/sunos_4_1.sh @@ -1,5 +1,5 @@ # hints/sunos_4_1.sh -# Last modified: Thu Feb 8 11:46:05 EST 1996 +# Last modified: Wed May 27 11:00:02 EDT 1998 # Andy Dougherty case "$cc" in @@ -25,9 +25,7 @@ d_tzname='undef' # The gcc fix-includes script exposes those incorrect prototypes. # There may be other examples as well. Volunteers are welcome to # track them all down :-). In the meantime, we'll just skip unistd.h -# for SunOS in most of the code. The POSIX extension is built with -# unistd.h because, even though unistd.h has problems, if used with -# care, it helps create a better POSIX extension. +# for SunOS in most of the code. (However, see ext/POSIX/hints/sunos_4.pl.) i_unistd='undef' cat << 'EOM' >&4 @@ -37,16 +35,31 @@ d_tzname and i_unistd. Keep the recommended values. See hints/sunos_4_1.sh for more information. EOM -# SunOS 4.1.3 has two extra fields in struct tm. This works around -# the problem. Other BSD platforms may have similar problems. -POSIX_cflags='ccflags="$ccflags -DSTRUCT_TM_HASZONE"' - -# check if user is in a bsd or system 5 type environment +# The correct setting of groupstype depends on which version of the C +# library is used. If you are in the 'System V environment' +# (i.e. you have /usr/5bin ahead of /usr/bin in your PATH), and +# you use Sun's cc compiler, then you'll pick up /usr/5bin/cc, which +# links against the C library in /usr/5lib. This library has +# groupstype='gid_t'. +# If you are in the normal BSDish environment, then you'll pick up +# /usr/ucb/cc, which links against the C library in /usr/lib. That +# library has groupstype='int'. +# +# If you are using gcc, it links against the C library in /usr/lib +# independent of whether or not you are in the 'System V environment'. +# If you want to use the System V libraries, then you need to +# manually set groupstype='gid_t' and add explicit references to +# /usr/5lib when Configure prompts you for where to look for libraries. +# +# Check if user is in a bsd or system 5 type environment if cat -b /dev/null 2>/dev/null then # bsd groupstype='int' else # sys5 - groupstype='gid_t' + case "$cc" in + *gcc*) groupstype='int';; # gcc doesn't do anything special + *) groupstype='gid_t';; # /usr/5bin/cc pulls in /usr/5lib/ stuff. + esac fi # If you get the message "unresolved symbol '__lib_version' " while