Checkout
rhuijben
committed
on 08 Sep 13
Re-implement the forced usage of shared libraries for our test suite using a
proper build.conf flag. The updated implementation resolves a f… Show more
Re-implement the forced usage of shared libraries for our test suite using a

proper build.conf flag. The updated implementation resolves a few cases where

we linked some applications (E.g. op-depth-test) against both the shared and

the static version of the same library, because direct and indirect

dependencies were handled using different code paths.

This last problem caused test failures on the Windows shared library buildbot,

because svn_error_clear() unhooked a different function for its

maintainer-abort on error leaks, than the other library inserted.

* build.conf

 (msvc-force-static): Document.

 (locks-test,

  checksum-test,

  crypto-test,

  client-test,

  conflict-data-test,

  db-test,

  pristine-store-test,

  entries-compat-test,

  op-depth-test,

  wc-test): Mark these tests as msvc-force-static they use functions that

    aren't published from the libraries that define them.

 (entries-dump,

  wc-lock-tester,

  wc-incomplete-tester): Mark these wc.db test helpers as msvc-force-static.

* build/generator/gen_base.py

 (DependencyGraph.remove): New function.

 (TargetExe): Read new value from build.conf.

 (disable_shared): Don't touch msvc_export.

* build/generator/gen_win.py

 (get_install_targets): Handle the magic of forcing static library usage here,

   with the code that creates shared libraries.

 (create_dll_target): Remove magic name logic.

Show less