[fpc-devel] Makeskel errors on Windows
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Fri Dec 9 02:08:20 CET 2011
Makeskel expects another(?) semicolon after win\wininc\func.inc:
function GetRandomRgn(aHDC: HDC; aHRGN: HRGN; iNum: WINT): WINT;
stdcall; external 'gdi32';
function ...
Perhaps it cannot parse the "external" directive?
FPDoc seems to suffer from the same problem, it creates an all-empty
description for windows.pp.
Workaround: exclude "func.inc" from the include file list in windows.pp:
{$IFNDEF fpdocsystem}
{$i func.inc}
{$ENDIF}
Then windows.pp can be added to the rtl project, and is documented by
fpdoc. No content so far, of course.
I also could not find an option to make the Makefile use a different
OSTARGET - it always seems to use the current system settings. Even if
some cross-platform information may be desireable in the documentation,
some essentially platform-dependent units should be documented in the
current platform variation, e.g. rtl/win32/system.pp instead of
rtl/linux/system.pp, winsocks instead of or in addition to the linux
sockets. For units for other targets (dos...) the compiler options
should reflect the proper compiler options (-d<target>, -Fi), else the
generated documentation may be quite useless.
For platform-specific units with a common interface (system, classes...)
the XML files can either reflect all platform variations, or the
descriptions can be separated into common documentation (*.xml) and
platform specific extensions (*<target>.xml), so that entries are not
inadvertently removed, when they do not apply to the platform of an
documentation writer.
Regardless of whether we want to provide all-in-one documentation, or
platform specific documentation, the generation of the documents
deserves some more thoughts. The current Linux (+dos+...-windows)
documentation is not really helpful to Windows users.
DoDi
More information about the fpc-devel
mailing list