Install shared_module implibs

On Windows, if we are going to link with a shared module, we need the
implib.

Use case: The Xorg server builds some X protocol extensions as modules.  The
implibs for these modules need to be shipped as part of the SDK, to enable
building of 3rd party extensions which reference symbols in (and hence on
Windows, need to be linked with) these modules.
pull/3708/head
Jon Turney 7 years ago committed by Nirbheek Chauhan
parent 1f5c6d62bf
commit e9462ce206
  1. 2
      mesonbuild/backend/ninjabackend.py
  2. 1
      mesonbuild/build.py
  3. 2
      test cases/windows/8 dll versioning/installed_files.txt

@ -747,7 +747,7 @@ int dummy;
# On toolchains/platforms that use an import library for
# linking (separate from the shared library with all the
# code), we need to install that too (dll.a/.lib).
if (isinstance(t, build.SharedLibrary) or isinstance(t, build.Executable)) and t.get_import_filename():
if isinstance(t, (build.SharedLibrary, build.SharedModule, build.Executable)) and t.get_import_filename():
if custom_install_dir:
# If the DLL is installed into a custom directory,
# install the import library into the same place so

@ -1625,7 +1625,6 @@ class SharedModule(SharedLibrary):
if 'soversion' in kwargs:
raise MesonException('Shared modules must not specify the soversion kwarg.')
super().__init__(name, subdir, subproject, is_cross, sources, objects, environment, kwargs)
self.import_filename = None
class CustomTarget(Target):
known_kwargs = set([

@ -11,6 +11,7 @@
?msvc:usr/libexec/customdir.dll
?msvc:usr/libexec/customdir.lib
?msvc:usr/lib/module.dll
?msvc:usr/lib/module.lib
?gcc:usr/bin/?libsome-0.dll
?gcc:usr/lib/libsome.dll.a
?gcc:usr/bin/?libnoversion.dll
@ -22,3 +23,4 @@
?gcc:usr/libexec/?libcustomdir.dll
?gcc:usr/libexec/libcustomdir.dll.a
?gcc:usr/lib/?libmodule.dll
?gcc:usr/lib/libmodule.dll.a

Loading…
Cancel
Save