From b29f78772ec183b4e4aee0f67f95c599a7d8060b Mon Sep 17 00:00:00 2001 From: Zoka Date: Fri, 19 Mar 2010 20:56:03 -0700 Subject: [PATCH] Eliminate debug(x) statements from src/node.js and lib/*.js for release build http://groups.google.com/group/nodejs/browse_thread/thread/8f20bcef6d6d96b7 --- wscript | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/wscript b/wscript index ccccac99da..ab998d367f 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