:return: the replaced variable
:rtype: str
"""
- if "$" in value:
+ if src.architecture.is_windows():
+ delim = "%"
+ else:
+ delim = "$"
+ if delim in value:
# The string.Template class is a string class
# for supporting $-substitutions
zt = string.Template(value)
+ zt.delimiter = delim
try:
value = zt.substitute(self.environ)
except KeyError as exc:
"""
if self.for_package:
- self.set("PRODUCT_ROOT_DIR", "out_dir_Path")
+ if src.architecture.is_windows():
+ self.set("PRODUCT_ROOT_DIR", "%out_dir_Path%")
+ else:
+ self.set("PRODUCT_ROOT_DIR", "out_dir_Path")
+
else:
self.cfg.APPLICATION.environ.PRODUCT_ROOT_DIR = src.pyconf.Reference(self.cfg, src.pyconf.DOLLAR, "workdir")
self.add_line(1)
self.add_comment("reset these sensitive variables to avoid bad environment interactions")
self.add_comment("comment these to lines if you wish a different behaviour")
- self.set("LD_LIBRARY_PATH", "")
+ if not src.architecture.is_windows():
+ self.set("LD_LIBRARY_PATH", "")
self.set("PYTHONPATH", "")
self.add_line(1)
# Construct XXX_ROOT_DIR
env_root_dir = self.get(pi.name + "_ROOT_DIR")
l_binpath_libpath = []
-
# create additional ROOT_DIR for CPP components
if 'component_name' in pi:
compo_name = pi.component_name
# Get the informations corresponding to the product
pi = src.product.get_product_config(self.cfg, product)
-
# skip compile time products at run time
if not self.forBuild:
if src.product.product_is_compile_time(pi):
"""
DBG.write("set_full_environ for", env_info)
# DBG.write("set_full_environ config", self.cfg.APPLICATION.environ, True)
-
# set product environ
self.set_application_env(logger)
# use the sorted list of all products to sort the list of products
# we have to set
sorted_product_list=[]
- for n in self.sorted_nodes:
+ for n in self.sorted_product_list:
if n in env_info:
sorted_product_list.append(n)
if not self.silent:
self.logger.write(_("Create environment file %s\n") %
src.printcolors.printcLabel(filename), 3)
-
# create then env object
env_file = open(os.path.join(self.out_dir, filename), "w")
else:
# set env from the APPLICATION
env.set_application_env(self.logger)
-
# set the products
env.set_products(self.logger,
src_root=self.src_root)
-
# Add the additional environment if it is not empty
if len(additional_env) != 0:
env.add_line(1)