Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Dynamic loading on Cygwin - status
- X-seq: zsh-workers 12423
- From: "Andrej Borsenkow" <Andrej.Borsenkow@xxxxxxxxxxxxxx>
- To: "ZSH workers mailing list" <zsh-workers@xxxxxxxxxxxxxx>
- Subject: Dynamic loading on Cygwin - status
- Date: Fri, 28 Jul 2000 18:51:57 +0400
- Importance: Normal
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
O.K., it almost works :-) It was much easier than I suspected due to the fact,
that you can simply link with DLL - no additional stub library is needed. That
enourmosly simplified makefiles.
There are still some gotchas:
- for dlsym() to find a symbol, it has to explcitly exported. It means, that
module's setup() etc functions are not found. They has to be defined with
__attribute__((__dllexport__)). All exported symbols (that have mod_export)
currently get this automatically.
- external function or variable imported from another module is not considered
a constant on Cygwin (actually, on Windows). Hence, any static initializer
fails, e.g
BUILTIN("cap", 0, bin_cap, 0, 1, 0, NULL, NULL),
where bin_cap is redefined to bin_notavail that in imported from mail DLL.
This is not just as easy to solve.
- some more Makefiles tweaking is needed; because now modules depend on other
module's DLL, we need rules to rebuild them.
- of course, zsh.dll has to be installed into $(bindir) else it is not found.
But still, I did run Zsh compiled with dynamic loading support :-))) My thanks
to Zefram for excellent build system! (And good configure tests).
-andrej
Have a nice DOS!
B >>
Messages sorted by:
Reverse Date,
Date,
Thread,
Author