pierre 94d71c0d35 Disable some packages for avr-embedded and i8086-embedded targets %!s(int64=6) %!d(string=hai) anos
..
Makefile 5182dc37af haiku-x86_64: regenerated all Makefiles, take 2 %!s(int64=6) %!d(string=hai) anos
Makefile.fpc 98f00acb06 * trunk to 3.3.1 %!s(int64=7) %!d(string=hai) anos
Makefile.fpc.fpcmake 94e7cd5a51 * Switched utils to fpmake building %!s(int64=12) %!d(string=hai) anos
README.txt 4bf254bc32 * added .txt extensions to all README, TODO and COPYING files %!s(int64=16) %!d(string=hai) anos
converu.pas c91498ed65 * better support of float, resolves #11426 %!s(int64=17) %!d(string=hai) anos
fpmake.pp 94d71c0d35 Disable some packages for avr-embedded and i8086-embedded targets %!s(int64=6) %!d(string=hai) anos
h2pas.pas 81c5d63d4e * do not generate var paras for void* if -w is used, resolves #31425 %!s(int64=8) %!d(string=hai) anos
h2pas.y 81c5d63d4e * do not generate var paras for void* if -w is used, resolves #31425 %!s(int64=8) %!d(string=hai) anos
h2paspp.pas 790a4fe2d3 * log and id tags removed %!s(int64=20) %!d(string=hai) anos
h2plexlib.pas b13e00ea70 * make yysleng a longint %!s(int64=10) %!d(string=hai) anos
h2poptions.pas 15537361ee * patch by "rs" to support lines longer than 255 chars in h2pas, resolves #15056 %!s(int64=10) %!d(string=hai) anos
h2pyacclib.pas 15537361ee * patch by "rs" to support lines longer than 255 chars in h2pas, resolves #15056 %!s(int64=10) %!d(string=hai) anos
scan.l 15537361ee * patch by "rs" to support lines longer than 255 chars in h2pas, resolves #15056 %!s(int64=10) %!d(string=hai) anos
scan.pas 15537361ee * patch by "rs" to support lines longer than 255 chars in h2pas, resolves #15056 %!s(int64=10) %!d(string=hai) anos
testit.h 782643789b * convert array declarations without size into pointers (as even the comment in the code says), resolves #10156 %!s(int64=15) %!d(string=hai) anos
yylex.cod b0634d2cb3 * set svn mime type=text/plain and eol style=native to the *.cod files in the h2pas directory %!s(int64=10) %!d(string=hai) anos
yyparse.cod 3a56cae749 * moved %!s(int64=26) %!d(string=hai) anos

README.txt

This is the h2pas program, a utility to convert C header files to pascal
units. It is part of the Free Pascal distribution.

COMPILING

To compile the program, a simple
'make'
should be sufficient; you need GNU make for this. When using TP, a simple
tpc h2pas.pas
should also be possible.

USAGE

h2pas [-p] [-t] [-o outputfilename] [-l libname] [-u unitname] filename

-t : Prepend 'T' to all type names in typedef definitions. This may help
when the C header use uppercase types and lowercase variables of the
same name.

-p : Use 'P' instead of ^ as a pointer symbol;
This will convert
^char to pchar
^longint to plongint
etc. It will also define a PSOMETYPE pointer for each SOMETYPE struct type
definition in the header file.
Thus
typedef struct somestruct {
...
}
Will be converted to
somestruct = record
...
end;
PSomestruct = ^Somestruct;
If the -t options is used, the -p option takes care of that too.

-l : In the implementation part, the external functions will be
written with 'external libname;' behind it.
If you omit this option, all functions will be declared as
cdecl; external;

-o : specify the outputname. By default, the inputname is used, with
extension '.pp'.

-u : Specify the unit name. By default, the outputname is used, without
extension.

-v : Replaces pointer types in parameter list by call by reference
parameters:
void p(int *i) => procedure p(var i : longint);

Enjoy !