Skip to content

Do not export symbols for component libraries

Frank Winklmeier requested to merge fwinkl/atlasexternals:com_sym_hidden into master

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

Merge request reports