aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-06-18 01:22:55 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2014-06-18 01:22:55 +0300
commitf22376701bdebbda70b8d521a2da8f5376e6fdaa (patch)
tree6e7f995e9953853364fe0f70cc61e9aed29a8a19 /backends.py
parent5fee2dd325680ca8ca4fa5727259ef17cdb859e9 (diff)
downloadmeson-f22376701bdebbda70b8d521a2da8f5376e6fdaa.zip
meson-f22376701bdebbda70b8d521a2da8f5376e6fdaa.tar.gz
meson-f22376701bdebbda70b8d521a2da8f5376e6fdaa.tar.bz2
Can compile very basic Rust programs.
Diffstat (limited to 'backends.py')
-rw-r--r--backends.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/backends.py b/backends.py
index 5f874a7..bbc2dab 100644
--- a/backends.py
+++ b/backends.py
@@ -185,6 +185,12 @@ class Backend():
return True
return False
+ def has_rust(self, target):
+ for s in target.get_sources():
+ if s.endswith('.rs'):
+ return True
+ return False
+
def generate_target(self, target, outfile):
if isinstance(target, build.CustomTarget):
self.generate_custom_target(target, outfile)
@@ -197,6 +203,9 @@ class Backend():
if isinstance(target, build.Jar):
self.generate_jar_target(target, outfile)
return
+ if 'rust' in self.environment.coredata.compilers.keys() and self.has_rust(target):
+ self.generate_rust_target(target, outfile)
+ return
if 'vala' in self.environment.coredata.compilers.keys() and self.has_vala(target):
gen_src_deps += self.generate_vala_compile(target, outfile)
# The following deals with C/C++ compilation.