RPATHat link time or setting
SHLIB_PATH. The problem is that if you are building a C Code Generation (CGC) application that uses shared libraries, then at runtime the user needs to either have the necessary shared libraries in their
SHLIB_PATH, or the binary needs to have the
RPATHto the shared libraries encoded into it. This can be done with an option of the linker. The various commands to do this are architecture dependent, and
Default-CGCtarget usually fails. The
Makefile_Ctarget and the
TclTk_Targetwhich is derived from
Makefile_Cis much more likely to work with shared libraries.
pigiRpcthat has only the domains you are interested in with Jose Pino's
$PTOLEMY/bin, see the Programmer's Manual for more information. The startup time for a full
pigiRpcis greater than for a
pigiRpc.ptrim(SDF, DE, CGC and a few other small domains). If you use either
pigiRpc.ptiny(SDF and DE only), then the start up time is quite reasonable. If you regularly use some of the other less common domains, then you can build special
pigiRpcwith just your domains.
One reason that startup time is increased might be because Ptolemy constructs a lot of objects and processes many lists of things like domains. We may be able to decrease startup time by carefully managing the star constructors.
One way to speed things up might be to create a large shared library that has the domains in which you are interested. Startup time might be faster if everything is in one file. Currently we have about 80 different shared libraries.
Combining these libraries into a few big libraries for ptiny, ptrim and pigi binaries might help. Of course, we could leave the 80 libraries and just add the new libraries. We have not tried this, but it might be interesting.