[Lazarus] Using different FPC versions

Hans-Peter Diettrich DrDiettrich1 at aol.com
Mon Feb 10 15:39:12 CET 2014


Mattias Gaertner schrieb:
> 
>> Martin Frb <lazarus at mfriebe.de> hat am 10. Februar 2014 um 14:08 geschrieben:
>> [...]
>>> I don't understand the "IDE directories" in "Paths":
>>> The IDE has one set of search paths for every directory. That means a
>>> package can have different search paths than the active project.
>>> <<
>>> Here "directory" is not clear, sounds like a recursive definition?
>> I guess it means "package directory". Then the sentence reads ok.
> 
> Actually, it means directory - any directory.
> A package can have source files in many directories.
> The search paths of a package are used for all files in all directories of a
> package.
> Same for projects.

Sounds reasonable, if the search path is applied to every file (unit) in 
whatsoever directory.

> The IDE has one set of search paths (unit search path, include search path,
> sources search path) for each directory.

This instead would indicate that the search path can vary, for units of 
the *same* package/project in *different* directories?

> It creates these sets on demand.
> Whenever a file is parsed the IDE looks up its cache. If this is the first time
> that a file in that directory is parsed, the IDE collects all settings and
> calculates the search paths and compiler options. This data is not stored on
> disk.

Does this mean that the IDE determines to which project/package the 
directory belongs, and then applies the settings for that package 
(owner?) to that directory?

Then we could eliminate the confusing "directory" references at all, and 
instead state that the project/package rules apply to every unit of that 
project/package. When the IDE uses directories internally, to find out 
to which project/package a file belongs, that's nothing that the user 
must know or care of.

DoDi





More information about the Lazarus mailing list