[Lazarus] Lazarus trunk help options: CHM Help browser does not show up

Hans-Peter Diettrich DrDiettrich1 at aol.com
Sat Feb 18 06:40:14 CET 2012


Marco van de Voort schrieb:
> On Fri, Feb 17, 2012 at 08:05:51PM +0100, Hans-Peter Diettrich wrote:
>>> In theory
>>>
>>> make chm DOCS="rtl fcl" should do it, but it currently hits windows
>>> commandline limits. (see below to get an idea)
>> Where is the DOCS option (and more) documented?
> 
> Should it be?

Tell me a reason why it does *not* deserve documentation.

> If you think it should, please annotate such things in the wiki.  :-)

What do you expect me to annotate? That I'm missing a documentation of 
the options, which the user can add on a "make" commandline?


>>> (IMHO this should not be needed. A system that relies on random hardcoded
>>> paths in a particular setup is flawed)
>> References to the content files of required packages require 
>> installation-specific pathes. 
> 
> Then they shouldn't be in the project system, but passed on the commandline,
> or a seperate settings file.

They become part of the project created using --write-project. This is 
not noticeable in the RTL and FCL projects, where all files reside in 
the same directory. When e.g. the LCL refers to the RTL and FCL, the 
content files (--import) reside in different directories, so that at 
least macros or environment options have to be used to evaluate the 
pathes on a user machine.

> Having to edit project files before using them, just switches one voodoo
> solution by the other.
+1


>> The installer should know, however, in 
>> which directories the files reside, and can create the commandlines 
>> accordingly.
> 
> Which installer? Primarily docs are run by release engineers from svn. 
> This use should be central.

This part was in response to the generation of local documentation by 
the new installer (FPCup) of Reinier.


>> Another problem is the OStarget, which is somewhat hard-coded in the 
>> MakeFile, and then mixed with the current platform in the MakeFile.
> 
> That is a totally different problem. A quality solution for that is very
> costly, and IMHO that time can be spent on better things. 
> 
>> FPDoc adds further defines to the input specs, to increase the confusion 
>> and chance for errors. The input specifiers in a project include the 
>> settings derived on the machine on which the project was created, which 
>> will mix up with the settings added by FPDoc at runtime. One such 
>> problem has already been fixed in the MakeFile.
> 
> I've no idea what so ever you are talking about.

See this snippet from your posted make:

 >>
make[1]: Entering directory `D:/repo/fpcdocs'
../fpc/utils/fpdoc/fpdoc  --warn-no-node --package=rtl --descr=rtl.xml
--content=rtl.xct --hide-protected --descr=system.xml --input="-dfpdocsystem
-- -dHASGETHEAP
STATUS -dSUPPORT_DOUBLE ../fpc/rtl/win32/system.pp -Fi../fpc/rtl/win32
-Fi../fpc/rtl/unix -Fi../fpc/rtl/inc -Fi../fpc/rtl/i386 -dCPU32 -dHASVARIANT
- -dFPC_HAS_TY
PE_EXTENDED -dHASWIDECHAR -Fi../fpc/rtl/win -Fi../fpc/rtl/win32
-Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=objpas.xml
<<

I'd suspect that "-Fi../fpc/rtl/win32" together with 
"-Fi../fpc/rtl/unix" can result in problems. At least the results depend 
on the search order for the include files.

An older MakeFile even added pathes twice, and this has been fixed.


>> And one more problem are inconsistent directory separators. At least I 
>> had to fix several paths already, before passing them to fpdoc or makeskel.
> 
> That is general crossplatform and make problems. One of the reasons for me
> that make has to go long term.

This is not only a make problem, it also turned out that FPDoc, 
build_lcl_docs, and maybe even RTL functions, have problems with mixed 
directory separators. Problems can arise when a script uses the current 
platform separators, and these are different from the separators stored 
in an fpdoc project file.

DoDi





More information about the Lazarus mailing list