[Lazarus] Compiling LCL units via commandline

luciano de souza luchyanus at gmail.com
Wed Jul 25 16:04:58 CEST 2012

After reading your message, Mattias, I was persuaded the best solution
is to use Lazbuild. We will do a tool to write a lpi. I don't know if
I need to write also a lpk file. I suppose these files already exist.
Would All the work be to develop the tool to write lpis? Units wsould
be compiled in the correct order. Lazbuild can determine which order
is that or I need to fill up my lpi with instructions about the order
of compilation.
If all the knowledge needed to create this tool is read and write xml,
OK, the tool can be done. But if I need to know deeply the flags
passed to enqueue units in the correct order, also, the study needs to
be much more detailed.

2012/7/25, luciano de souza <luchyanus at gmail.com>:
> Hello listers,
> I am blind and I use Freepascal by means of a screen reader. Recently,
> I and other four blind programers wanted to compile a project which
> implies the usage of LCL units. The very reduced accessiblity of
> Lazarus environment make us to decide to compile everything via FPC.
> fpc project.pp
> Under FPC, it doesn't compile. In spite of the fact FPC is inside the
> Lazarus, it does not configured to search for LCL units. So we add in
> fpc.cfg:
> -FuC:\lazarus\components
> -FuC:\lazarus\components\*
> -FUC:\lazarus\lcl
> -FUC:\lazarus\lcl\*
> -FiC:\lazarus\lcl\include
> -FuC:\lazarus\units
> -FuC:\lazarus\units\*
> The paths were found, but there is a circular reference between
> messages and lmessages.
> Having reported it in a forum, I member told me about lazbuild. I
> should manually create a XML file with the project settings and try to
> compile again. The same error about circular reference is raised.
> Yes, Lazbuild can be used. But I confess this option strongliy upset
> me. Lazbuild calls several routines and after all calls FPC. If you
> imagine the screen reader reads all the output, not having a way to
> jump the unneeded information, you will evaluate how slow can be the
> compilation using Lazbuild. The output of FPC is not so verbose, so
> it's prefferable to use FPC without Lazbuild.
> I tried to compile the following example program:
> program e026;
> {$mode objfpc}{$H+}
> uses
> interfaces, dialogs;
> END.
> Under certain point of view, our project has an educational focus.
> Blind programers with few or any experience is our public. If the
> first contact with Pascal is complex, people can give up. And the
> first contact, according this project, implies the usage of LCL. There
> is a Pascal voice system called Dosvox writen in Pascal. It offers a
> good set of units for developers. Let me give you an example: the crt
> unit was converted into dvcrt unit and syntwriteln in place of only
> show a message, can also speak it.
> My conclusion is: I need LCL, but how to compile any code using only
> Freepascal? How can I configure my fpc.cfg to search for any unit in
> Lazarus folders and compile any type of project? Console? Graphical?
> And to avoid this work, I suggest the standard distribution of Lazarus
> includes an FPC configured to compile everything.
> The ideal would be to do all in the Lazarus interface, but it's
> impossible. Among other reasons, the label of widgets produced by LCL
> can't be read by screen readers. But it's subject for another message!
> Regards,
> --
> Luciano de Souza

Luciano de Souza

More information about the Lazarus mailing list