Currently the module with external definitions created when building a library contains all external definitions from imported libraries. This results in huge lib modules. And if two modules are imporetd that overlap it results in a large number of redundant definitions, which slows down compilation.The lib module should only include externals defined by the library itself. This will break programs that rely on the transitive inclusion of externals, which may actually happen in practice in order to reduce the number of redundant external definitions.

This should be easy to implement; when creating external definitions, filter out definitions which are already external.

The implication is that externals that are defined in an ad hoc manner (e.g. implemented in native code), should be declared in their own library.

Submitted on 20 August 2006 at 22:31

On 20 December 2006 at 05:05 Jira commented:

STR-623, martin:
Hasn’t this issue been fixed already?


On 11 April 2008 at 11:23 Jira commented:

STR-623, visser:
This was already fixed in

r15596 | visser | 2006-08-21 02:20:45 +0200 (Mon, 21 Aug 2006) | 13 lines

commit message:
STR-623: don’t export imported externals in lib* module

Log in to post comments