From 33b6fbd3667add1d5730c89e94f73f87d156499c Mon Sep 17 00:00:00 2001 From: "Mike D. Lowis" Date: Fri, 14 Jun 2013 10:01:04 -0400 Subject: [PATCH] Fully functional scheme builders --- SConstruct | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/SConstruct b/SConstruct index 227c6e2..035a6fb 100644 --- a/SConstruct +++ b/SConstruct @@ -14,16 +14,25 @@ def find_files(dir,pattern): matches.append(os.path.join(root, filename)) return matches -# Scheme program builder -scheme_builder = Builder( - action = 'csc -o $TARGET $SOURCE', - suffix = '.exe' if (platform.system() == 'Windows') else '' +# Scheme Source Compiler +scheme_compiler = Builder( + action = 'csc -c -o $TARGET $SOURCE', + suffix = '.o', + src_suffix = '.scm', + single_source = True +) + +# Scheme Binary Linker +scheme_linker = Builder( + action = 'csc -o $TARGET $SOURCE', + suffix = "$PROGSUFFIX", + src_builder = [ scheme_compiler ] ) # Create the Environment for this project env = Environment( - ENV = os.environ, - BUILDERS = { 'SchemeProgram': scheme_builder } + ENV = os.environ, + BUILDERS = { 'SchemeProgram': scheme_linker } ) #------------------------------------------------------------------------------ @@ -32,7 +41,7 @@ env = Environment( # SCLPL Compiler env.SchemeProgram( - target = 'sclpl-cc.exe', + target = 'sclpl-cc', source = find_files('source/compiler/','*.scm') ) -- 2.49.0