summaryrefslogtreecommitdiffstats
path: root/upstream/debian-bookworm/man1/perlos400.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-bookworm/man1/perlos400.1')
-rw-r--r--upstream/debian-bookworm/man1/perlos400.1191
1 files changed, 191 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man1/perlos400.1 b/upstream/debian-bookworm/man1/perlos400.1
new file mode 100644
index 00000000..b8cdd593
--- /dev/null
+++ b/upstream/debian-bookworm/man1/perlos400.1
@@ -0,0 +1,191 @@
+.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "PERLOS400 1"
+.TH PERLOS400 1 "2023-11-25" "perl v5.36.0" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+perlos400 \- Perl version 5 on OS/400
+.PP
+This document needs to be updated, but we don't know what it should say.
+Please submit comments to <https://github.com/Perl/perl5/issues>.
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This document describes various features of \s-1IBM\s0's \s-1OS/400\s0 operating
+system that will affect how Perl version 5 (hereafter just Perl) is
+compiled and/or runs.
+.PP
+By far the easiest way to build Perl for \s-1OS/400\s0 is to use the \s-1PASE\s0
+(Portable Application Solutions Environment), for more information see
+<http://www.iseries.ibm.com/developer/factory/pase/index.html>
+This environment allows one to use \s-1AIX\s0 APIs while programming, and it
+provides a runtime that allows \s-1AIX\s0 binaries to execute directly on the
+PowerPC iSeries.
+.SS "Compiling Perl for \s-1OS/400 PASE\s0"
+.IX Subsection "Compiling Perl for OS/400 PASE"
+The recommended way to build Perl for the \s-1OS/400 PASE\s0 is to build the
+Perl 5 source code (release 5.8.1 or later) under \s-1AIX.\s0
+.PP
+The trick is to give a special parameter to the Configure shell script
+when running it on \s-1AIX:\s0
+.PP
+.Vb 1
+\& sh Configure \-DPASE ...
+.Ve
+.PP
+The default installation directory of Perl under \s-1PASE\s0 is /QOpenSys/perl.
+This can be modified if needed with Configure parameter \-Dprefix=/some/dir.
+.PP
+Starting from \s-1OS/400 V5R2\s0 the \s-1IBM\s0 Visual Age compiler is supported
+on \s-1OS/400 PASE,\s0 so it is possible to build Perl natively on \s-1OS/400.\s0
+The easier way, however, is to compile in \s-1AIX,\s0 as just described.
+.PP
+If you don't want to install the compiled Perl in \s-1AIX\s0 into /QOpenSys
+(for packaging it before copying it to \s-1PASE\s0), you can use a Configure
+parameter: \-Dinstallprefix=/tmp/QOpenSys/perl. This will cause the
+\&\*(L"make install\*(R" to install everything into that directory, while the
+installed files still think they are (will be) in /QOpenSys/perl.
+.PP
+If building natively on \s-1PASE,\s0 please do the build under the /QOpenSys
+directory, since Perl is happier when built on a case sensitive filesystem.
+.SS "Installing Perl in \s-1OS/400 PASE\s0"
+.IX Subsection "Installing Perl in OS/400 PASE"
+If you are compiling on \s-1AIX,\s0 simply do a \*(L"make install\*(R" on the \s-1AIX\s0 box.
+Once the install finishes, tar up the /QOpenSys/perl directory. Transfer
+the tarball to the \s-1OS/400\s0 using \s-1FTP\s0 with the following commands:
+.PP
+.Vb 3
+\& > binary
+\& > site namefmt 1
+\& > put perl.tar /QOpenSys
+.Ve
+.PP
+Once you have it on, simply bring up a \s-1PASE\s0 shell and extract the tarball.
+.PP
+If you are compiling in \s-1PASE,\s0 then \*(L"make install\*(R" is the only thing you
+will need to do.
+.PP
+The default path for perl binary is /QOpenSys/perl/bin/perl. You'll
+want to symlink /QOpenSys/usr/bin/perl to this file so you don't have
+to modify your path.
+.SS "Using Perl in \s-1OS/400 PASE\s0"
+.IX Subsection "Using Perl in OS/400 PASE"
+Perl in \s-1PASE\s0 may be used in the same manner as you would use Perl on \s-1AIX.\s0
+.PP
+Scripts starting with #!/usr/bin/perl should work if you have
+/QOpenSys/usr/bin/perl symlinked to your perl binary. This will not
+work if you've done a setuid/setgid or have environment variable
+PASE_EXEC_QOPENSYS=\*(L"N\*(R". If you have V5R1, you'll need to get the
+latest PTFs to have this feature. Scripts starting with
+#!/QOpenSys/perl/bin/perl should always work.
+.SS "Known Problems"
+.IX Subsection "Known Problems"
+When compiling in \s-1PASE,\s0 there is no \*(L"oslevel\*(R" command. Therefore,
+you may want to create a script called \*(L"oslevel\*(R" that echoes the
+level of \s-1AIX\s0 that your version of \s-1PASE\s0 runtime supports. If you're
+unsure, consult your documentation or use \*(L"4.3.3.0\*(R".
+.PP
+If you have test cases that fail, check for the existence of spool files.
+The test case may be trying to use a syscall that is not implemented
+in \s-1PASE.\s0 To avoid the \s-1SIGILL,\s0 try setting the \s-1PASE_SYSCALL_NOSIGILL\s0
+environment variable or have a handler for the \s-1SIGILL.\s0 If you can
+compile programs for \s-1PASE,\s0 run the config script and edit config.sh
+when it gives you the option. If you want to remove \fBfchdir()\fR, which
+isn't implement in V5R1, simply change the line that says:
+.PP
+d_fchdir='define'
+.PP
+to
+.PP
+d_fchdir='undef'
+.PP
+and then compile Perl. The places where \fBfchdir()\fR is used have
+alternatives for systems that do not have \fBfchdir()\fR available.
+.SS "Perl on \s-1ILE\s0"
+.IX Subsection "Perl on ILE"
+There exists a port of Perl to the \s-1ILE\s0 environment. This port, however,
+is based quite an old release of Perl, Perl 5.00502 (August 1998).
+(As of July 2002 the latest release of Perl is 5.8.0, and even 5.6.1
+has been out since April 2001.) If you need to run Perl on \s-1ILE,\s0 though,
+you may need this older port: <http://www.cpan.org/ports/#os400>
+Note that any Perl release later than 5.00502 has not been ported to \s-1ILE.\s0
+.PP
+If you need to use Perl in the \s-1ILE\s0 environment, you may want to consider
+using \fBQp2RunPase()\fR to call the \s-1PASE\s0 version of Perl.
+.SH "AUTHORS"
+.IX Header "AUTHORS"
+Jarkko Hietaniemi <jhi@iki.fi>
+Bryan Logan <bryanlog@us.ibm.com>
+David Larson <larson1@us.ibm.com>