This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Convert win32 to build DynaLoader with EU::MM in ext/DynaLoader
[perl5.git] / README.beos
1 If you read this file _as_is_, just ignore the funny characters you see.
2 It is written in the POD format (see pod/perlpod.pod) which is specially
3 designed to be readable as is.
4
5 =head1 NAME
6
7 README.beos - Perl version 5.8+ on BeOS
8
9 =head1 DESCRIPTION
10
11 This file contains instructions how to build Perl under BeOS and lists
12 known problems.
13
14 =head1 BUILD AND INSTALL
15
16 =head2 Requirements
17
18 I have built and tested Perl 5.8.6 and 5.9.1 under BeOS R5 x86 net server.
19 I can't say anything with regard to PPC. Since Perl 5.8.0 had been released
20 for BeOS BONE, I suspect, there is a good chance, that it still compiles on
21 a BONE system. The only change I've made, that affects BONE systems is the
22 recognition of whether it is a BONE system or not in C<hints/beos.sh>. Now
23 network socket support should remain enabled on BONE systems. This might
24 as well break the build, though.
25
26 As more recent versions of autoconf require flock() support, I wrote a flock()
27 emulation (flock_server) and released it on BeBits:
28
29         http://www.bebits.com/app/4030
30
31 If you want to build a Perl with flock() support, you have to install this
32 package first.
33
34 =head2 Configure
35
36 With flock() support:
37
38         CFLAGS=-I/path/to/flock/server/headers ./configure.gnu \
39                 --prefix=/boot/home/config
40
41 Replace C</path/to/flock/server/headers> with the path to the directory
42 containing the C<flock.h> header.
43
44 Without flock() support:
45
46         ./configure.gnu --prefix=/boot/home/config
47
48 =head2 Build
49
50 With flock() support:
51
52         make LDLOADLIBS="-lnet -lflock"
53
54 Without flock() support:
55
56         make LDLOADLIBS="-lnet"
57
58 C<-lnet> is needed on net server systems only and if the compiler doesn't
59 add it automatically (Be's R5 gcc does, Oliver Tappe's gcc 2.95.3 does not).
60
61 =head2 Install
62
63 Install all perl files:
64
65         make install
66
67 Create a symlink for libperl:
68
69         cd ~/config/lib; ln -s perl5/5.8.6/BePC-beos/CORE/libperl.so .
70
71 Replace C<5.8.6> with your respective version of Perl.
72
73 =head1 KNOWN PROBLEMS
74
75 =over 4
76
77 =item *
78
79 Network socket support is disabled for BeOS R5 net server. I didn't dare yet
80 to try enabling it and see what problems occur.
81
82 =item *
83
84 The LFS (large file support) tests (C<t/op/lfs> and C<xt/Fcntl/t/syslfs>) are
85 disabled as seeking beyond 2 GB is broken according to jhi@iki.fi who was the
86 last one checking the BeOS port and updating this file before me. Haven't
87 checked this myself.
88
89 =item *
90
91 The C<t/io/fflush> test fails at #6. As far as I can tell, this is caused by
92 a bug in the BeOS pipes implementation that occurs when starting other child
93 processes. In the particular test case a C<system("perl -e 0")> flushes the
94 stdout pipe of another child process.
95
96 =item *
97
98 The C<ext/POSIX/t/waitpid> test fails at #1. After all child processes are
99 gone BeOS' waitpid(-1,...) returns 0 instead of -1 (as it should). No idea
100 how to fix this.
101
102 =back
103
104 =head1 CONTACT
105
106 For BeOS specifics problems feel free to mail to:
107 Ingo Weinhold <bonefish@cs.tu-berlin.de>
108
109 Last update: 2004-12-16