aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/backend/ninjabackend.py8
-rw-r--r--mesonbuild/linkers.py2
2 files changed, 3 insertions, 7 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 847e749..94eaa4f 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1526,14 +1526,10 @@ int dummy;
if static_linker is None:
return
rule = 'rule STATIC%s_LINKER\n' % crstr
- # We don't use @file.rsp on Windows with ArLinker because llvm-ar and
- # gcc-ar blindly pass the --plugin argument to `ar` and you cannot pass
- # options as arguments while using the @file.rsp syntax.
- # See: https://github.com/mesonbuild/meson/issues/1646
if static_linker.can_linker_accept_rsp():
- command_template = ''' command = {executable} @$out.rsp
+ command_template = ''' command = {executable} $LINK_ARGS {output_args} @$out.rsp
rspfile = $out.rsp
- rspfile_content = $LINK_ARGS {output_args} $in
+ rspfile_content = $in
'''
else:
command_template = ' command = {executable} $LINK_ARGS {output_args} $in\n'
diff --git a/mesonbuild/linkers.py b/mesonbuild/linkers.py
index cb07c5e..7e89de5 100644
--- a/mesonbuild/linkers.py
+++ b/mesonbuild/linkers.py
@@ -88,7 +88,7 @@ class ArLinker(StaticLinker):
self.std_args = ['-csr']
def can_linker_accept_rsp(self):
- return False
+ return mesonlib.is_windows()
def build_rpath_args(self, build_dir, from_dir, rpath_paths, build_rpath, install_rpath):
return []