Allow ns3moduleheader taskgen with empty list of source headers (for completely optional ns-3 modules)
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Wed Sep 02 17:43:28 2009 +0100 (5 months ago)
changeset 47507dd4ad5ac045
parent 4749 af227579ab64
child 4751 386247c6625a
Allow ns3moduleheader taskgen with empty list of source headers (for completely optional ns-3 modules)
src/wscript
     1.1 --- a/src/wscript	Wed Sep 02 11:29:23 2009 +0100
     1.2 +++ b/src/wscript	Wed Sep 02 17:43:28 2009 +0100
     1.3 @@ -214,19 +214,22 @@
     1.4          ## get all of the ns3 headers
     1.5          ns3_dir_node = self.bld.path.find_dir("ns3")
     1.6          all_headers_inputs = []
     1.7 +        found_the_module = False
     1.8          for ns3headers in self.bld.all_task_gen:
     1.9              if isinstance(ns3headers, ns3header_taskgen):
    1.10                  if ns3headers.module != self.module:
    1.11                      continue
    1.12 +                found_the_module = True
    1.13                  for source in ns3headers.to_list(ns3headers.source):
    1.14                      source = os.path.basename(source)
    1.15                      node = ns3_dir_node.find_or_declare(os.path.basename(source))
    1.16                      if node is None:
    1.17                          fatal("missing header file %s" % (source,))
    1.18                      all_headers_inputs.append(node)
    1.19 +        if not found_the_module:
    1.20 +            raise Utils.WscriptError("error finding headers for module %s" % self.module)
    1.21          if not all_headers_inputs:
    1.22 -            raise Utils.WscriptError("error finding headers for module %s" % self.module)
    1.23 -        assert all_headers_inputs
    1.24 +            return
    1.25          module_obj = self.bld.name_to_obj("ns3-" + self.module, self.env)
    1.26          assert module_obj is not None
    1.27          all_headers_outputs = [ns3_dir_node.find_or_declare("%s-module.h" % self.module)]