From c21b04ba087189472c60ce6e84987b74e9b7fccd Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 14 Nov 2020 16:43:00 +0200 Subject: Add prelinking support for static libraries. --- mesonbuild/compilers/compilers.py | 2 ++ mesonbuild/compilers/mixins/gnu.py | 3 +++ 2 files changed, 5 insertions(+) (limited to 'mesonbuild/compilers') diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 5c9e1ae..2900e19 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -1200,6 +1200,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: str, obj_list: T.List[str]) -> T.List[str]: + 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 bb1fc66..4024cbe 100644 --- a/mesonbuild/compilers/mixins/gnu.py +++ b/mesonbuild/compilers/mixins/gnu.py @@ -394,3 +394,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: str, obj_list: T.List[str]) -> T.List[str]: + return ['-r', '-o', prelink_name] + obj_list -- cgit v1.1