source: trunk/third/perl/hints/sunos_4_1.sh @ 14545

Revision 14545, 3.5 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, which included commits to RCS files with non-trunk default branches.
Line 
1# hints/sunos_4_1.sh
2# Last modified:  Wed May 27 11:00:02 EDT 1998
3# Andy Dougherty  <doughera@lafcol.lafayette.edu>
4
5case "$cc" in
6*gcc*)  usevfork=false
7        # GNU as and GNU ld might not work.  See the INSTALL file.
8        ;;
9*)      usevfork=true ;;
10esac
11
12# Configure will issue a WHOA warning.  The problem is that
13# Configure finds getzname, not tzname.  If you're in the System V
14# environment, you can set d_tzname='define' since tzname[] is
15# available in the System V environment.
16d_tzname='undef'
17
18# Configure will issue a WHOA warning.  The problem is that unistd.h
19# contains incorrect prototypes for some functions in the usual
20# BSD-ish environment.  In particular, it has
21# extern int    getgroups(/* int gidsetsize, gid_t grouplist[] */);
22# but groupslist[] ought to be of type int, not gid_t.
23# This is only really a problem for perl if the
24# user is using gcc, and not running in the SysV environment.
25# The gcc fix-includes script exposes those incorrect prototypes.
26# There may be other examples as well.  Volunteers are welcome to
27# track them all down :-).  In the meantime, we'll just skip unistd.h
28# for SunOS in most of the code.   
29# However, see ext/POSIX/hints/sunos_4.pl for one exception.
30i_unistd='undef'
31# See util.c for another:  We need _SC_OPEN_MAX, which is in
32# <unistd.h>.
33
34# fflush(NULL) will core dump on SunOS 4.1.3.  In util.c we'll
35# try explicitly fflushing all open files.  Unfortunately,
36# on my SunOS 4.1.3 system, sysconf(_SC_OPEN_MAX) returns
37# 64, but only 32 of those file pointers can be accessed
38# directly by _iob[i].  The remainder are off in dynamically
39# allocated memory somewhere and I don't know to automatically
40# fflush() them.  -- Andy Dougherty  Wed May 26 15:25:22 EDT 1999
41util_cflags='ccflags="$ccflags -DPERL_FFLUSH_ALL_FOPEN_MAX=32"'
42
43cat << 'EOM' >&4
44
45You will probably see  *** WHOA THERE!!! ***  messages from Configure for
46d_tzname and i_unistd.  Keep the recommended values.  See
47hints/sunos_4_1.sh for more information.
48EOM
49
50# The correct setting of groupstype depends on which version of the C
51# library is used.  If you are in the 'System V environment'
52# (i.e. you have /usr/5bin ahead of /usr/bin in your PATH), and
53# you use Sun's cc compiler, then you'll pick up /usr/5bin/cc, which
54# links against the C library in /usr/5lib.  This library has
55# groupstype='gid_t'.
56# If you are in the normal BSDish environment, then you'll pick up
57# /usr/ucb/cc, which links against the C library in /usr/lib.  That
58# library has groupstype='int'.
59#
60# If you are using gcc, it links against the C library in /usr/lib
61# independent of whether or not you are in the 'System V environment'.
62# If you want to use the System V libraries, then you need to
63# manually set groupstype='gid_t' and add explicit references to
64# /usr/5lib when Configure prompts you for where to look for libraries.
65#
66# Check if user is in a bsd or system 5 type environment
67if cat -b /dev/null 2>/dev/null
68then # bsd
69      groupstype='int'
70else # sys5
71    case "$cc" in
72        *gcc*) groupstype='int';; # gcc doesn't do anything special
73        *) groupstype='gid_t';; # /usr/5bin/cc pulls in /usr/5lib/ stuff.
74    esac
75fi
76
77# If you get the message "unresolved symbol '__lib_version' " while
78# linking, your system probably has the optional 'acc' compiler (and
79# libraries) installed, but you are using the bundled 'cc' compiler with
80# the unbundled libraries.  The solution is either to use 'acc' and the
81# unbundled libraries (specifically /lib/libm.a), or 'cc' and the bundled
82# library.
83#
84# Thanks to William Setzer <William_Setzer@ncsu.edu> for this info.
Note: See TracBrowser for help on using the repository browser.