aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2020-11-14 16:43:00 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2020-11-14 21:57:12 +0200
commit1bb5c8a4fb625d5ff296d0f31fc3b3cc92580d62 (patch)
treec5b1521d43a8ab02725e5626d2e51ba330fb7b55 /mesonbuild/compilers
parent59cacbbfc17dffe4aede1dfaa93bd5e1a3e994b2 (diff)
downloadmeson-prelink.zip
meson-prelink.tar.gz
meson-prelink.tar.bz2
Add prelinking support for static libraries.prelink
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/compilers.py2
-rw-r--r--mesonbuild/compilers/mixins/gnu.py3
2 files changed, 5 insertions, 0 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 81d48d2..7d1d427 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1205,6 +1205,8 @@ class Compiler(metaclass=abc.ABCMeta):
# TODO: using a TypeDict here would improve this
raise EnvironmentError('{} does not implement get_feature_args'.format(self.id))
+ def get_prelink_args(self, prelink_name, obj_list):
+ raise EnvironmentException('{} does not know how to do prelinking.'.format(self.id))
def get_args_from_envvars(lang: str,
for_machine: MachineChoice,
diff --git a/mesonbuild/compilers/mixins/gnu.py b/mesonbuild/compilers/mixins/gnu.py
index 5771ad8..d3fa77d 100644
--- a/mesonbuild/compilers/mixins/gnu.py
+++ b/mesonbuild/compilers/mixins/gnu.py
@@ -396,3 +396,6 @@ class GnuCompiler(GnuLikeCompiler):
# GCC only warns about unknown or ignored attributes, so force an
# error.
return ['-Werror=attributes']
+
+ def get_prelink_args(self, prelink_name, obj_list):
+ return ['-r', '-o', prelink_name] + obj_list