Michaël Van Canneyt f590e65c7b * out and var are reserved words 3 năm trước cách đây
..
Makefile 271ba59cf1 All Makefile's regenerated 3 năm trước cách đây
Makefile.fpc 98f00acb06 * trunk to 3.3.1 7 năm trước cách đây
Makefile.fpc.fpcmake 94e7cd5a51 * Switched utils to fpmake building 12 năm trước cách đây
README.txt 4bf254bc32 * added .txt extensions to all README, TODO and COPYING files 16 năm trước cách đây
converu.pas c91498ed65 * better support of float, resolves #11426 17 năm trước cách đây
fpmake.pp c616832792 Disable utils packages for wasi OS if required package is not supported or if labels are used (which is not supported for wasm32 target CPU) 3 năm trước cách đây
h2pas.pas f590e65c7b * out and var are reserved words 3 năm trước cách đây
h2pas.y f590e65c7b * out and var are reserved words 3 năm trước cách đây
h2paschk.pas 1d9220d270 Use %X instead of %x for C hexadecimal constants as Free Pascal hexstr uses uppercase characters A to F for values 10 to 15 6 năm trước cách đây
h2paspp.pas 790a4fe2d3 * log and id tags removed 20 năm trước cách đây
h2plexlib.pas b13e00ea70 * make yysleng a longint 10 năm trước cách đây
h2poptions.pas 15537361ee * patch by "rs" to support lines longer than 255 chars in h2pas, resolves #15056 10 năm trước cách đây
h2pyacclib.pas 15537361ee * patch by "rs" to support lines longer than 255 chars in h2pas, resolves #15056 10 năm trước cách đây
scan.l 15537361ee * patch by "rs" to support lines longer than 255 chars in h2pas, resolves #15056 10 năm trước cách đây
scan.pas 15537361ee * patch by "rs" to support lines longer than 255 chars in h2pas, resolves #15056 10 năm trước cách đây
testit.h 782643789b * convert array declarations without size into pointers (as even the comment in the code says), resolves #10156 15 năm trước cách đây
yylex.cod b0634d2cb3 * set svn mime type=text/plain and eol style=native to the *.cod files in the h2pas directory 10 năm trước cách đây
yyparse.cod 3a56cae749 * moved 26 năm trước cách đây

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 !