Skip to content
  • Thomas Haller's avatar
    build: don't statically link static libraries with other static libraries (1) · 1a24f3ae
    Thomas Haller authored
    When we link static libraries together, there must be no duplicate
    symbols.
    
    Since we have a lot of static/intermediate libraries, getting this right
    is complicated and sometimes leads to ugly solutions.
    
    As a new rule: don't let static libraries link with other static
    libraries. Only binaries and libnm/libnm.la should explicitly link
    with all the static libraries that they require.
    
    There are exceptions: "src/libNetworkManager.la" and "libnm/liblibnm.la".
    These are static, internal libraries, but they are basically *everything*
    that ends up in "src/NetworkManager" and "libnm/libnm.la", respecitively.
    Hence, these static libraries also link against other static libraries.
    Another exception to this rule is "src/libNetworkManagerTest.la", for
    similar reasons.
    1a24f3ae