aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2018-03-29 15:46:12 -0400
committerXavier Claessens <xavier.claessens@collabora.com>2018-04-03 15:20:19 -0400
commit5eef325ab61820ca0c3fa5673afc917dde2aa1ef (patch)
tree00de9cfcff5183367b153fa6da9260cc8033aeed /mesonbuild/interpreter.py
parentcf0e997167e2a9657be58a1ae49b7a4f566d6083 (diff)
downloadmeson-5eef325ab61820ca0c3fa5673afc917dde2aa1ef.zip
meson-5eef325ab61820ca0c3fa5673afc917dde2aa1ef.tar.gz
meson-5eef325ab61820ca0c3fa5673afc917dde2aa1ef.tar.bz2
pkgconfig generator: Only skip dependencies when using shared_library()
It is weird and inconsistent to have different pc file depending on default_library value when using library() or build_target(). We should skip dependencies only when user explicitly want shared library only.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 42a57d3..6bd0b97 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -605,6 +605,8 @@ class StaticLibraryHolder(BuildTargetHolder):
class SharedLibraryHolder(BuildTargetHolder):
def __init__(self, target, interp):
super().__init__(target, interp)
+ # Set to True only when called from self.func_shared_lib().
+ target.shared_library_only = False
class SharedModuleHolder(BuildTargetHolder):
def __init__(self, target, interp):
@@ -2486,7 +2488,9 @@ root and issuing %s.
@permittedKwargs(permitted_kwargs['shared_library'])
def func_shared_lib(self, node, args, kwargs):
- return self.build_target(node, args, kwargs, SharedLibraryHolder)
+ holder = self.build_target(node, args, kwargs, SharedLibraryHolder)
+ holder.held_object.shared_library_only = True
+ return holder
@permittedKwargs(permitted_kwargs['shared_module'])
def func_shared_module(self, node, args, kwargs):