"Arnd Hanses" <[EMAIL PROTECTED]> writes:


| 
| It lacks some linker flags which are necessary or useful, e.g. the
| INITINSTANCE TERMINSTANCE (of uninitialized static variables) and DATA
| MULTIPLE NONSHARED flags, it does not provide for suitable HEAPSIZE and
| STACKSIZE statements. Moreover I would like to check the EXPORTS
| statements in the Module Definition File manually before linking.
| Dynamic linkage with the standard C++-library is still a mess (you
| might have to compile your own custom libstdc++), there are a number of
| rough edges and kid's deseases with recent C++-features like virtual
| functions or RTTI, all in all it's difficult and you have to go on very
| slowly step by step. 
| 
| You can use the EMXEXP tool to export all global functions and all
| initialized global variables. 
| (And even the uninitialized, but this is often problematic: Please
| initialize ALL global variables to a completely defined state and
| assert() violations of this rule. Even better is it *not to export any
| global variables* and to *export only global functions*. The OS-linker
| link386 is in fact not tested for the import of global variables from a
| DLL. IIRC this export of global variables occurs with RTTI and virtual
| functions as gcc implements them and often leads to multiply defined
| symbols; but don't believe me here, I may be wrong.).
| 
| So, while an optional libtool is certainly helpful for creating
| manually a suitable make process for dynamic linkage by modifying its
| templates, I don't think it should be enabled by default. 

That is why only static libs are created by default.
You _have_ to use --enable-shared to get dynamic ones.
I think that we should be able to use libtool always without problems.
(and if we get problems, static libs for any given arch should be
quite easy to add)

 Also, I am not going to work on making shared work on other archs
than ix86/Linux (and that already work). We will slowly move to have
better module/library api's and dependencies but do not expect much.

btw. did you try --enable-shared on OS/2? How severly did it bomb?

        Lgb

Reply via email to