*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> h2ph (1)              



NAME    [Toc]    [Back]

       h2ph - convert .h C header files to .ph Perl header files

SYNOPSIS    [Toc]    [Back]

       h2ph [-d destination directory] [-r | -a] [-l] [header-

DESCRIPTION    [Toc]    [Back]

       h2ph converts any C header files specified to the corresponding
 Perl header file format.  It is most easily run
       while in /usr/include:

               cd /usr/include; h2ph * sys/*


               cd /usr/include; h2ph * sys/* arpa/* netinet/*


               cd /usr/include; h2ph -r -l .

       The output files are placed in the hierarchy rooted at
       Perl's architecture dependent library directory.  You can
       specify a different hierarchy with a -d switch.

       If run with no arguments, filters standard input to standard

OPTIONS    [Toc]    [Back]

       -d destination_dir
           Put the resulting .ph files beneath destination_dir,
           instead of beneath the default Perl library location

       -r  Run recursively; if any of headerfiles are directories,
 then run h2ph on all files in those directories
           (and their subdirectories, etc.).  -r and -a are mutually

       -a  Run automagically; convert headerfiles, as well as any
           .h files which they include.  This option will search
           for .h files in all directories which your C compiler
           ordinarily uses.  -a and -r are mutually exclusive.

       -l  Symbolic links will be replicated in the destination
           directory.  If -l is not specified, then links are
           skipped over.

       -h  Put ``hints'' in the .ph files which will help in
           locating problems with h2ph.  In those cases when you
           require a .ph file containing syntax errors, instead
           of the cryptic
                   [ some error condition ] at  (eval  mmm)  line

           you will see the slightly more helpful

                   [  some  error condition ] at filename.ph line

           However, the .ph files almost double in size when
           built using -h.

       -D  Include the code from the .h file as a comment in the
           .ph file.  This is primarily used for debugging  h2ph.

       -Q  ``Quiet'' mode; don't print out the names of the files
           being converted.

ENVIRONMENT    [Toc]    [Back]

       No environment variables are used.

FILES    [Toc]    [Back]



AUTHOR    [Toc]    [Back]

       Larry Wall

SEE ALSO    [Toc]    [Back]


DIAGNOSTICS    [Toc]    [Back]

       The usual warnings if it can't read or write the files

BUGS    [Toc]    [Back]

       Doesn't construct the %sizeof array for you.

       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.

       It's only intended as a rough tool.  You may need to
       dicker with the files produced.

       You have to run this program by hand; it's not run as part
       of the Perl installation.

       Doesn't handle complicated expressions built piecemeal, a
           enum {
           #ifdef ABC

       Doesn't necessarily locate all of your C compiler's internally-defined

perl v5.8.5                 2002-11-06                          3
[ Back ]
 Similar pages
Name OS Title
h2xs Linux convert .h C header files to Perl extensions
h2xs OpenBSD convert .h C header files to Perl extensions
h2xs IRIX convert .h C header files to Perl extensions
protect_headers_setup Tru64 Sets up header files for the
limits Tru64 Header files for implementation-specific constants
gensnmptree FreeBSD generate C and header files from a MIB description file
istat IRIX print the header information of a list of image files.
inet6_opt_init Tru64 Return the length of an IPv6 extension header with no options and initialize the header
znew OpenBSD convert compressed files to gzipped files
pod2html OpenBSD convert .pod files to .html files
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service