This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
5.004 removed deprecated %OVERLOAD support silently
[perl5.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         usemymalloc='n'
62         d_setregid='define'
63         d_setreuid='define'
64         d_setegid='undef'
65         d_seteuid='undef'
66         test -r ./broken-db.msg && . ./broken-db.msg
67         ;;
68 #
69 # 2.2 and above have phkmalloc(3).
70 # don't use -lmalloc (maybe there's an old one from 1.1.5.1 floating around)
71 2.2*)
72         usevfork='true'
73         usemymalloc='n'
74         libswanted=`echo $libswanted | sed 's/ malloc / /'`
75         d_setregid='define'
76         d_setreuid='define'
77         d_setegid='undef'
78         d_seteuid='undef'
79         ;;
80 #
81 # Guesses at what will be needed after 2.2
82 *)      usevfork='true'
83         usemymalloc='n'
84         libswanted=`echo $libswanted | sed 's/ malloc / /'`
85         ;;
86 esac
87
88 # Dynamic Loading flags have not changed much, so they are separated
89 # out here to avoid duplicating them everywhere.
90 case "$osvers" in
91 0.*|1.0*) ;;
92 *)      cccdlflags='-DPIC -fpic'
93         lddlflags="-Bshareable $lddlflags"
94         ;;
95 esac
96
97 # Avoid telldir prototype conflict in pp_sys.c  (FreeBSD uses const DIR *)
98 # Configure should test for this.  Volunteers?
99 pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
100
101 cat <<'EOM' >&4
102
103 Some users have reported that Configure halts when testing for
104 the O_NONBLOCK symbol with a syntax error.  This is apparently a
105 sh error.  Rerunning Configure with ksh apparently fixes the
106 problem.  Try
107         ksh Configure [your options]
108
109 EOM
110