diff -r 5a9a0a21b553 src/wscript --- a/src/wscript Sun Jan 08 16:52:18 2012 +0000 +++ b/src/wscript Sun Jan 08 17:19:30 2012 +0000 @@ -79,7 +79,8 @@ 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) + module.target = '%s/ns%s-%s-%s' % (bld.srcnode.relpath_gen(module.path), wutils.VERSION, + name, bld.env['BUILD_PROFILE']) linkflags = [] cxxflags = [] ccflags = [] @@ -123,8 +124,8 @@ module.env.append_value("INCLUDES", '#') - pcfilegen = bld(features='ns3pcfile') - pcfilegen.module = module + module.pcfilegen = bld(features='ns3pcfile') + module.pcfilegen.module = module return module @@ -372,7 +373,7 @@ def _generate_pcfile(self, name, use, env, outfilename): outfile = open(outfilename, 'wt') prefix = env.PREFIX - includedir = env.INCLUDEDIR + includedir = Utils.subst_vars('${INCLUDEDIR}/ns-%s' % (wutils.VERSION,), env) libdir = env.LIBDIR libs = self._self_libs(env, name, '${libdir}') for dep in use: @@ -385,7 +386,8 @@ cflags = cflags + self._cflags(dep) + self._cxxflags(dep) + \ self._defines(dep) + self._includes(dep) if dep.startswith('ns3-'): - requires.append("lib"+dep) + dep_name = dep[4:] + requires.append("libns%s-%s-%s" % (wutils.VERSION, dep_name, env['BUILD_PROFILE'])) print >> outfile, """\ prefix=%s libdir=%s @@ -411,7 +413,7 @@ @TaskGen.feature('ns3pcfile') @TaskGen.after_method('process_rule') def apply(self): - output_filename = 'lib%s.pc' % self.module.name + output_filename = 'lib%s.pc' % os.path.basename(self.module.target) output_node = self.path.find_or_declare(output_filename) assert output_node is not None, str(self) task = self.create_task('ns3pcfile') @@ -630,7 +632,7 @@ task.mode = getattr(self, "mode", "install") if task.mode == 'install': assert module_obj is not None, self.module - self.bld.install_files('${PREFIX}/include/ns3', + self.bld.install_files('${INCLUDEDIR}/ns-%s/ns3' % (wutils.VERSION,), ns3_dir_node.find_or_declare("%s-module.h" % self.module)) task.set_inputs(all_headers_inputs) task.set_outputs(all_headers_outputs) diff -r 5a9a0a21b553 wscript --- a/wscript Sun Jan 08 16:52:18 2012 +0000 +++ b/wscript Sun Jan 08 17:19:30 2012 +0000 @@ -320,6 +320,8 @@ env.append_value('DEFINES', 'NS3_LOG_ENABLE') env['PLATFORM'] = sys.platform + env['BUILD_PROFILE'] = Options.options.build_profile + env['NS3_BINARY_PREFIX'] = "ns%s-%s-" % (wutils.VERSION, Options.options.build_profile) if conf.env['CXX_NAME'] in ['gcc', 'icc']: if Options.options.build_profile == 'release': @@ -570,7 +572,7 @@ program.is_ns3_program = True program.module_deps = list() program.name = name - program.target = name + program.target = bld.env.NS3_BINARY_PREFIX + name if bld.env['ENABLE_SUDO']: program.create_task("SuidBuild") @@ -584,7 +586,7 @@ program.is_ns3_program = True program.name = name - program.target = program.name + program.target = bld.env.NS3_BINARY_PREFIX + program.name # Each of the modules this program depends on has its own library. program.ns3_module_dependencies = ['ns3-'+dep for dep in dependencies] program.includes = "# #/.." @@ -628,6 +630,7 @@ obj.find_sources_in_dirs('.') obj.target = filename obj.name = obj.target + obj.install_path = None elif filename.endswith(".cc"): name = filename[:-len(".cc")] obj = bld.create_ns3_program(name, all_modules) @@ -635,6 +638,7 @@ obj.source = filename obj.target = name obj.name = obj.target + obj.install_path = None def _get_all_task_gen(self):