Skip to content

Instantly share code, notes, and snippets.

@zoka
Created March 19, 2010 17:36
Show Gist options
  • Save zoka/337907 to your computer and use it in GitHub Desktop.
Save zoka/337907 to your computer and use it in GitHub Desktop.
diff --git a/wscript b/wscript
index ccccac9..ab998d3 100644
--- a/wscript
+++ b/wscript
@@ -337,10 +337,37 @@ def build(bld):
coupling.clone("debug")
### src/native.cc
+ def make_macros(loc, content):
+ f = open(loc, 'w')
+ f.write(content)
+ f.close
+
+ macros_loc_debug = join(
+ bld.srcnode.abspath(bld.env_of_name("debug")),
+ "macros.py"
+ )
+
+ macros_loc_default = join(
+ bld.srcnode.abspath(bld.env_of_name("default")),
+ "macros.py"
+ )
+
+ make_macros(macros_loc_debug, "") # leave debug(x) as is in debug build
+ # replace debug(x) with nothing in release build
+ make_macros(macros_loc_default, "macro debug(x) = ;\n")
+
def javascript_in_c(task):
env = task.env
source = map(lambda x: x.srcpath(env), task.inputs)
targets = map(lambda x: x.srcpath(env), task.outputs)
+ source.append(macros_loc_default)
+ js2c.JS2C(source, targets)
+
+ def javascript_in_c_debug(task):
+ env = task.env
+ source = map(lambda x: x.srcpath(env), task.inputs)
+ targets = map(lambda x: x.srcpath(env), task.outputs)
+ source.append(macros_loc_debug)
js2c.JS2C(source, targets)
native_cc = bld.new_task_gen(
@@ -356,7 +383,8 @@ def build(bld):
# where.)
if bld.env["USE_DEBUG"]:
native_cc_debug = native_cc.clone("debug")
- native_cc_debug.rule = javascript_in_c
+ native_cc_debug.rule = javascript_in_c_debug
+
native_cc.rule = javascript_in_c
### node lib
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment