Jan Kiszka wrote:
Hi all,
both RTAI 3.x and fusion currently suppress unresolved symbol warnings
while building 2.6 module with some kind of hack. I just stumbled over
the way some other more complex external module project handles this
issue more gracefully: madwifi. This project comes with stack of modules
which depend on eachother. Therefore, previous versions also generated
those ugly warnings. Now they collect all generated module symbols
(*.mod) in a central directory (<builddir>/symbols) and can make use of
them.
This made me think about the far more complex situation of RTAI and
depending projects like RTnet again. This is how I currently think we
may handle the case cleanly as well:
* let RTAI collect *.mod files in a central directory as well (e.g.
also <builddir>/symbols), required variable for "make modules" is
MODVERDIR
* build components strictly in the order they also have to be insmod'ed
* install symbols dir to <prefix_dir>/symbols or so
Now, depending projects can do the following to build kernel modules
against RTAI:
* generate their own symbols dir in their builddir
* link or copy the RTAI *.mod files into their symbols dir
(unfortunately, you can only provide one MODVERDIR)
* build modules providing their symbols dir via MODVERDIR
...and all should be find.
Comments, suggestions - volunteers...?
Good idea. Just implemented as described, now in the CVS. Thanks for the
hint. Additional testing welcome.
PS: *.mod files contents refer to the build directory, so I guess that
such information would not be useful for setups that only provide the
installed binaries (and not the initial build dir). But still, I have
nonetheless exported the symbols to $exec_prefix/symbols as proposed.
--
Philippe.