On Sat, 18 Mar 2006 12:46:54 +0200
"Graeme Geldenhuys" <[EMAIL PROTECTED]> wrote:

> On 18/03/06, Mattias Gaertner <[EMAIL PROTECTED]> wrote:
> > If the package is not installed or 'marked for installation', then the
> > uninstall should be disabled.
> 
> Then there is no bug, Lazarus worked correctly.
> 
> > > I better go and look at the wiki to see if they mention the problem
> > > that tripped me over. If not, I will add it.  Specifying unit paths in
> > > the package that should be auto added to whatever project uses the
> > > package.  Don't specify paths that are earlier than the path that the
> > > .lpk file lives in!!!  My directory layout caused me to do that, which
> > > gave me major headaches!
> >
> > Can you give an example?
> 
> I will add an example to the wiki as well.
> 
> I will use the tiOPF framework as an example  The tiOPF has the
> following directory layout, due to the fact that it compiles for FPC,
> Delphi 5-7, D2005 and D2006
> 
> Source                         <= full path
> \Programming\3rdParty\tiOPF\Source
>   \Compilers
>      \Delphi7                   <= Delphi 7 package files live here
>      \D2005
>      \FPC                         <= the tiOPF.lpk lived here
>   \Core                          <= core unit files
>   \Options                     <= optional unit file for extra features
>   \GUI
> 
> Using this example, I included in the "Options - Usage - Units"
> editbox the following paths: 
> "$(PkgOutDir);..\..\Core;..\..\Options;..\..\GUI" which will be added
> to whatever project uses this package.
> 
> I thought that those relative paths will get expanded correctly, but was
> wrong. I expected the relative paths to get translated to the following in
> the project using the tiOPF.lpk package:
>   ..\..\Core            =>   \Programming\3rdParty\tiOPF\Source\Core
> 
> 
> The project using the package was in the following directory:
> \Programming\MasterMaths\M2Browser\Source\Browser.lpr
> 
> The inherited paths in the project translated to a completely
> different location, except for the $PkgOutDir. To solve the problem, I
> had to move the tiOPF.lpk from the \Source\Compiler\FPC directory to
> the \Source directory, and amend the Unit paths in the package to
> "$(PkgOutDir);Core;Options;GUI", which then worked fine.
> 
> My conclusion was that you can only specify path deeper in the dir
> hierarchy based on the location of the .lpk file, and not any other
> paths earlier in the dir hierarchy.
> 
> Damn! It is much easier to show someone the problem than trying to
> convey it in a email. :-)

So, the bug is that '../../Core' is not expanded relative to the .lpk.
I will take a look.

BTW, it is a bad idea to share source paths. For example if FPC needs to
rebuild a source it will put the .ppu to various places on your disk. Better
share only .ppu directories.


Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to