[fpc-devel] Errors with make rtl.chk on Windows

Hans-Peter Diettrich DrDiettrich1 at aol.com
Sat Dec 3 15:40:16 CET 2011


Tomas Hajny schrieb:

>> When ever required, the platform or widgetset specific *units* deserve 
>> their own documentation (sources) in the first place. Then it's only a 
>> minor effort to create specialized fpdoc projects, which use the right 
>> units and create the documentation for them. Every user then can create 
>> his own customized documentation, with commands as simple as
>>    fpdoc -p=winrtl.xml
>>    fpdoc -p=gtk2lcl.xml
> 
> Sorry, could you elaborate on that a bit, please? Would that allow 
> producing a complete rtl.inf (or rtl.chm, etc.) with all common parts 
> together with OS/2 specific extensions (based on the common 
> description files, obviously extended with those platform specific 
> elements)? That's something I'd be highly interested in...

Sorry, the parser logic doesn't allow for multiple platforms (with 
different sets of conditionals or include pathes). Multiple doc versions 
can be created only in multiple runs, as for the cross-compiler 
compilation cycle, but merging these docs will become very complicated.

When the documentation should include multiple platforms, parsing of the 
source files should be omitted, and instead the docs should be created 
from all XML elements. But without parsing the units, the index 
generator cannot separate e.g. classes from procedures or variables :-(

BTW I hate that multi-language documentation of e.g. Delphi (including 
CBuilder help) or .NET, with insufficient means to suppress unwanted 
branches, or popping up help for a different (unwanted) language. The 
same might happen with an all-in-one multi-platform documentation.


Otherwise combined help for different platforms can be generated from 
artificial units, which declare *all* identifiers of *all* platforms. 
But I don't see an simple way to create such dummy units from the actual 
sources. You may try to run the preprocessor for all configurations of 
interest, then merge the created units (removing duplicate declarations 
and implementations). But wait, the preprocessor is defunct right now, 
my according patches had been rejected for inobvious reasons :-(

DoDi




More information about the fpc-devel mailing list