Do not export symbols for component libraries
To prevent developers form accidentally linking against component
libraries (ATLINFR-3143), implement two changes in atlas_add_component
:
- set symbol visibility to "hidden"
- declare link dependencies of component libraries as private
The latter is needed to cover the case where the component library is linking against a regular library and would otherwise just propagate its dependencies:
libPkg1 -> libPkg1Lib
libPkg2 -> libPkg1
On libAthenaServices.so
this results in a ~10% decrease of the library size.
Tested successfully with a build of "Control/.*" but likely may uncover a few problems in the full athena repository.
Edited by Frank Winklmeier