Integrate change #12820 from macperl to maint and blead;
[p5sagit/p5-mst-13.2.git] / README.tru64
CommitLineData
ea3bceb2 1If you read this file _as_is_, just ignore the funny characters you see.
2It is written in the POD format (see pod/perlpod.pod) which is specially
3designed to be readable as is.
4
5=head1 NAME
6
7README.tru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
8
9=head1 DESCRIPTION
10
11This document describes various features of Compaq's (formerly Digital's)
12Unix operating system (Tru64) that will affect how Perl version 5
13is compiled and/or runs.
14
15=head2 Compiling Perl 5 on Tru64
16
17The recommended compiler to use in Tru64 is the native C compiler.
8fa7f367 18The native compiler produces much faster code (the speed difference
19is noticeable: several dozen percentages) and also more correct code:
20if you are considering using the GNU C compiler you should use the
21gcc 2.95.3 since all older gcc releases are known to produce broken
22code when compiling Perl. One manifestation of this brokenness is
23the lib/sdbm test dumping core; another is the op/regexp dumping core
24(depending on the GCC release).
ea3bceb2 25
26=head2 Using Large Files with Perl on Tru64
27
28In Tru64 Perl is automatically able to use large files, that is, files
29larger than 2 gigabytes, there is no need to use the Configure
30-Duselargefiles option as described in INSTALL.
31
32=head2 Threaded Perl on Tru64
33
34To compile Perl to use the old Perl 5.005 threads model, run Configure
35with the -Dusethreads -Duse5005threads options as described in INSTALL.
36This will probably only work in Tru64 4.0 and newer releases, older
37operating releases like 3.2 aren't probably going to work properly
38with threads.
39
40Beware: the Perl 5.005 threads model is known to have bugs, for
41example the regular expressions are not thread-safe. The bugs are
42very hard to fix are and therefore the 5.005 threads model is still
43classified as an experimental feature.
44
bef5f079 45=head2 Long Doubles on Tru64
46
47You cannot Configure Perl to use long doubles unless you have at least
48Tru64 V5.0, the long double support simply wasn't functional before
49that.
50
ea3bceb2 51=head2 64-bit Perl on Tru64
52
53In Tru64 Perl's integers are automatically 64-bit wide, there is
54no need to use the Configure -Duse64bitint option as described
55in INSTALL. Similarly, there is no need for -Duse64bitall.
56
57=head2 Warnings about floating-point overflow when compiling Perl on Tru64
58
59When compiling Perl in Tru64 you may (depending on the compiler
60release) see two warnings like this
61
d780cd7a 62 cc: Warning: numeric.c, line 104: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl)
ea3bceb2 63 return HUGE_VAL;
64 -----------^
65
66 cc: Warning: POSIX.xs, line 1304: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl)
67 return HUGE_VAL;
68 -------------------^
69
70The exact line numbers may vary between Perl releases.
71The warnings are benign and can be ignored.
72
73When the file F<pp_sys.c> is being compiled you may (depending on the
74operating system release) see an additional compiler flag being used:
75C<-DNO_EFF_ONLY_OK>. This is normal and refers to a feature that is
76relevant only if you use the C<filetest> pragma. In older releases of
77the operating system the feature was broken and the NO_EFF_ONLY_OK
78instructs Perl not to use the feature.
79
80=head1 Testing Perl on Tru64
81
82During "make test" the C<comp/cpp> will be skipped because on Tru64 it
83cannot be tested before Perl has been installed. The test refers to
84the use of the C<-P> option of Perl.
85
86=head1 AUTHOR
87
88Jarkko Hietaniemi <jhi@iki.fi>
89
90=cut