Checkout
rhuijben
committed
on 20 Aug 15
In the Windows build mark the DLLs of libsvn_ra, libsvn_fs_base, libsvn_fs_fs,
libsvn_fx as to be delayloaded.

Without this patch these DLL… Show more
In the Windows build mark the DLLs of libsvn_ra, libsvn_fs_base, libsvn_fs_fs,

libsvn_fx as to be delayloaded.

Without this patch these DLLs and their dependencies are always loaded from

code that references them. After this patch the code is dynamically loaded

when first necessary. (In all supported compilers this is implemented as

a per DLL load via the import table, so there is no per function call

performance penalty)

The non-shared-library build is unaffected.

* build.conf

 (libsvn_fs_base,

  libsvn_fs_fs,

  libsvn_fs_x,

  libsvn_ra): Mark as delayload.

* build/generator/gen_base.py

 (TargetLib): Load property.

* build/generator/gen_vcnet_vcproj.py

 (write): Calculate dependency dlls to be delayloaded.

* build/generator/gen_win.py

 (create_dll_target): Copy property to right target.

* build/generator/templates/vcnet_vcxproj.ezt

 Extend linker arguments.

Show less