On Mon, Nov 4, 2013 at 10:45 AM, Dmitry Boyarintsev <skalogryz.li...@gmail.com> wrote: > On Mon, Nov 4, 2013 at 8:07 AM, Marcos Douglas <m...@delfire.net> wrote: >> >> >> First, if you have a lib that have dependencies to another lib, you >> >> have to provide all sources together -- in the same directory or >> >> subdirectories. For this case just use the rule #1. >> >> But, if you did not provide the sources for the other lib, the user >> >> will need to define the "ALIAS" to the lib that have dependencies >> >> before compile it (package). For this case use the rule #2. >> > >> > Changing the structure of a project is a big NO. For a number of >> > reasons: >> >> There is no changes! The change is a new parameter (OPTIONAL) in the >> compiler... just this. > > so again, how should rule #2 work in the following case: > program\unit1.pas > program\StrUtils.pas > program\unit2.pas > lib\StrUtils.pas > otherlib\ExtraUtils.pas > > ExtraUtils depends on StrUtils.pas from "lib". But "otherlib" is not a > subdirectory of lib. > unti1.pas users StrUtils.pas from "lib". > unit2.pas uses StrUtils.pas from "program" > > How could I compile with structure using ALIAS?
1- You need to specify the alias for compile the program (I will invent the sintaxe now): -ALIAS=TheLib@lib\* -ALIAS=OtherLib@otherlib\* 2- If ExtraUtils depends on StrUtils.pas from "lib". But "otherlib" is not a subdirectory of lib then the "otherlib needs to be compiled using a ALIAS: -ALIAS=TheLib@lib\* 3- If unti1.pas (program) uses StrUtils.pas from "lib". uses TheLib.StrUtils; 4- unit2.pas uses StrUtils.pas from "program" so, this is default: uses StrUtils; 5- But you can define an alias for your program too: -ALIAS=TheApp@* And now: uses TheApp.StrUtils; I guess that you guess that the problem is the "otherlib" to use "lib" but you can define -- or you could -- many ALIAS for the same directory. Thus you can define your own ALIAS for "lib" and the "otherlib" (a 3rd-party package) can define another. ;-) But, for me, doesn't any sense the otherlib does not know the lib's sources. Best regards, Marcos Douglas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal