build: (fixes #309) Narrow inclusion path to build directory
This commit is contained in:
committed by
Tom Henderson
parent
66c10cb70b
commit
b9ebfb426e
@@ -7,7 +7,7 @@ import shutil
|
|||||||
import types
|
import types
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
from waflib import TaskGen, Task, Options, Build, Utils
|
from waflib import TaskGen, Task, Options, Build, Utils, Context
|
||||||
from waflib.Errors import WafError
|
from waflib.Errors import WafError
|
||||||
import wutils
|
import wutils
|
||||||
|
|
||||||
@@ -140,7 +140,8 @@ def create_ns3_module(bld, name, dependencies=(), test=False):
|
|||||||
module.is_ns3_module = True
|
module.is_ns3_module = True
|
||||||
module.ns3_dir_location = bld.path.path_from(bld.srcnode)
|
module.ns3_dir_location = bld.path.path_from(bld.srcnode)
|
||||||
|
|
||||||
module.env.append_value("INCLUDES", '#')
|
builddirname = Context.top_dir + '/build'
|
||||||
|
module.env.append_value("INCLUDES", builddirname)
|
||||||
|
|
||||||
module.pcfilegen = bld(features='ns3pcfile')
|
module.pcfilegen = bld(features='ns3pcfile')
|
||||||
module.pcfilegen.module = module.name
|
module.pcfilegen.module = module.name
|
||||||
@@ -288,7 +289,9 @@ def ns3_python_bindings(bld):
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
pymod.env['DEFINES'] = defines
|
pymod.env['DEFINES'] = defines
|
||||||
pymod.includes = '# bindings'
|
# The following string should lead to includes of
|
||||||
|
# '-I.', '-Isrc/core/bindings' when compiling module_helpers.cc
|
||||||
|
pymod.includes = Context.top_dir + '/build' + ' ' + Context.top_dir + '/build/src/core/bindings'
|
||||||
pymod.install_path = '${PYTHONARCHDIR}/ns'
|
pymod.install_path = '${PYTHONARCHDIR}/ns'
|
||||||
|
|
||||||
# Workaround to a WAF bug, remove this when ns-3 upgrades to WAF > 1.6.10
|
# Workaround to a WAF bug, remove this when ns-3 upgrades to WAF > 1.6.10
|
||||||
@@ -318,4 +321,3 @@ def build(bld):
|
|||||||
for module in all_contrib_modules:
|
for module in all_contrib_modules:
|
||||||
modheader = bld(features='ns3moduleheader')
|
modheader = bld(features='ns3moduleheader')
|
||||||
modheader.module = module.split('/')[-1]
|
modheader.module = module.split('/')[-1]
|
||||||
|
|
||||||
|
|||||||
11
src/wscript
11
src/wscript
@@ -7,7 +7,7 @@ import shutil
|
|||||||
import types
|
import types
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
from waflib import TaskGen, Task, Options, Build, Utils
|
from waflib import TaskGen, Task, Options, Build, Utils, Context
|
||||||
from waflib.Errors import WafError
|
from waflib.Errors import WafError
|
||||||
import wutils
|
import wutils
|
||||||
|
|
||||||
@@ -125,8 +125,9 @@ def create_ns3_module(bld, name, dependencies=(), test=False):
|
|||||||
module.is_ns3_module = True
|
module.is_ns3_module = True
|
||||||
module.ns3_dir_location = bld.path.path_from(bld.srcnode)
|
module.ns3_dir_location = bld.path.path_from(bld.srcnode)
|
||||||
|
|
||||||
module.env.append_value("INCLUDES", '#')
|
builddirname = Context.top_dir + '/build'
|
||||||
|
module.env.append_value("INCLUDES", builddirname)
|
||||||
|
|
||||||
module.pcfilegen = bld(features='ns3pcfile')
|
module.pcfilegen = bld(features='ns3pcfile')
|
||||||
module.pcfilegen.module = module.name
|
module.pcfilegen.module = module.name
|
||||||
|
|
||||||
@@ -287,7 +288,9 @@ def ns3_python_bindings(bld):
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
pymod.env['DEFINES'] = defines
|
pymod.env['DEFINES'] = defines
|
||||||
pymod.includes = '# bindings'
|
# The following string should lead to includes of
|
||||||
|
# '-I.', '-Isrc/core/bindings' when compiling module_helpers.cc
|
||||||
|
pymod.includes = Context.top_dir + '/build' + ' ' + Context.top_dir + '/build/src/core/bindings'
|
||||||
pymod.install_path = '${PYTHONARCHDIR}/ns'
|
pymod.install_path = '${PYTHONARCHDIR}/ns'
|
||||||
|
|
||||||
# Workaround to a WAF bug, remove this when ns-3 upgrades to WAF > 1.6.10
|
# Workaround to a WAF bug, remove this when ns-3 upgrades to WAF > 1.6.10
|
||||||
|
|||||||
2
wscript
2
wscript
@@ -763,7 +763,7 @@ def create_ns3_program(bld, name, dependencies=('core',)):
|
|||||||
program.target = "%s%s-%s%s" % (wutils.APPNAME, wutils.VERSION, name, bld.env.BUILD_SUFFIX)
|
program.target = "%s%s-%s%s" % (wutils.APPNAME, wutils.VERSION, name, bld.env.BUILD_SUFFIX)
|
||||||
# Each of the modules this program depends on has its own library.
|
# Each of the modules this program depends on has its own library.
|
||||||
program.ns3_module_dependencies = ['ns3-'+dep for dep in dependencies]
|
program.ns3_module_dependencies = ['ns3-'+dep for dep in dependencies]
|
||||||
program.includes = "#"
|
program.includes = Context.top_dir + '/build'
|
||||||
#make a copy here to prevent additions to program.use from polluting program.ns3_module_dependencies
|
#make a copy here to prevent additions to program.use from polluting program.ns3_module_dependencies
|
||||||
program.use = program.ns3_module_dependencies.copy()
|
program.use = program.ns3_module_dependencies.copy()
|
||||||
if program.env['ENABLE_STATIC_NS3']:
|
if program.env['ENABLE_STATIC_NS3']:
|
||||||
|
|||||||
Reference in New Issue
Block a user