summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-12-03 14:36:28 -0800
committerDylan Baker <dylan@pnwbakers.com>2025-12-08 10:08:42 -0800
commit8c6dc8d9a2299acdb81c3d61e0265ce37be6210a (patch)
tree3463e1fcd02b1be06bf677df82ddee883eabb889
parent3ddde0b6c97d42ee67e1beef6952bee4bde69668 (diff)
downloadmeson-8c6dc8d9a2299acdb81c3d61e0265ce37be6210a.tar.gz
build|interpreter: use typed_kwargs for BuildTarget(link_args)
-rw-r--r--mesonbuild/build.py5
-rw-r--r--mesonbuild/interpreter/type_checking.py6
2 files changed, 7 insertions, 4 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 138f1ae03..cce5888c8 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -1271,10 +1271,7 @@ class BuildTarget(Target):
self.pch['c'] = kwargs.get('c_pch')
self.pch['cpp'] = kwargs.get('cpp_pch')
- self.link_args = extract_as_list(kwargs, 'link_args')
- for i in self.link_args:
- if not isinstance(i, str):
- raise InvalidArguments('Link_args arguments must be strings.')
+ self.link_args = kwargs.get('link_args', [])
for l in self.link_args:
if '-Wl,-rpath' in l or l.startswith('-rpath'):
mlog.warning(textwrap.dedent('''\
diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py
index 28280a996..e80ed7c6d 100644
--- a/mesonbuild/interpreter/type_checking.py
+++ b/mesonbuild/interpreter/type_checking.py
@@ -741,6 +741,12 @@ _BUILD_TARGET_KWS: T.List[KwargInfo] = [
),
KwargInfo('install_rpath', str, default=''),
KwargInfo(
+ 'link_args',
+ ContainerTypeInfo(list, str),
+ default=[],
+ listify=True,
+ ),
+ KwargInfo(
'link_depends',
ContainerTypeInfo(list, (str, File, CustomTarget, CustomTargetIndex, BuildTarget)),
default=[],