This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Win32: try to make the new stat pre-Vista compatible
[perl5.git] / hints / sunos_4_1.sh
CommitLineData
0093f865 1# hints/sunos_4_1.sh
bd89102f 2# Last modified: Wed May 27 11:00:02 EDT 1998
1973dd96 3# Andy Dougherty <doughera@lafayette.edu>
0093f865 4
a0d0e21e 5case "$cc" in
54000519 6*gcc*) usevfork=false
7 # GNU as and GNU ld might not work. See the INSTALL file.
8 ;;
a0d0e21e
LW
9*) usevfork=true ;;
10esac
0093f865 11
0093f865 12# Configure finds getzname, not tzname. If you're in the System V
13# environment, you can set d_tzname='define' since tzname[] is
14# available in the System V environment.
a0d0e21e 15d_tzname='undef'
0093f865 16
7d4724f9 17# unistd.h contains incorrect prototypes for some functions in the usual
54000519 18# BSD-ish environment. In particular, it has
19# extern int getgroups(/* int gidsetsize, gid_t grouplist[] */);
20# but groupslist[] ought to be of type int, not gid_t.
21# This is only really a problem for perl if the
22# user is using gcc, and not running in the SysV environment.
23# The gcc fix-includes script exposes those incorrect prototypes.
24# There may be other examples as well. Volunteers are welcome to
25# track them all down :-). In the meantime, we'll just skip unistd.h
a71cd7cd
JH
26# for SunOS in most of the code.
27# However, see ext/POSIX/hints/sunos_4.pl for one exception.
54000519 28i_unistd='undef'
a71cd7cd
JH
29# See util.c for another: We need _SC_OPEN_MAX, which is in
30# <unistd.h>.
d2201af2
AD
31
32# fflush(NULL) will core dump on SunOS 4.1.3. In util.c we'll
33# try explicitly fflushing all open files. Unfortunately,
34# on my SunOS 4.1.3 system, sysconf(_SC_OPEN_MAX) returns
35# 64, but only 32 of those file pointers can be accessed
36# directly by _iob[i]. The remainder are off in dynamically
37# allocated memory somewhere and I don't know to automatically
38# fflush() them. -- Andy Dougherty Wed May 26 15:25:22 EDT 1999
39util_cflags='ccflags="$ccflags -DPERL_FFLUSH_ALL_FOPEN_MAX=32"'
54000519 40
137a3082
AD
41# The correct setting of groupstype depends on which version of the C
42# library is used. If you are in the 'System V environment'
43# (i.e. you have /usr/5bin ahead of /usr/bin in your PATH), and
44# you use Sun's cc compiler, then you'll pick up /usr/5bin/cc, which
45# links against the C library in /usr/5lib. This library has
46# groupstype='gid_t'.
47# If you are in the normal BSDish environment, then you'll pick up
48# /usr/ucb/cc, which links against the C library in /usr/lib. That
49# library has groupstype='int'.
50#
51# If you are using gcc, it links against the C library in /usr/lib
52# independent of whether or not you are in the 'System V environment'.
53# If you want to use the System V libraries, then you need to
54# manually set groupstype='gid_t' and add explicit references to
55# /usr/5lib when Configure prompts you for where to look for libraries.
56#
90248788 57# Check if user is in a bsd or system 5 type environment
a0d0e21e
LW
58if cat -b /dev/null 2>/dev/null
59then # bsd
60 groupstype='int'
61else # sys5
137a3082
AD
62 case "$cc" in
63 *gcc*) groupstype='int';; # gcc doesn't do anything special
64 *) groupstype='gid_t';; # /usr/5bin/cc pulls in /usr/5lib/ stuff.
65 esac
a0d0e21e 66fi
77c65e92 67
68# If you get the message "unresolved symbol '__lib_version' " while
69# linking, your system probably has the optional 'acc' compiler (and
70# libraries) installed, but you are using the bundled 'cc' compiler with
71# the unbundled libraries. The solution is either to use 'acc' and the
72# unbundled libraries (specifically /lib/libm.a), or 'cc' and the bundled
73# library.
74#
75# Thanks to William Setzer <William_Setzer@ncsu.edu> for this info.
b76f91fc
JH
76
77# Don't use the GNU ld, that doesn't work, you'll get a lot of
78# relocation truncated to fit: BASE13 ...
79# from many extensions, like B and Data::Dumper.
80ld=/usr/bin/ld
81
42600de6
JH
82# As of Perl 5.8.1 it seems that dynaloading is broken in SunOS 4.x, sniff.
83case "$usedl" in
84'') usedl=undef ;;
85esac
86