microperl tweaks.
[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
fa17d112 51At the time of this writing, there's a bug in the Tru64 libc printing
52of long doubles when not using "e" notation. The values are correct
53and usable, but you only get a limited number of digits displayed
54unless you force the issue by using C<printf "%.33e",$num> or the like.
55For Tru64 versions V5.0A through V5.1A, a patch is expected sometime after
56perl 5.8.0 is released. If your libc has not yet been patched, you'll get
57a warning from Configure when selecting long doubles.
58
ea3bceb2 59=head2 64-bit Perl on Tru64
60
61In Tru64 Perl's integers are automatically 64-bit wide, there is
62no need to use the Configure -Duse64bitint option as described
63in INSTALL. Similarly, there is no need for -Duse64bitall.
64
65=head2 Warnings about floating-point overflow when compiling Perl on Tru64
66
67When compiling Perl in Tru64 you may (depending on the compiler
68release) see two warnings like this
69
d780cd7a 70 cc: Warning: numeric.c, line 104: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl)
ea3bceb2 71 return HUGE_VAL;
72 -----------^
73
74 cc: Warning: POSIX.xs, line 1304: In this statement, floating-point overflow occurs in evaluating the expression "1.8e308". (floatoverfl)
75 return HUGE_VAL;
76 -------------------^
77
78The exact line numbers may vary between Perl releases.
79The warnings are benign and can be ignored.
80
81When the file F<pp_sys.c> is being compiled you may (depending on the
82operating system release) see an additional compiler flag being used:
83C<-DNO_EFF_ONLY_OK>. This is normal and refers to a feature that is
84relevant only if you use the C<filetest> pragma. In older releases of
85the operating system the feature was broken and the NO_EFF_ONLY_OK
86instructs Perl not to use the feature.
87
88=head1 Testing Perl on Tru64
89
90During "make test" the C<comp/cpp> will be skipped because on Tru64 it
91cannot be tested before Perl has been installed. The test refers to
92the use of the C<-P> option of Perl.
93
94=head1 AUTHOR
95
96Jarkko Hietaniemi <jhi@iki.fi>
97
98=cut