waf 1.6: bring back -Wl,--soname, fix waf warnings
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Mon, 12 Sep 2011 16:19:24 +0100
changeset 7489 994360413f55
parent 7488 72d0c878f3c7
child 7490 886cf992ade6
waf 1.6: bring back -Wl,--soname, fix waf warnings
bindings/python/wscript
src/wscript
waf-tools/command.py
wscript
--- a/bindings/python/wscript	Mon Sep 12 14:54:27 2011 +0100
+++ b/bindings/python/wscript	Mon Sep 12 16:19:24 2011 +0100
@@ -309,7 +309,7 @@
     """Uses gccxml to scan the file 'everything.h' and extract API definitions.
     """
     after = 'gen_ns3_module_header ns3header'
-    before = 'cc cxx gchx'
+    before = 'cc cxx'
     color = "BLUE"
     def __init__(self, curdirnode, env, bld, target, cflags, module):
         self.bld = bld
@@ -402,7 +402,7 @@
 
 class gen_ns3_compat_pymod_task(Task.Task):
     """Generates a 'ns3.py' compatibility module."""
-    before = 'cc cxx gchx'
+    before = 'cc cxx'
     color = 'BLUE'
     
     def run(self):
--- a/src/wscript	Mon Sep 12 14:54:27 2011 +0100
+++ b/src/wscript	Mon Sep 12 16:19:24 2011 +0100
@@ -195,6 +195,7 @@
         module = bld.new_task_gen(features=['cxx', 'cxxstlib', 'ns3module'])
     else:
         module = bld.new_task_gen(features=['cxx', 'cxxshlib', 'ns3module'])
+    module.target = '%s/ns3-%s' % (bld.srcnode.relpath_gen(module.path), name)
     linkflags = []
     cxxflags = []
     ccflags = []
@@ -207,9 +208,8 @@
             # Get the module library name without any relative paths
             # at its beginning because all of the libraries will end
             # up in the same directory.
-            if 0: # TODO FIXME
-                module_library_name = os.path.basename(ccroot.get_target_name(module))
-                linkflags = '-Wl,--soname=%s' % module_library_name
+            module_library_name = module.env.cshlib_PATTERN % (os.path.basename(module.target),)
+            linkflags = '-Wl,--soname=' + module_library_name
     elif module.env['CXX_NAME'] in ['gcc', 'icc'] and \
             os.uname()[4] == 'x86_64' and \
             sys.platform != 'darwin' and \
@@ -231,7 +231,6 @@
     module.is_static = static
     module.vnum = wutils.VNUM
     # Add the proper path to the module's name.
-    module.target = '%s/ns3-%s' % (bld.srcnode.relpath_gen(module.path), name)
     # Set the libraries this module depends on.  
     module.module_deps = list(dependencies)
 
--- a/waf-tools/command.py	Mon Sep 12 14:54:27 2011 +0100
+++ b/waf-tools/command.py	Mon Sep 12 16:19:24 2011 +0100
@@ -104,8 +104,9 @@
 @TaskGen.feature('command')
 def init_command(self):
 	Utils.def_attrs(self,
-			# other variables that can be used in the command: ${VARIABLE}
-			variables = None)
+					# other variables that can be used in the command: ${VARIABLE}
+					variables = None,
+					rule='')
 
 
 
--- a/wscript	Mon Sep 12 14:54:27 2011 +0100
+++ b/wscript	Mon Sep 12 16:19:24 2011 +0100
@@ -894,7 +894,7 @@
     wutils.run_python_program("test.py -n -c core", env)
 
 class print_introspected_doxygen_task(Task.TaskBase):
-    after = 'cc cxx cc_link cxx_link'
+    after = 'cc cxx link'
     color = 'BLUE'
 
     def __init__(self, bld):
@@ -925,7 +925,7 @@
             out.close()
 
 class run_python_unit_tests_task(Task.TaskBase):
-    after = 'cc cxx cc_link cxx_link'
+    after = 'cc cxx link'
     color = 'BLUE'
 
     def __init__(self, bld):