summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1/h2ph.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man1/h2ph.1')
-rw-r--r--upstream/mageia-cauldron/man1/h2ph.1193
1 files changed, 193 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/h2ph.1 b/upstream/mageia-cauldron/man1/h2ph.1
new file mode 100644
index 00000000..8de56770
--- /dev/null
+++ b/upstream/mageia-cauldron/man1/h2ph.1
@@ -0,0 +1,193 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (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
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. 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 "H2PH 1"
+.TH H2PH 1 2023-12-15 "perl v5.38.2" "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
+h2ph \- convert .h C header files to .ph Perl header files
+.SH SYNOPSIS
+.IX Header "SYNOPSIS"
+\&\fBh2ph [\-d destination directory] [\-r | \-a] [\-l] [\-h] [\-e] [\-D] [\-Q]
+[headerfiles]\fR
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+\&\fIh2ph\fR
+converts any C header files specified to the corresponding Perl header file
+format.
+It is most easily run while in /usr/include:
+.PP
+.Vb 1
+\& cd /usr/include; h2ph * sys/*
+.Ve
+.PP
+or
+.PP
+.Vb 1
+\& cd /usr/include; h2ph * sys/* arpa/* netinet/*
+.Ve
+.PP
+or
+.PP
+.Vb 1
+\& cd /usr/include; h2ph \-r \-l .
+.Ve
+.PP
+The output files are placed in the hierarchy rooted at Perl's
+architecture dependent library directory. You can specify a different
+hierarchy with a \fB\-d\fR switch.
+.PP
+If run with no arguments, filters standard input to standard output.
+.SH OPTIONS
+.IX Header "OPTIONS"
+.IP "\-d destination_dir" 4
+.IX Item "-d destination_dir"
+Put the resulting \fB.ph\fR files beneath \fBdestination_dir\fR, instead of
+beneath the default Perl library location (\f(CW$Config{\*(Aqinstallsitearch\*(Aq}\fR).
+.IP \-r 4
+.IX Item "-r"
+Run recursively; if any of \fBheaderfiles\fR are directories, then run \fIh2ph\fR
+on all files in those directories (and their subdirectories, etc.). \fB\-r\fR
+and \fB\-a\fR are mutually exclusive.
+.IP \-a 4
+.IX Item "-a"
+Run automagically; convert \fBheaderfiles\fR, as well as any \fB.h\fR files
+which they include. This option will search for \fB.h\fR files in all
+directories which your C compiler ordinarily uses. \fB\-a\fR and \fB\-r\fR are
+mutually exclusive.
+.IP \-l 4
+.IX Item "-l"
+Symbolic links will be replicated in the destination directory. If \fB\-l\fR
+is not specified, then links are skipped over.
+.IP \-h 4
+.IX Item "-h"
+Put 'hints' in the .ph files which will help in locating problems with
+\&\fIh2ph\fR. In those cases when you \fBrequire\fR a \fB.ph\fR file containing syntax
+errors, instead of the cryptic
+.Sp
+.Vb 1
+\& [ some error condition ] at (eval mmm) line nnn
+.Ve
+.Sp
+you will see the slightly more helpful
+.Sp
+.Vb 1
+\& [ some error condition ] at filename.ph line nnn
+.Ve
+.Sp
+However, the \fB.ph\fR files almost double in size when built using \fB\-h\fR.
+.IP \-e 4
+.IX Item "-e"
+If an error is encountered during conversion, output file will be removed and
+a warning emitted instead of terminating the conversion immediately.
+.IP \-D 4
+.IX Item "-D"
+Include the code from the \fB.h\fR file as a comment in the \fB.ph\fR file.
+This is primarily used for debugging \fIh2ph\fR.
+.IP \-Q 4
+.IX Item "-Q"
+\&'Quiet' mode; don't print out the names of the files being converted.
+.SH ENVIRONMENT
+.IX Header "ENVIRONMENT"
+No environment variables are used.
+.SH FILES
+.IX Header "FILES"
+.Vb 2
+\& /usr/include/*.h
+\& /usr/include/sys/*.h
+.Ve
+.PP
+etc.
+.SH AUTHOR
+.IX Header "AUTHOR"
+Larry Wall
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fBperl\fR\|(1)
+.SH DIAGNOSTICS
+.IX Header "DIAGNOSTICS"
+The usual warnings if it can't read or write the files involved.
+.SH BUGS
+.IX Header "BUGS"
+Doesn't construct the \f(CW%sizeof\fR array for you.
+.PP
+It doesn't handle all C constructs, but it does attempt to isolate
+definitions inside evals so that you can get at the definitions
+that it can translate.
+.PP
+It's only intended as a rough tool.
+You may need to dicker with the files produced.
+.PP
+You have to run this program by hand; it's not run as part of the Perl
+installation.
+.PP
+Doesn't handle complicated expressions built piecemeal, a la:
+.PP
+.Vb 7
+\& enum {
+\& FIRST_VALUE,
+\& SECOND_VALUE,
+\& #ifdef ABC
+\& THIRD_VALUE
+\& #endif
+\& };
+.Ve
+.PP
+Doesn't necessarily locate all of your C compiler's internally-defined
+symbols.