1. 24 Oct, 2018 1 commit
  2. 01 Oct, 2018 1 commit
  3. 19 Sep, 2018 1 commit
    • Beniamino Galvani's avatar
      build: meson: fix computing NM exported symbols · 19a718bc
      Beniamino Galvani authored
      The script didn't include all the symbols needed by plugins because
      libNetworkManager.a, as built by meson, doesn't include symbols from
      other static libraries that are linked in. Since we used
      libNetworkManager.a to know which symbols are potentiall available
      from NM, the result was an incomplete list.
      
      Unfortunately, the only way to include the whole static library is to
      create a dependency object and use 'link_whole', but this is only
      available in meson >= 0.46. Since 'link_whole' is available for
      executables in meson >= 0.40, create a fake executable and use that to
      enumerate symbols.
      
      Also add tests to check that plugins can be loaded correctly.
      
      Fixes: dfa2a2b4
      19a718bc
  4. 13 Sep, 2018 2 commits
  5. 05 Sep, 2018 1 commit
  6. 21 Dec, 2017 1 commit
    • Thomas Haller's avatar
      settings: drop unmaintained ifnet settings plugin of Gentoo · 0474441e
      Thomas Haller authored
      Even Gentoo disables this plugin since before 0.9.8 release
      of NetworkManager. Time to say goodbye.
      
      If somebody happens to show up to maintain it, we may resurrect it
      later.
      
      If "$distro_plugins=ifnet" was set, configure.ac would use that
      to autodetect --with-hostname-persist=gentoo. Replace that autodetect
      part by checking for /etc/gentoo-release file.
      0474441e
  7. 28 Jun, 2017 1 commit
    • Lubomir Rintel's avatar
      tools: fix the PowerPC build · aa070700
      Lubomir Rintel authored
      On ppc archtecture the "nm_bt_vtable_network_server" symbol in the small
      objects section instead of .bss, represencted by a "S" letter. Also
      include "G" which is an equivalent thing for initialized data. We don't
      seem to have such objects at the moment, but when we do it could result
      in a nasty surprise.
      aa070700
  8. 01 Jun, 2017 1 commit
  9. 16 Feb, 2017 1 commit
  10. 08 Feb, 2017 1 commit
  11. 18 Dec, 2016 1 commit
    • Thomas Haller's avatar
      build: remove "src/NetworkManager.ver-orig" · 0dfb5d24
      Thomas Haller authored
      Generating "src/NetworkManager.ver" each time seems to work well.
      Thus, src/NetworkManager.ver-orig is unused an gets easily out
      of date. Just remove it. It's not useful anymore.
      0dfb5d24
  12. 06 Dec, 2016 1 commit
  13. 10 Nov, 2016 3 commits
  14. 06 Nov, 2016 1 commit
  15. 13 Oct, 2016 1 commit
    • Thomas Haller's avatar
      build: explicitly whitelist symbols in NetworkManager binary · b171fbc9
      Thomas Haller authored
      - this allows the linker to drop unused symbols via link-time optimization
        or with --gc-sections:
      
          git clean -fdx
          ./autogen.sh --enable-ld-gc --enable-ifcfg-rh --enable-ifupdown \
              --enable-ifnet --enable-ibft --enable-teamdctl --enable-wifi \
              --with-modem-manager-1 --with-ofono --with-more-asserts \
              --with-more-logging
          make -j20
          strip ./src/NetworkManager
      
        gives 2822840 vs. 2625960 bytes (-7%).
      
      - this also gives more control over the symbols that are used by the
        plugins. Yes, it means if you modify a plugin to use a new symbols,
        you have to extend NetworkManager.ver file.
        You can run the script to create the version file:
      
          $ ./tools/create-exports-NetworkManager.sh update
      
        but be sure that your current configuration enables all plugins
        and debugging options to actually use all symbols that are in use.
      
      - If you compile with certain plugins enabled, you could theoretically
        re-compile NetworkManager to expose less symbols. Try:
      
          $ ./tools/create-exports-NetworkManager.sh build
      
      - note that we have `make check` tests to ensure that all used
        symbols of the plugins can be found. So, it should not be possible
        to accidentally forget to expose a symbol.
      b171fbc9