[inseparable changes from patch from perl5.003_11 to perl5.003_12]
[p5sagit/p5-mst-13.2.git] / hints / freebsd.sh
CommitLineData
5d94fbed 1# Original based on info from
a0d0e21e 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#
5d94fbed 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#
16d20bd9 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#
55497cff 17# Additional 2.2 defines from
18# Mark Murray <mark@grondar.za>
19# Date: Wed, 6 Nov 1996 09:44:58 +0200 (MET)
20#
5d94fbed 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#
16d20bd9 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
5d94fbed 29#
30
a0d0e21e 31case "$osvers" in
320.*|1.0*)
33 usedl="$undef"
34 ;;
e50aee73 351.1*)
a0d0e21e 36 malloctype='void *'
37 groupstype='int'
38 d_setregid='undef'
39 d_setreuid='undef'
40 d_setrgid='undef'
41 d_setruid='undef'
5d94fbed 42 ;;
e50aee73 432.0-release*)
5d94fbed 44 d_setregid='undef'
45 d_setreuid='undef'
46 d_setrgid='undef'
47 d_setruid='undef'
a0d0e21e 48 ;;
16d20bd9 49#
55497cff 50# Trying to cover 2.0.5, 2.1-current and future 2.1/2.2
16d20bd9 51# It does not covert all 2.1-current versions as the output of uname
52# changed a few times.
53#
55497cff 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#
e50aee73 592.0.5*|2.0-built*|2.1*)
60 usevfork='true'
55497cff 61 d_dosuid='define'
62 d_setregid='define'
63 d_setreuid='define'
64 d_setegid='undef'
65 d_seteuid='undef'
5f05dabc 66 cat <<EOF
67
68Unless you've upgraded your DB library manually you will see failures in
69db-recno tests 51, 53 and 55. The behavior these tests are checking is
70broken in the DB library which is included with the OS. You can ignore
71the errors if you're never going to use the broken functionality (recno
72databases with a modified bval), otherwise you'll have to upgrade your
73DB library or OS.
74
75EOF
55497cff 76 ;;
77#
78# 2.2 and above have phkmalloc(3).
792.2*)
80 usevfork='true'
81 usemymalloc='n'
82 d_dosuid='define'
83 d_setregid='define'
84 d_setreuid='define'
85 d_setegid='undef'
86 d_seteuid='undef'
e50aee73 87 ;;
88#
55497cff 89# Guesses at what will be needed after 2.2
e50aee73 90*) usevfork='true'
55497cff 91 usemymalloc='n'
e50aee73 92 ;;
93esac
94
95# Dynamic Loading flags have not changed much, so they are separated
96# out here to avoid duplicating them everywhere.
97case "$osvers" in
980.*|1.0*) ;;
99*) cccdlflags='-DPIC -fpic'
c2960299 100 lddlflags="-Bshareable $lddlflags"
e50aee73 101 ;;
a0d0e21e 102esac
e50aee73 103
a0d0e21e 104# Avoid telldir prototype conflict in pp_sys.c (FreeBSD uses const DIR *)
5d94fbed 105# Configure should test for this. Volunteers?
a0d0e21e 106pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
4633a7c4 107
108cat <<'EOM'
109
110Some users have reported that Configure halts when testing for
111the O_NONBLOCK symbol with a syntax error. This is apparently a
112sh error. Rerunning Configure with ksh apparently fixes the
113problem. Try
114 ksh Configure [your options]
115
116EOM
117