|  |  20.1 A Module Loading Subsystem 
As you saw in 18. Using GNU libltdl, I need to put an invocation of
the macro `AC_LIBTOOL_DLOPEN' just before `AC_PROG_LIBTOOL',
in the file `configure.in'.  But, as well as being able to use
libtoolize --ltdl, which adds libltdl in a subdirectory
with its own subconfigure, you can also manually copy just the ltdl
source files into your project(45), and useAC_LIB_LTDLin your existing
`configure.in'.  At the time of writing, this is still a very new
and (as yet) undocumented feature, with a few kinks that need to be
ironed out.  In any case you probably shouldn't use this method to add
`ltdl.lo' to a C++ library, since `ltdl.c' is written in C.
If you do want to use libltdl with a C++ library, things will
work much better if you build it in a subdirectory generated withlibtoolize --ltdl. 
For this project, lets:
 
 |  | 
 $ cp /usr/share/libtool/libltdl/ltdl.[ch] sic/
 | 
 
The Sic module loader is probably as complicated as any you will ever
need to write, since it must support two kinds of modules: modules which
contain additional built-in commands for the interpreter; and modules
which extend the Sic syntax table.  A single module can also provide
both syntax extensions and additional built-in commands.
 
 |