[Lazarus] Multi-threading support in IDE

dmitry boyarintsev skalogryz.lists at gmail.com
Thu Aug 13 20:53:33 CEST 2009


> Can somebody that is more familiar with the internals of the Lazarus IDE
> tell me, would it be hard to implement the IDE with FPC built in, so that
> compiling can be done in a separate thread instead of separate process? I'll
> do the work of course - if it's not a major job. ;-)

The most hardest job, is that Lazarus treats compiler as a separate
command tool.
There's no TCompiler "wrapper" class, that would hide actually
compiler implementation (i.e. calling for external process, or using
built-in lazarus).

AFAIK, there're two components that would require change:
- IDE (building, compilation, compiler options)
- CodeTools (they're using information about units used from the compiler).

If you're able to modify the code, to use some abstract TFPCCompiler class.
Then it would be possible to implement TFPCExternalCompiler and
TFPCInternalCompiler, without much troubles.

Of course, it would be even more efficient, if CodeTools share/re-use
some information about sources with the internal compiler, but this
could be done later. Because even now, Codetools are working great!
(thanks Mattias)!

thanks,
dmitry




More information about the Lazarus mailing list