Dyninst now provides <component-install> top-level targets that should properly install a given component and its dependencies. This should be reflected in the DyninstConfig.cmake file that's installed, and the test suite should be properly aware of which components are present/absent when it builds. This enables you to build and test, for instance, symtabAPI:

cd /path/to/top/level/dyninst
cmake . && make symtabAPI-install

cd /path/to/top/level/testsuite
cmake . && make

<symtab tests build, other tests don't>

Also, there's a new CMake option: ENABLE_STATIC_LIBS, defaulting to "off", so that you only build static versions of the Dyninst libraries when you want them. I know this is high on quite a few people's lists.

Finally, there's a new CMake function, dyninst_library, in shared.cmake that wraps up all of the default per-component stuff that needs to happen. It's used as follows:

dyninst_library(component_name list_of_dependencies)

It's smart enough to figure out which dependencies are other components and which aren't. If there are per-platform dependencies (e.g. libdwarf/libelf) those need to be added separately, either with a subsequent target_link_libraries or by per-platform changes to the list of dependencies.

--bw

Bill Williams
Paradyn Project
[email protected]
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to