Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2012-02

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

24 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Reinier Olislagers

Hi list,

Busy with my fpcup svn installer/updater.

1. I've managed to let fpcup generate lcl.chm documentation using build_lcl_docs.lpr (going to get rtl.chm etc going later)
2. I also let it compile lhelp.exe.
3. fpcup also creates (if it doesn't exist) a helpoptions.xml file, with basically these settings:
<Viewers>
<TChmHelpViewer>
<CHMHelp
Exe="C:\development\lazarus\components\chmhelp\lhelp\lhelp.exe" FilesPath="C:\development\lazarus\docs\html\"/>
</TChmHelpViewer>
</Viewers>

However, in Lazarus trunk/Tools/Options/Help Options, Viewers, I only see HTML Browser, not CHM Help Browser.

Trying to eliminate errors: copying over helpoptions.xml from a working (i.e. lhelp shows up when pressing F1 on a keyword) snapshot Lazarus shows no difference.

Is there something more I need to do in order to get the setting and lhelp to appear?

Now I've got you reading: a question on the help options screen itself: what does FPC Doc HTML path stand for? HTML files generated by FPDoc? FPC documentation in HTML format?
Perhaps a tooltip/hint on what that editbox means would indeed be handy, as mentioned in the wiki...

Thanks,
Reinier

Reply by email

Sven Barth
to Reinier Olislagers
Reinier Olislagers wrote 32 lines
Hi list, Busy with my fpcup svn installer/updater. 1. I've managed to let fpcup generate lcl.chm documentation using build_lcl_docs.lpr (going to get rtl.chm etc going later) 2. I also let it compile lhelp.exe. 3. fpcup also creates (if it doesn't exist) a helpoptions.xml file, with basically these settings: <Viewers> <TChmHelpViewer> <CHMHelp Exe="C:\development\lazarus\components\chmhelp\lhelp\lhelp.exe" FilesPath="C:\development\lazarus\docs\html\"/> </TChmHelpViewer> </Viewers> However, in Lazarus trunk/Tools/Options/Help Options, Viewers, I only see HTML Browser, not CHM Help Browser. Trying to eliminate errors: copying over helpoptions.xml from a working (i.e. lhelp shows up when pressing F1 on a keyword) snapshot Lazarus shows no difference. Is there something more I need to do in order to get the setting and lhelp to appear? Now I've got you reading: a question on the help options screen itself: what does FPC Doc HTML path stand for? HTML files generated by FPDoc? FPC documentation in HTML format? Perhaps a tooltip/hint on what that editbox means would indeed be handy, as mentioned in the wiki...

Did you install the CHM help package in the IDE?

Regards,
Sven

Reply by email

Reinier Olislagers
to Sven Barth
Sven Barth wrote 18 lines
Am 17.02.2012 10:22, schrieb Reinier Olislagers: > However, in Lazarus trunk/Tools/Options/Help Options, Viewers, I only > see HTML Browser, not CHM Help Browser. > > Trying to eliminate errors: copying over helpoptions.xml from a working > (i.e. lhelp shows up when pressing F1 on a keyword) snapshot Lazarus > shows no difference. > > Is there something more I need to do in order to get the setting and > lhelp to appear? > > Now I've got you reading: a question on the help options screen itself: > what does FPC Doc HTML path stand for? HTML files generated by FPDoc? > FPC documentation in HTML format? > Perhaps a tooltip/hint on what that editbox means would indeed be handy, > as mentioned in the wiki... Did you install the CHM help package in the IDE?

<blush>
Spot on, Sven, thanks.
Mmmm, chmhelp was marked for installation in my tests, but not installed. Recompiled & it worked.

Probable reason: fpcup got modularized and I hadn't built Lazarus...

I'll retest from a more basic state.

Thanks again, Sven,
Reinier

Reply by email

Sven Barth
to Reinier Olislagers
Reinier Olislagers wrote 28 lines
On 17-2-2012 10:24, Sven Barth wrote: > Am 17.02.2012 10:22, schrieb Reinier Olislagers: >> However, in Lazarus trunk/Tools/Options/Help Options, Viewers, I only >> see HTML Browser, not CHM Help Browser. >> >> Trying to eliminate errors: copying over helpoptions.xml from a working >> (i.e. lhelp shows up when pressing F1 on a keyword) snapshot Lazarus >> shows no difference. >> >> Is there something more I need to do in order to get the setting and >> lhelp to appear? >> >> Now I've got you reading: a question on the help options screen itself: >> what does FPC Doc HTML path stand for? HTML files generated by FPDoc? >> FPC documentation in HTML format? >> Perhaps a tooltip/hint on what that editbox means would indeed be handy, >> as mentioned in the wiki... > > Did you install the CHM help package in the IDE? <blush> Spot on, Sven, thanks. Mmmm, chmhelp was marked for installation in my tests, but not installed. Recompiled& it worked. Probable reason: fpcup got modularized and I hadn't built Lazarus... I'll retest from a more basic state.

You're welcome ^^

Regards,
Sven

Reply by email

Reinier Olislagers
to Reinier Olislagers: <blush> Spot on, Sven, thanks. Mmmm, chmhelp was marked for installation in my tests, but…
Reinier Olislagers wrote 18 lines
On 17-2-2012 10:24, Sven Barth wrote: > Am 17.02.2012 10:22, schrieb Reinier Olislagers: >> Now I've got you reading: a question on the help options screen itself: >> what does FPC Doc HTML path stand for? HTML files generated by FPDoc? >> FPC documentation in HTML format? >> Perhaps a tooltip/hint on what that editbox means would indeed be handy, >> as mentioned in the wiki... > > Did you install the CHM help package in the IDE? <blush> Spot on, Sven, thanks. Mmmm, chmhelp was marked for installation in my tests, but not installed. Recompiled & it worked. Probable reason: fpcup got modularized and I hadn't built Lazarus... I'll retest from a more basic state.

Yep, sorry, rerunning complete fpcup builds working IDE with CHM help viewer and LCL.chm.

Now going to see if I can either persuade fpdoc to spit out rtl.chm and fcl.chm, or download the latest release versions... et voila, working offline help installed for free with your Lazarus SVN copy ;) (oh.. and Graeme, with FPC source as well... SCNR...)

Thanks,
Reinier

Reply by email

Hans-Peter Diettrich
to Reinier Olislagers
Now going to see if I can either persuade fpdoc to spit out rtl.chm and fcl.chm, or download the latest release versions... et voila, working offline help installed for free with your Lazarus SVN copy ;) (oh.. and Graeme, with FPC source as well... SCNR...)

If you want to create the RTL and FCL docs during installation, you can use according project files. These files are e.g. created by the FPDocManager. In the case of the FPC documentation some paths have to be fixed, so that the other builds can e.g. find the content files. Since the FPC descriptions do not change very often, you can distribute the project files together with your installer.

Since you have to download the docs sources in either case, you also can use the supplied MakeFile, of course.

Full offline documentation also should include the REF etc. files, which cannot be created like the LCL docs. So it might be easier to download the readily available help files, instead of creating these during the installation.

DoDi

Reply by email

Reinier Olislagers
to Hans-Peter Diettrich
Hans-Peter Diettrich wrote 5 lines
Reinier Olislagers schrieb: > Now going to see if I can either persuade fpdoc to spit out rtl.chm and > fcl.chm, or download the latest release versions... et voila, working > offline help installed for free with your Lazarus SVN copy ;) (oh.. and > Graeme, with FPC source as well... SCNR...)

Thanks, DoDi,

If you want to create the RTL and FCL docs during installation, you can use according project files. These files are e.g. created by the FPDocManager.

That's news...must have not been paying attention. What are these project files called? Can I get them when installing FPC only (i.e. without Lazarus)

In the case of the FPC documentation some paths have to be fixed, so that the other builds can e.g. find the content files. Since the FPC descriptions do not change very often, you can distribute the project files together with your installer.

Mmm, ok, I guess that answers one of my previous questions.

Since you have to download the docs sources in either case, you also can use the supplied MakeFile, of course.

... unless I'm overlooking something again, that requires latex to export to chm files??
(eg make chm IIRC)
Chances of it being available on Windows, OSX, are not much higher than on Linux. Requiring it just to build documentation seems... excessive.

Full offline documentation also should include the REF etc. files, which cannot be created like the LCL docs. So it might be easier to download the readily available help files, instead of creating these during the installation.

.... that's the solution I'm going for right now... ;)

Thanks,
Reinier

Reply by email

Graeme Geldenhuys
to Reinier Olislagers
Reinier Olislagers wrote 7 lines
> Since you have to download the docs sources in either case, you also can > use the supplied MakeFile, of course. ... unless I'm overlooking something again, that requires latex to export to chm files?? (eg make chm IIRC) Chances of it being available on Windows, OSX, are not much higher than on Linux. Requiring it just to build documentation seems... excessive.

The RTL and FCL documentation can be created without the LaTeX requirement (if you don't target DVI or PDF), because they use the fpdoc XML files as source. The Language Reference, Programmers Reference etc are in *.tex Latex files, so they require a Latex setup to build to any output.

Regards, ? - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Reinier Olislagers
to Graeme Geldenhuys
Graeme Geldenhuys wrote 14 lines
On 17 February 2012 16:37, Reinier Olislagers wrote: >> Since you have to download the docs sources in either case, you also can >> use the supplied MakeFile, of course. > ... unless I'm overlooking something again, that requires latex to > export to chm files?? > (eg make chm IIRC) > Chances of it being available on Windows, OSX, are not much higher than > on Linux. Requiring it just to build documentation seems... excessive. The RTL and FCL documentation can be created without the LaTeX requirement (if you don't target DVI or PDF), because they use the fpdoc XML files as source. The Language Reference, Programmers Reference etc are in *.tex Latex files, so they require a Latex setup to build to any output.

Just to confirm: that would be by running
make chm
in the fpcdocs directory?
That throws up a lot of Latex warnings in my install...

Reply by email

Marco van de Voort
to Reinier Olislagers: That's news...must have not been paying attention. What are these project files called?…
Reinier Olislagers wrote 6 lines
> If you want to create the RTL and FCL docs during installation, you can > use according project files. These files are e.g. created by the > FPDocManager. That's news...must have not been paying attention. What are these project files called? Can I get them when installing FPC only (i.e. without Lazarus)

In theory

make chm DOCS="rtl fcl" should do it, but it currently hits windows commandline limits. (see below to get an idea) Dodi is right that the bulk of the definition of filenames and paths should move out of the makefile and into a project file. Michael is working on this, but still WIP.

Prog/ref/user etc stuff require latex and tex4ht. But then it fails (under windows) on some shell script in the makefile (easily worked around using cygwin, but not for the unwashed masses). I don't think this will ever be common round, since tex4ht is funky.

In short: I would simply download the CHMs, and forget about auto-generation for now. The sources are not always in a compilable state, and not branch (trunk vs 2.6.x) and OS independent either

> In the case of the FPC documentation some paths have to be > fixed, so that the other builds can e.g. find the content files. Since > the FPC descriptions do not change very often, you can distribute the > project files together with your installer.

(IMHO this should not be needed. A system that relies on random hardcoded paths in a particular setup is flawed)

Show quoted text 5 lines
> Since you have to download the docs sources in either case, you also can > use the supplied MakeFile, of course. ... unless I'm overlooking something again, that requires latex to export to chm files?? (eg make chm IIRC)

And tex4ht

Chances of it being available on Windows, OSX, are not much higher than on Linux. Requiring it just to build documentation seems... excessive.

I don't see why.

Show quoted text 5 lines
> Full offline documentation also should include the REF etc. files, which > cannot be created like the LCL docs. So it might be easier to download > the readily available help files, instead of creating these during the > installation. .... that's the solution I'm going for right now... ;)

The 2.6.0 CHMs are available from FPC ftp (dist/<release>/docs/doc-chm.zip). So that leaves only the lazarus LCLs.

There are irregular snapshots on my homepage:

http://www.stack.nl/~marcov/doc-chm.zip

these do contain lcl stuff.

----------------------

D:\repo\fpcdocs>make CHM DOCS="rtl fcl"
make html HTMLFMT=chm
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
- --input="-dHASINTF ../fpc/rtl/objpas/
objpas.pp -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=types.xml --input="../fpc/rtl/objpas/types.pp
- -Fi../fpc/rtl/win
-Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux"
- --descr=strutils.xml --input="../fpc/rtl/objpas/strutils.pp
- -- -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -
Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=sysutils.xml --input="../fpc/rtl/unix/sysutils.pp -Fi../fpc/rtl/objpas/sysutils -- -Fi../fpc/rtl/inc -Fi../fpc/rtl/w
in -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=strings.xml --input="../fpc/rtl/inc/strings.pp -Fi../fpc/rtl/i386 -- -Fi../fpc/rtl/inc -Fi..
/fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" / --descr=mouse.xml --input="../fpc/rtl/unix/mouse.pp -Fi../fpc/rtl/inc / -- -Fi../fpc/rtl/win
-Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux"
- --descr=keyboard.xml --input="../fpc/rtl/unix/keyboard.pp
- -- -Fi../fpc/rtl/inc -Fi../fpc/rtl/win -Fi..
/fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=crt.xml / --input="../fpc/rtl/unix/crt.pp -Fi../fpc/rtl/inc -Fi../fpc/rtl/win / -- -Fi../fpc/rtl/win32 -
Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=video.xml --input="../fpc/rtl/unix/video.pp -Fi../fpc/rtl/inc -Fi../fpc/rtl/win -- -Fi../fpc/rtl/win32 -Fi../fpc/rtl
/unix -Fi../fpc/rtl/linux" --descr=dos.xml --input="../fpc/rtl/unix/dos.pp / -Fi../fpc/rtl/inc -dcpui386 -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 / - -Fi../fpc/rtl/unix
-Fi../fpc/rtl/linux" --descr=sockets.xml --input="-dver1_0
- ../fpc/rtl/unix/sockets.pp -Fi../fpc/rtl/inc -Fi../fpc/rtl/win32
- -Fi../fpc/rtl/win -Fi../fpc/rtl/win3
2 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=objects.xml --input="../fpc/rtl/inc/objects.pp -Fi../fpc/rtl/i386 -Fi../fpc/rtl/win32 -- -Fi../fpc/rtl/win -Fi../
fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=heaptrc.xml --input="../fpc/rtl/inc/heaptrc.pp -Fi../fpc/rtl/i386 -Fi../fpc/rtl/win32 -- -Fi../fpc/rt
l/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=mmx.xml --input="../fpc/rtl/i386/mmx.pp -Fi../fpc/rtl/win32 -- -Fi../fpc/rtl/win -Fi../fp
c/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=ipc.xml --input="../fpc/rtl/unix/ipc.pp -Fi../fpc/rtl/win32 -Fi../fpc/rtl/win -- -Fi../fpc/rtl/win32 -F
i../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=printer.xml --input="../fpc/rtl/unix/printer.pp -Fi../fpc/rtl/win32 -Fi../fpc/rtl/inc -- -Fi../fpc/rtl/win -Fi../fpc/
rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=typinfo.xml --input="../fpc/rtl/objpas/typinfo.pp -Fi../fpc/rtl/win32 -Fi../fpc/rtl/win -- -Fi../fpc/rtl/
win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=ports.xml --input="../fpc/rtl/unix/ports.pp -Fi../fpc/rtl/win32 -Fi../fpc/rtl/win -- -Fi../fpc/rtl/win32 -Fi
../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=getopts.xml --input="../fpc/rtl/inc/getopts.pp -Fi../fpc/rtl/win32 -Fi../fpc/rtl/win -- -Fi../fpc/rtl/win32 -Fi../fpc/
rtl/unix -Fi../fpc/rtl/linux" --descr=emu387.xml
--input="../fpc/rtl/go32v2/emu387.pp -Fi../fpc/rtl/i386 -Fi../fpc/rtl/win -- -Fi../fpc/rtl/win32 -Fi../fpc/rtl/uni
x -Fi../fpc/rtl/linux" --descr=dxeload.xml
--input="../fpc/rtl/go32v2/dxeload.pp -Fi../fpc/rtl/i386 -Fi../fpc/rtl/win -- -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi
../fpc/rtl/linux" --descr=go32.xml --input="../fpc/rtl/go32v2/go32.pp -Fi../fpc/rtl/i386 -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix
- -Fi../fpc/rtl/
linux" --descr=gpm.xml --input="-dVER1_0 ../fpc/rtl/linux/gpm.pp -Fi../fpc/rtl/i386 -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix
- -Fi../fpc/rtl/linux
" --descr=graph.xml --input="../fpc/packages/graph/src/unix/graph.pp -Fi../fpc/packages/graph/src/inc -Fi../fpc/rtl/win -Fi../fpc/rtl/win32
- -Fi../fpc/rtl/unix -
Fi../fpc/rtl/linux" --descr=oldlinux.xml
--input="../fpc/rtl/linux/oldlinux.pp -Fi../fpc/rtl/linux -Fi../fpc/rtl/unix -- -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi.
./fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=unixtype.xml --input="../fpc/rtl/unix/unixtype.pp -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux -- -Fi../fpc/rtl/linux/i386 -F
i../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=baseunix.xml --input="../fpc/rtl/unix/baseunix.pp -Fi../fpc/rtl/unix -- -Fi../f
pc/rtl/linux -Fi../fpc/rtl/linux/i386 -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=unix.xml
- --input="../fpc/rtl/unix/u
nix.pp -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux -Fi../fpc/rtl/linux/i386 -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix
- -Fi../fpc/rtl/linux" --descr=cla
sses.xml --input="../fpc/rtl/win32/classes.pp -Fi../fpc/rtl/objpas/classes -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux
- -dfpdocs
ystem" --descr=unixutil.xml --input="../fpc/rtl/unix/unixutil.pp -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix
- -Fi../fpc/rtl/linux" --descr=x86.xml -
-input="../fpc/rtl/unix/x86.pp -Fi../fpc/rtl/win -Fi../fpc/rtl/win32
- -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=dynlibs.xml
- - --input="../fpc/rtl/inc/dynlibs
.pas -Fi../fpc/rtl/unix -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=linux.xml
- --input="../fpc/rtl/linux/linux.pp -Fi..
/fpc/rtl/linux -Fi../fpc/rtl/unix -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 / -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=math.xml / - --input="../fpc/rtl/objpas/math
.pp -Fi../fpc/rtl/i386 -dFPC_HAS_TYPE_EXTENDED -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux"
- --descr=matrix.xml --input="../fpc/
rtl/inc/matrix.pp -Fi../fpc/rtl/inc -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=dateutils.xml
- --input="../fpc/rtl/obj
pas/dateutils.pp -Fi../fpc/rtl/objpas -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=wincrt.xml
- --input="../fpc/packages/
graph/src/win32/wincrt.pp" --descr=clocale.xml
--input="../fpc/rtl/unix/clocale.pp -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -- -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux"
--descr=cthreads.xml --input="../fpc/rtl/unix/cthreads.pp -Fi../fpc/rtl/win -- -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" -- - --descr=cmem.xml --inpu
t="../fpc/rtl/inc/cmem.pp -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=cwstring.xml
- --input="../fpc/rtl/unix/cwstring.p
p -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=exeinfo.xml --input="../fpc/rtl/inc/exeinfo.pp
- -Fi../fpc/rtl/win -Fi../f
pc/rtl/win32 -Fi../fpc/rtl/unix -Fi../fpc/rtl/linux" --descr=lineinfo.xml --input="../fpc/rtl/inc/lineinfo.pp -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -- -Fi../fpc/rt
l/unix -Fi../fpc/rtl/linux" --descr=lnfodwrf.xml
--input="../fpc/rtl/inc/lnfodwrf.pp -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -- -Fi../fpc/rtl/unix -Fi../fpc/rtl/linu
x" --descr=ctypes.xml --input="../fpc/rtl/inc/ctypes.pp -Fi../fpc/rtl/unix -Fi../fpc/rtl/win -Fi../fpc/rtl/win32 -Fi../fpc/rtl/unix
- -Fi../fpc/rtl/linux" --forma
t=chm --output=rtl.chm --footer-date="mmm dd yyyy" --auto-toc --auto-index --make-searchable
'..' is not recognized as an internal or external command, operable program or batch file.
make[1]: *** [rtl.chk] Error 1
make[1]: Leaving directory `D:/repo/fpcdocs'
make: *** [CHM] Error 2

D:\repo\fpcdocs>

Reply by email

Graeme Geldenhuys
to Reinier Olislagers: Just to confirm: that would be by running make chm in the fpcdocs directory? That throws…
Reinier Olislagers wrote 5 lines
Just to confirm: that would be by running make chm in the fpcdocs directory? That throws up a lot of Latex warnings in my install...

I'm at home now, and don't have a copy of the fpddocs repository. But I do remember a README file in that repository, explaining how to build RTL and FCL specific docs.

NOTE:
I don't know what platform you are using, but I do know that building the docs under Windows, hits a command line parameter limit. Work is being done to resolve this, but I don't know how far that work has progressed.

Regards, ? - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Hans-Peter Diettrich
to Reinier Olislagers: That's news...must have not been paying attention. What are these project files called?…
Show quoted text 13 lines
On 17-2-2012 15:16, Hans-Peter Diettrich wrote: > Reinier Olislagers schrieb: >> Now going to see if I can either persuade fpdoc to spit out rtl.chm and >> fcl.chm, or download the latest release versions... et voila, working >> offline help installed for free with your Lazarus SVN copy ;) (oh.. and >> Graeme, with FPC source as well... SCNR...) Thanks, DoDi, > If you want to create the RTL and FCL docs during installation, you can > use according project files. These files are e.g. created by the > FPDocManager. That's news...must have not been paying attention.

Yes, it's a feature of FPC trunk only.

What are these project files called? Can I get them when installing FPC only (i.e. without Lazarus)

These are XML files. You can create such projects yourself, by adding fpdoc ... --write-project=MyPrj.xml
to an fpdoc commandline.

Show quoted text 11 lines
> In the case of the FPC documentation some paths have to be > fixed, so that the other builds can e.g. find the content files. Since > the FPC descriptions do not change very often, you can distribute the > project files together with your installer. Mmm, ok, I guess that answers one of my previous questions. > Since you have to download the docs sources in either case, you also can > use the supplied MakeFile, of course. ... unless I'm overlooking something again, that requires latex to export to chm files?? (eg make chm IIRC)

No. LaTeX may be required for the basic FPC docs, whose sources are LaTeX(?), but not for the helpfiles for units (RTL, FCL, LCL), built from XML docs.

Show quoted text 8 lines
Chances of it being available on Windows, OSX, are not much higher than on Linux. Requiring it just to build documentation seems... excessive. > Full offline documentation also should include the REF etc. files, which > cannot be created like the LCL docs. So it might be easier to download > the readily available help files, instead of creating these during the > installation. .... that's the solution I'm going for right now... ;)

Sometimes it requires a few steps in other directions, until we find the simplest solution ;-)

DoDi

Reply by email

Reinier Olislagers
to Marco van de Voort: In theory make chm DOCS="rtl fcl" should do it, but it currently hits windows commandline…
Marco van de Voort wrote 24 lines
On Fri, Feb 17, 2012 at 03:37:49PM +0100, Reinier Olislagers wrote: >> If you want to create the RTL and FCL docs during installation, you can >> use according project files. These files are e.g. created by the >> FPDocManager. > That's news...must have not been paying attention. > What are these project files called? Can I get them when installing FPC > only (i.e. without Lazarus) In theory make chm DOCS="rtl fcl" should do it, but it currently hits windows commandline limits. (see below to get an idea) Dodi is right that the bulk of the definition of filenames and paths should move out of the makefile and into a project file. Michael is working on this, but still WIP. Prog/ref/user etc stuff require latex and tex4ht. But then it fails (under windows) on some shell script in the makefile (easily worked around using cygwin, but not for the unwashed masses). I don't think this will ever be common round, since tex4ht is funky. In short: I would simply download the CHMs, and forget about auto-generation for now. The sources are not always in a compilable state, and not branch (trunk vs 2.6.x) and OS independent either

Thanks. That's the direction I'm pursuing right now.

Show quoted text 6 lines
>> In the case of the FPC documentation some paths have to be >> fixed, so that the other builds can e.g. find the content files. Since >> the FPC descriptions do not change very often, you can distribute the >> project files together with your installer. (IMHO this should not be needed. A system that relies on random hardcoded paths in a particular setup is flawed)

Agreed, but will let other people fight it out ;)

Show quoted text 7 lines
>> Since you have to download the docs sources in either case, you also can >> use the supplied MakeFile, of course. > ... unless I'm overlooking something again, that requires latex to > export to chm files?? > (eg make chm IIRC) And tex4ht

ACK.

Show quoted text 5 lines
> Chances of it being available on Windows, OSX, are not much higher than > on Linux. Requiring it just to build documentation seems... excessive. I don't see why.

I mentioned that because the Lazarus people seemed to manage with their lcl_build_docs (IIRC), which uses fpdoc to generate CHM files from XML source - either by using my Tex installation on Windows, or not requireing latex.

Show quoted text 8 lines
>> Full offline documentation also should include the REF etc. files, which >> cannot be created like the LCL docs. So it might be easier to download >> the readily available help files, instead of creating these during the >> installation. > .... that's the solution I'm going for right now... ;) The 2.6.0 CHMs are available from FPC ftp (dist/<release>/docs/doc-chm.zip). So that leaves only the lazarus LCLs.

Thans, got that.
LCL docs I can generate (see above).

Show quoted text 5 lines
There are irregular snapshots on my homepage: http://www.stack.nl/~marcov/doc-chm.zip these do contain lcl stuff.

En nog een keer bedankt, Marco,

regards,
Reinier

Reply by email

Hans-Peter Diettrich
to Marco van de Voort: In theory make chm DOCS="rtl fcl" should do it, but it currently hits windows commandline…
Show quoted text 12 lines
On Fri, Feb 17, 2012 at 03:37:49PM +0100, Reinier Olislagers wrote: >> If you want to create the RTL and FCL docs during installation, you can >> use according project files. These files are e.g. created by the >> FPDocManager. > That's news...must have not been paying attention. > What are these project files called? Can I get them when installing FPC > only (i.e. without Lazarus) 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?

Dodi is right that the bulk of the definition of filenames and paths should move out of the makefile and into a project file. Michael is working on this, but still WIP.

The problem was not the length of the commandline. The AVs are/were due to duplicate include paths or defines, created from the MakeFile. This should have been fixed in FPDoc already.

Show quoted text 7 lines
>> In the case of the FPC documentation some paths have to be >> fixed, so that the other builds can e.g. find the content files. Since >> the FPC descriptions do not change very often, you can distribute the >> project files together with your installer. (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. The installer should know, however, in which directories the files reside, and can create the commandlines accordingly.

Another problem is the OStarget, which is somewhat hard-coded in the MakeFile, and then mixed with the current platform in the MakeFile. 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 such
problem has already been fixed in the MakeFile.

And one more problem are inconsistent directory separators. At least I had to fix several paths already, before passing them to fpdoc or makeskel.

Show quoted text 6 lines
---------------------- D:\repo\fpcdocs>make CHM DOCS="rtl fcl" make html HTMLFMT=chm make[1]: Entering directory `D:/repo/fpcdocs'

[...]
This looks like an apostrophe (single quoted) added to the path? More such single quotes, used instead of double quotes in the MakeFile, cause error messages on Windows, like reported here:

Show quoted text 5 lines
'..' is not recognized as an internal or external command, operable program or batch file. make[1]: *** [rtl.chk] Error 1 make[1]: Leaving directory `D:/repo/fpcdocs' make: *** [CHM] Error 2

These bugs should have been fixed in the MakeFile already.

More errors can follow (on make rtl.chk), when the CSS file is not found, and when "touch" is not found as a command. Both errors are not fatal, except that the CSS file is not used, but should be avoided, somehow.

DoDi

Reply by email

Reinier Olislagers
to Graeme Geldenhuys: I'm at home now, and don't have a copy of the fpddocs repository. But I do remember a…
Graeme Geldenhuys wrote 9 lines
On 17 February 2012 17:22, Reinier Olislagers wrote: > > Just to confirm: that would be by running > make chm > in the fpcdocs directory? > That throws up a lot of Latex warnings in my install... I'm at home now, and don't have a copy of the fpddocs repository. But I do remember a README file in that repository, explaining how to build RTL and FCL specific docs.

Dis nie 'n probleem nie, Graeme... Ek dink mens het Latex nodig maar dit maak nie rerig saak nie (sien onder)
No problem, Graeme... I though you need Latex, but it doesn't really matter (see below)

Show quoted text 5 lines
NOTE: I don't know what platform you are using, but I do know that building the docs under Windows, hits a command line parameter limit. Work is being done to resolve this, but I don't know how far that work has progressed.

Trying to get fpcup running on Windows, OSx, Linux... perhaps FreeBSD too, if things work out correctly & Marco v.d. Voort can test it ;)

Other people confirmed the limit in Windows; I'll go with downloading FPC documentation for now,

dankie,
Reinier

Reply by email

Marco van de Voort
to Reinier Olislagers: Thanks. That's the direction I'm pursuing right now. Agreed, but will let other people…
Reinier Olislagers wrote 9 lines
>> Chances of it being available on Windows, OSX, are not much higher than >> on Linux. Requiring it just to build documentation seems... excessive. > > I don't see why. I mentioned that because the Lazarus people seemed to manage with their lcl_build_docs (IIRC), which uses fpdoc to generate CHM files from XML source - either by using my Tex installation on Windows, or not requireing latex.

fpdoc is a FPC package, and the RTL and FCL doc sets of FPC work with it too.

However, those are all documentation of sources.

The latex manuals however are not XML. Editing latex is much more confortable, and allows high quality PDF using a lot of the latex features, not in the least the macro system.

The extra requirements are certainly a pain, but changing this would just create a bigger pain.

Moreover, documentation building is not exactly that the average user does regularly (seeing that there are less than 10 patches for it per quarter), so it doesn't make sense to optimize it.

I do think it should at least be possible to do this on Windows. From a philosophical perspective, FPC should not force a certain platform on people wanting to be developers.

My first latex-on-windows attempt was in '98, so be sure that I have been waiting quite some time :)

latex is already doable. fpdoc based docs already work, but not via the make system. (IIRC calling fpdoc via createprocessex does work, since the API limit is much higher than the shell limit).

The commandline problems can be avoided via the project system, and on a slightly longer term, maybe fpmake will allow to kill off the horrible makefile of fpdocs.

But even then,
tex4ht on Windows is still an unknown factor. But for now, one thing at a time :-)

Reply by email

Marco van de Voort
to Hans-Peter Diettrich: Where is the DOCS option (and more) documented? The problem was not the length of the…
Hans-Peter Diettrich wrote 6 lines
> 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?

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

Show quoted text 9 lines
> Dodi is right that the > bulk of the definition of filenames and paths should move out of the > makefile and into a project file. Michael is working on this, but still > WIP. The problem was not the length of the commandline. The AVs are/were due to duplicate include paths or defines, created from the MakeFile. This should have been fixed in FPDoc already.

I haven't said anything about AVs. See the makefile I posted.

Afaik I once tried to run the commandline constructed on linux on Windows via tprocess. That worked fine. Probably because it avoids shell and make limitations.

Show quoted text 5 lines
> (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.

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

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.

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.

Show quoted text 5 lines
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 such problem has already been fixed in the MakeFile.

I've no idea what so ever you are talking about.

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.

New versions of half of the win32 tools we use aren't available, and the newest are from 2005.

Show quoted text 17 lines
> ---------------------- > > > D:\repo\fpcdocs>make CHM DOCS="rtl fcl" > make html HTMLFMT=chm > make[1]: Entering directory `D:/repo/fpcdocs' [...] This looks like an apostrophe (single quoted) added to the path? cause error messages on Windows, like reported here: > '..' is not recognized as an internal or external command, > operable program or batch file. > make[1]: *** [rtl.chk] Error 1 > make[1]: Leaving directory `D:/repo/fpcdocs' > make: *** [CHM] Error 2 These bugs should have been fixed in the MakeFile already.

Newest checkout. Up to date snapshot.

Reply by email

Sven Barth
to Marco van de Voort
Marco van de Voort wrote 15 lines
>> Dodi is right that the >> bulk of the definition of filenames and paths should move out of the >> makefile and into a project file. Michael is working on this, but still >> WIP. > > The problem was not the length of the commandline. > The AVs are/were due to duplicate include paths or defines, created from > the MakeFile. This should have been fixed in FPDoc already. I haven't said anything about AVs. See the makefile I posted. Afaik I once tried to run the commandline constructed on linux on Windows via tprocess. That worked fine. Probably because it avoids shell and make limitations.

Jupp... the limit for CreateProcess is 32768 characters.

Regards,
Sven

Reply by email

Hans-Peter Diettrich
to Marco van de Voort: Should it be? If you think it should, please annotate such things in the wiki. :-) I…
Show quoted text 8 lines
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?

Show quoted text 7 lines
>> (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

Show quoted text 6 lines
> 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.

Show quoted text 13 lines
> 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 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.

Show quoted text 5 lines
> 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

Reply by email

Reinier Olislagers
to Marco van de Voort: fpdoc is a FPC package, and the RTL and FCL doc sets of FPC work with it too. However,…
Marco van de Voort wrote 13 lines
On Fri, Feb 17, 2012 at 08:05:48PM +0100, Reinier Olislagers wrote: >>> Chances of it being available on Windows, OSX, are not much higher than >>> on Linux. Requiring it just to build documentation seems... excessive. >> >> I don't see why. > > I mentioned that because the Lazarus people seemed to manage with their > lcl_build_docs (IIRC), which uses fpdoc to generate CHM files from XML > source - either by using my Tex installation on Windows, or not > requireing latex. fpdoc is a FPC package, and the RTL and FCL doc sets of FPC work with it too.

I understand.

Show quoted text 5 lines
However, those are all documentation of sources. The latex manuals however are not XML. Editing latex is much more confortable, and allows high quality PDF using a lot of the latex features, not in the least the macro system.

I know and see the point in using latex for that. (Especially since we have such nice reference documentation, with a maintainer of the toolchain and all... )

Sorry, I should have written my previous post a bit better, indicating I knew the reason for using latex as such.

Show quoted text 6 lines
The extra requirements are certainly a pain, but changing this would just create a bigger pain. Moreover, documentation building is not exactly that the average user does regularly (seeing that there are less than 10 patches for it per quarter), so it doesn't make sense to optimize it.

Agreed.

I do think it should at least be possible to do this on Windows. From a philosophical perspective, FPC should not force a certain platform on people wanting to be developers.

;)

My first latex-on-windows attempt was in '98, so be sure that I have been waiting quite some time :)

Installed miktex, but not a latex guru at all, so when the make bombs, I have no idea where the error originated... my install, the makefiles on Windows...

Show quoted text 7 lines
latex is already doable. fpdoc based docs already work, but not via the make system. (IIRC calling fpdoc via createprocessex does work, since the API limit is much higher than the shell limit). The commandline problems can be avoided via the project system, and on a slightly longer term, maybe fpmake will allow to kill off the horrible makefile of fpdocs.

The project system being fppkg? Or fpdocmanager?

But even then, tex4ht on Windows is still an unknown factor. But for now, one thing at a time :-)

Totally agreed.

Thanks,
Reinier

Reply by email

Reinier Olislagers
to Reinier Olislagers
Reinier Olislagers wrote 5 lines
On 17-2-2012 21:36, Marco van de Voort wrote: > The commandline problems can be avoided via the project system, and on a > slightly longer term, maybe fpmake will allow to kill off the horrible > makefile of fpdocs. The project system being fppkg? Or fpdocmanager?

Sorry, please disregard; DoDi's post indicated it is some new feature in trunk...

Thanks,
Reinier

Reply by email

Graeme Geldenhuys
to Marco van de Voort: Should it be? If you think it should, please annotate such things in the wiki. :-) I…
Marco van de Voort wrote 6 lines
> > 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?

YES.

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

Why on the wiki? Why not the READM file included in the fpcdocs repository, where all other such options are documented?

Regards, ? - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Marco van de Voort
to Hans-Peter Diettrich: Tell me a reason why it does *not* deserve documentation. What do you expect me to…
Hans-Peter Diettrich wrote 6 lines
>>> 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.

What doesn't deserve documentation?

But tell me the reason why it should have an higher priority on people's lists than it has now?

> 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?

Yes. If you find something out (e.g. by inspection makefiles), and think if that is important, document it somewhere. I've been doing that for years with the buildfaq.

Show quoted text 9 lines
> 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.

That's not what I meant. It's true that that info is needed in fpdoc before compiling, but there is no reason whatsoever why it should be in the project file that is checked into SVN and that contains which sources go into the package.

IOW the project state should be separated in a system dependent (user settings and preferences and paths), and a system independent part (which sources and XMLs contribute to the patches, parameterised with macros in a few rare cases)

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

Good.

Show quoted text 5 lines
> 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.

Specially then, when running updates from SVN. A need for editing checked out files only leads to conflicts. This should be separate IDE state.

Show quoted text 24 lines
>> 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 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.

That's indeed true. I didn't notice it, probably manually fixed it in earlier attempts.

Show quoted text 11 lines
>> 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.

True. These problems also come up with CHM related tools.

But those are the minor ones. The make system which seems to hit the commandline limit of the shell (8192) are the problem immediate problem.

Then, the platform dependence of doc making (though IMHO we should do per platform docs. Just fixate to a platform, and then try to improve the docs with little building improvements. (e.g. exclude lists for very linux specific topics, better annotation of what is platform specific etc)

Adding another (platform) dimension to docs building will only decrease, not increare the quality of the docs IMHO. _AND_ the ease of building them.

Then, finally, as stated to Reinier, tex4ht is also a big question mark.

Reply by email

Hans-Peter Diettrich
to Marco van de Voort
Show quoted text 7 lines
>> 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? Yes. If you find something out (e.g. by inspection makefiles), and think if that is important, document it somewhere. I've been doing that for years with the buildfaq.

The MakeFile (like most others) is unreadable to me. It includes help only for the supported targets, nothing else.

IOW the project state should be separated in a system dependent (user settings and preferences and paths), and a system independent part (which sources and XMLs contribute to the patches, parameterised with macros in a few rare cases)

I mentioned that already, after my first experiments with the new projects.

But those are the minor ones. The make system which seems to hit the commandline limit of the shell (8192) are the problem immediate problem.

The bulk text can be moved into text files, usable with --input and --descr.

Then, the platform dependence of doc making (though IMHO we should do per platform docs. Just fixate to a platform, and then try to improve the docs with little building improvements. (e.g. exclude lists for very linux specific topics, better annotation of what is platform specific etc)

FPDoc has no special features for platform-specific docs. I don't see any need for that, unless somebody finds out how it could be made work in a *cross-compiler* environment, or for *online help* residing on some server, for users of any platform. Consider e.g. the handling and representation of the line numbers for the declarations - what if these vary across targets?

Until then it's mandatory to have *all* units documented in the final docs, regardless of their availability on a certain platform. Eventual platform restrictions have to go literally into the docs. Context sensitive help will be invoked only for topics available in the currently *selected* target, so that excess documentation will not be seen by the user. Support for platform-specific selection of the topics only can be built into the viewer (if ever), not into the doc generators.

Adding another (platform) dimension to docs building will only decrease, not increare the quality of the docs IMHO. _AND_ the ease of building them.

ACK.

DoDi

Reply by email