=head1 NAME

gencls - class interface compiler for Prima core modules

=head1 SYNOPSIS

  gencls --h --inc --tml -O -I<name> --depend --sayparent filename.cls


=head1 DESCRIPTION

Creates header with C macros and structures for Prima
core modules object definition.

=head1 ARGUMENTS

gencls takes the following arguments:

=over 4

=item --h

Generates .h file ( with declarations to be included in many files )

=item --inc

Generates .inc file ( with declarations to be included in only file )

=item -O

Turns optimizing algorithm for .inc files on. Algorithm is
based on an assumption, that may functions have same list of
parameters, therefore same piece of code can be shared. With -O
flag on, thunk body is replaced to a call to
a function, which name is made up from all method parameters plus result.
Actual function is not written in .inc file, but in .tml file.
All duplicate declarations from a set of .tml files can be removed
and reminder written to a large include file by L<tmlink> utility.

=item --tml

Generates .tml file. Turns -O automatically on.

=item -Idirname

Adds a directory to a search path, where the utility searches for
.cls files. Can be specified several times.

=item --depend

Prints out dependencies for a given file.

=item --sayparent

Prints out the immediate parent of a class inside given file.

=back

=head1 AUTHORS

Dmitry Karasik, E<lt>dmitry@karasik.eu.orgE<gt>.
Anton Berezin, E<lt>tobez@tobez.orgE<gt>.

=head1 SEE ALSO

L<prima-guts>, L<tmlink>

=head1 COPYRIGHT

This program is distributed under the BSD License.

