BUG in hints/hpux.sh
[p5sagit/p5-mst-13.2.git] / hints / freebsd.sh
1 # Original based on info from
2 # Carl M. Fongheiser <cmf@ins.infonet.net>
3 # Date: Thu, 28 Jul 1994 19:17:05 -0500 (CDT)
4 #
5 # Additional 1.1.5 defines from 
6 # Ollivier Robert <Ollivier.Robert@keltia.frmug.fr.net>
7 # Date: Wed, 28 Sep 1994 00:37:46 +0100 (MET)
8 #
9 # Additional 2.* defines from
10 # Ollivier Robert <Ollivier.Robert@keltia.frmug.fr.net>
11 # Date: Sat, 8 Apr 1995 20:53:41 +0200 (MET DST)
12 #
13 # Additional 2.0.5 and 2.1 defined from
14 # Ollivier Robert <Ollivier.Robert@keltia.frmug.fr.net>
15 # Date: Fri, 12 May 1995 14:30:38 +0200 (MET DST)
16 #
17 # Additional 2.2 defines from
18 # Mark Murray <mark@grondar.za>
19 # Date: Wed, 6 Nov 1996 09:44:58 +0200 (MET)
20
21 # The two flags "-fpic -DPIC" are used to indicate a
22 # will-be-shared object.  Configure will guess the -fpic, (and the
23 # -DPIC is not used by perl proper) but the full define is included to 
24 # be consistent with the FreeBSD general shared libs building process.
25 #
26 # setreuid and friends are inherently broken in all versions of FreeBSD
27 # before 2.1-current (before approx date 4/15/95). It is fixed in 2.0.5
28 # and what-will-be-2.1
29 #
30
31 case "$osvers" in
32 0.*|1.0*)
33         usedl="$undef"
34         ;;
35 1.1*)
36         malloctype='void *'
37         groupstype='int'
38         d_setregid='undef'
39         d_setreuid='undef'
40         d_setrgid='undef'
41         d_setruid='undef'
42         ;;
43 2.0-release*)
44         d_setregid='undef'
45         d_setreuid='undef'
46         d_setrgid='undef'
47         d_setruid='undef'
48         ;;
49 #
50 # Trying to cover 2.0.5, 2.1-current and future 2.1/2.2
51 # It does not covert all 2.1-current versions as the output of uname
52 # changed a few times.
53 #
54 # Even though seteuid/setegid are available, they've been turned off
55 # because perl isn't coded with saved set[ug]id variables in mind.
56 # In addition, a small patch is requried to suidperl to avoid a security
57 # problem with FreeBSD.
58 #
59 2.0.5*|2.0-built*|2.1*)
60         usevfork='true'
61         d_dosuid='define'
62         d_setregid='define'
63         d_setreuid='define'
64         d_setegid='undef'
65         d_seteuid='undef'
66         ;;
67 #
68 # 2.2 and above have phkmalloc(3).
69 2.2*)
70         usevfork='true'
71         usemymalloc='n'
72         d_dosuid='define'
73         d_setregid='define'
74         d_setreuid='define'
75         d_setegid='undef'
76         d_seteuid='undef'
77         ;;
78 #
79 # Guesses at what will be needed after 2.2
80 *)      usevfork='true'
81         usemymalloc='n'
82         ;;
83 esac
84
85 # Dynamic Loading flags have not changed much, so they are separated
86 # out here to avoid duplicating them everywhere.
87 case "$osvers" in
88 0.*|1.0*) ;;
89 *)      cccdlflags='-DPIC -fpic'
90         lddlflags="-Bshareable $lddlflags"
91         ;;
92 esac
93
94 # Avoid telldir prototype conflict in pp_sys.c  (FreeBSD uses const DIR *)
95 # Configure should test for this.  Volunteers?
96 pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
97
98 cat <<'EOM'
99
100 Some users have reported that Configure halts when testing for
101 the O_NONBLOCK symbol with a syntax error.  This is apparently a
102 sh error.  Rerunning Configure with ksh apparently fixes the
103 problem.  Try
104         ksh Configure [your options]
105
106 EOM
107