summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorRenan Lavarec <rlavarec@gopro.com>2023-03-20 14:06:06 +0100
committerXavier Claessens <xclaesse@gmail.com>2023-03-23 12:22:12 -0400
commit4fedf19f41a99e0abd5ed18916e42e12e420c6bf (patch)
tree81bba6fe816d6f24030d2f71ad4b1ad66ca145b8 /mesonbuild/compilers
parentb85ffbacb12701382da3404c9bd5aaf56e2c883f (diff)
downloadmeson-4fedf19f41a99e0abd5ed18916e42e12e420c6bf.tar.gz
asm: Add sx extension
docs: gcc https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html scons: https://scons.org/doc/3.0.5/HTML/scons-user/apb.html .S Windows: assembly language file ARM: CodeSourcery Sourcery Lite .sx assembly language file + C pre-processor POSIX: assembly language file + C pre-processor
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/compilers.py2
-rw-r--r--mesonbuild/compilers/mixins/arm.py2
-rw-r--r--mesonbuild/compilers/mixins/compcert.py1
-rw-r--r--mesonbuild/compilers/mixins/gnu.py1
-rw-r--r--mesonbuild/compilers/mixins/visualstudio.py1
-rw-r--r--mesonbuild/compilers/mixins/xc16.py1
6 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index a1b389bdc..0feb371bc 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -77,7 +77,7 @@ all_languages = lang_suffixes.keys()
c_cpp_suffixes = {'h'}
cpp_suffixes = set(lang_suffixes['cpp']) | c_cpp_suffixes
c_suffixes = set(lang_suffixes['c']) | c_cpp_suffixes
-assembler_suffixes = {'s', 'S', 'asm', 'masm'}
+assembler_suffixes = {'s', 'S', 'sx', 'asm', 'masm'}
llvm_ir_suffixes = {'ll'}
all_suffixes = set(itertools.chain(*lang_suffixes.values(), assembler_suffixes, llvm_ir_suffixes, c_cpp_suffixes))
source_suffixes = all_suffixes - header_suffixes
diff --git a/mesonbuild/compilers/mixins/arm.py b/mesonbuild/compilers/mixins/arm.py
index 5d0fb8754..e8efae122 100644
--- a/mesonbuild/compilers/mixins/arm.py
+++ b/mesonbuild/compilers/mixins/arm.py
@@ -90,6 +90,7 @@ class ArmCompiler(Compiler):
'everything': default_warn_args + []} # type: T.Dict[str, T.List[str]]
# Assembly
self.can_compile_suffixes.add('s')
+ self.can_compile_suffixes.add('sx')
def get_pic_args(self) -> T.List[str]:
# FIXME: Add /ropi, /rwpi, /fpic etc. qualifiers to --apcs
@@ -161,6 +162,7 @@ class ArmclangCompiler(Compiler):
'b_ndebug', 'b_staticpic', 'b_colorout']}
# Assembly
self.can_compile_suffixes.add('s')
+ self.can_compile_suffixes.add('sx')
def get_pic_args(self) -> T.List[str]:
# PIC support is not enabled by default for ARM,
diff --git a/mesonbuild/compilers/mixins/compcert.py b/mesonbuild/compilers/mixins/compcert.py
index a0394a9b8..d9c21a802 100644
--- a/mesonbuild/compilers/mixins/compcert.py
+++ b/mesonbuild/compilers/mixins/compcert.py
@@ -68,6 +68,7 @@ class CompCertCompiler(Compiler):
def __init__(self) -> None:
# Assembly
self.can_compile_suffixes.add('s')
+ self.can_compile_suffixes.add('sx')
default_warn_args = [] # type: T.List[str]
self.warn_args = {'0': [],
'1': default_warn_args,
diff --git a/mesonbuild/compilers/mixins/gnu.py b/mesonbuild/compilers/mixins/gnu.py
index cba19c552..f51460d30 100644
--- a/mesonbuild/compilers/mixins/gnu.py
+++ b/mesonbuild/compilers/mixins/gnu.py
@@ -389,6 +389,7 @@ class GnuLikeCompiler(Compiler, metaclass=abc.ABCMeta):
self.base_options.add(OptionKey('b_sanitize'))
# All GCC-like backends can do assembly
self.can_compile_suffixes.add('s')
+ self.can_compile_suffixes.add('sx')
def get_pic_args(self) -> T.List[str]:
if self.info.is_windows() or self.info.is_cygwin() or self.info.is_darwin():
diff --git a/mesonbuild/compilers/mixins/visualstudio.py b/mesonbuild/compilers/mixins/visualstudio.py
index 864d3b47a..119a2bfd3 100644
--- a/mesonbuild/compilers/mixins/visualstudio.py
+++ b/mesonbuild/compilers/mixins/visualstudio.py
@@ -469,6 +469,7 @@ class ClangClCompiler(VisualStudioLikeCompiler):
# Assembly
self.can_compile_suffixes.add('s')
+ self.can_compile_suffixes.add('sx')
def has_arguments(self, args: T.List[str], env: 'Environment', code: str, mode: str) -> T.Tuple[bool, bool]:
if mode != 'link':
diff --git a/mesonbuild/compilers/mixins/xc16.py b/mesonbuild/compilers/mixins/xc16.py
index 09949a266..36c2c10ab 100644
--- a/mesonbuild/compilers/mixins/xc16.py
+++ b/mesonbuild/compilers/mixins/xc16.py
@@ -65,6 +65,7 @@ class Xc16Compiler(Compiler):
raise EnvironmentException('xc16 supports only cross-compilation.')
# Assembly
self.can_compile_suffixes.add('s')
+ self.can_compile_suffixes.add('sx')
default_warn_args = [] # type: T.List[str]
self.warn_args = {'0': [],
'1': default_warn_args,