wscript
changeset 59 7879b00f1bf1
parent 7 6c6b84ead145
child 63 e89dca438df6
--- a/wscript	Tue Feb 01 13:46:40 2011 +0100
+++ b/wscript	Tue Feb 01 14:05:36 2011 +0100
@@ -2,6 +2,24 @@
 
 import os
 
+def create_dce_program(bld, name, is_c_only = False):
+    if not is_c_only:
+        program = bld.new_task_gen('cxx', 'program')
+        var = 'CXXFLAGS'
+    else:
+        program = bld.new_task_gen('cc', 'program')
+        var = 'CCFLAGS'
+    program.env.append_value(var, '-fpie')
+    program.env.append_value(var, '-U_FORTIFY_SOURCE')
+    if os.uname()[4] == 'x86_64':
+        program.env.append_value(var, '-mcmodel=large')
+#    program.env.append_value('LINKFLAGS', '-Wl,--dynamic-linker=/usr/lib/debug/ld-linux-x86-64.so.2')
+    program.is_ns3_program = True
+    program.name = name
+    program.target = name
+    program.env.append_value('LINKFLAGS', '-pie')
+    return program
+
 def add_build_dir(conf,d):
     build_dir = os.path.abspath(os.path.join(conf.blddir, conf.env.variant(), 'src', 'dce', d))
     conf.env.append_value('NS3_MODULE_PATH', build_dir)
@@ -19,4 +37,6 @@
     conf.sub_config('vdl')
 
 def build(bld):
+    import types
+    bld.create_dce_program = types.MethodType(create_dce_program, bld)
     bld.add_subdirs(['model', 'helper', 'test', 'vdl', 'example', 'utils'])