<div dir="ltr">On Sun, Nov 3, 2013 at 10:27 AM, Marcos Douglas <span dir="ltr"><<a href="mailto:md@delfire.net" target="_blank">md@delfire.net</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Wrong. Do not breaks the compiler backward compatibility.<br>
I said " in the same directory and/or own tree", ie, in the same<br>
directory and subdirectories. For these cases, the compiler do not<br>
need changes.<br></blockquote><div>The compiler doesn't use a unit's same directory for searching units. It is using project's file directory for searching and then any directories referenced is -Fu switch.<br>
Thus the same list of search directories is used for any unit in the project (and that's causing the requirement to have all unit names unique per project)<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">First, if you have a lib that have dependencies to another lib, you<br></div>
have to provide all sources together -- in the same directory or<br>
subdirectories.  For this case just use the rule #1.<br>
But, if you did not provide the sources for the other lib, the user<br>
will need to define the "ALIAS" to the lib that have dependencies<br>
before compile it (package). For this case use the rule #2.<br>
</blockquote><div>Changing the structure of a project is a big NO. For a number of reasons:<br></div><div>* a compiler change should never force a developer to make any major changes in the project sources or structure;<br>
</div><div>* it might be impossible to merge two different components into the same directory or sub directory, because of the conflicting file names;<br></div><div>* the external tools (i.e. SVN) might require two components be in a separate folders (i.e. for syncing sources);<br>
</div><div>-so I'd removing rule #1 as a solution here.<br></div><div>As well as rule #2, since it's not an option to change 3d party code (even just to introduce an alias reference). Don't forget that you've mentioned it earlier yourself.<br>
<br>thanks,<br>Dmitry<br></div><div> <br></div></div><br></div></div>