From 6267125b0450f25d366bd4e0af2cdd5c71b64e2a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexis=20Laferri=C3=A8re?= Date: Fri, 13 Jun 2014 18:09:32 -0400 Subject: [PATCH] nitg: use libgc only if platform supports it MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Alexis Laferrière --- src/abstract_compiler.nit | 6 +++++- src/platform.nit | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/abstract_compiler.nit b/src/abstract_compiler.nit index 0093e60..c1078af 100644 --- a/src/abstract_compiler.nit +++ b/src/abstract_compiler.nit @@ -202,8 +202,12 @@ class MakefileToolchain do if self.toolcontext.opt_stacktrace.value == "nitstack" then compiler.build_c_to_nit_bindings + var platform = compiler.mainmodule.target_platform + var cc_opt_with_libgc = "-DWITH_LIBGC" + if platform != null and not platform.supports_libgc then cc_opt_with_libgc = "" + # Add gc_choser.h to aditionnal bodies - var gc_chooser = new ExternCFile("gc_chooser.c", "-DWITH_LIBGC") + var gc_chooser = new ExternCFile("gc_chooser.c", cc_opt_with_libgc) compiler.extern_bodies.add(gc_chooser) compiler.files_to_copy.add "{cc_paths.first}/gc_chooser.c" compiler.files_to_copy.add "{cc_paths.first}/gc_chooser.h" diff --git a/src/platform.nit b/src/platform.nit index 17257f5..3c5367f 100644 --- a/src/platform.nit +++ b/src/platform.nit @@ -113,6 +113,8 @@ end abstract class Platform fun supports_libunwind: Bool do return true + fun supports_libgc: Bool do return true + # Does this platform declare its own main function? If so, we won't generate one in Nit. fun no_main: Bool do return false end -- 1.7.9.5