X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fenvironment.py;h=8da1705504bb0f7cc5ee867891c2a4e1370b236a;hb=c076d3c094c90d169c67176998ffc0191b43aa78;hp=c8585e2d54436cade95811c2f8c1a8e9fa2045ae;hpb=ef425b895da95403a2e52409d409c890e0876d08;p=tools%2Fsat.git diff --git a/src/environment.py b/src/environment.py index c8585e2..8da1705 100644 --- a/src/environment.py +++ b/src/environment.py @@ -229,12 +229,12 @@ class SalomeEnviron: return "%s(\n%s\n)" % (self.__class__.__name__, PP.pformat(res)) def __set_sorted_products_list(self): - from compile import get_dependencies_graph, depth_first_topo_graph all_products_infos = src.product.get_products_infos( self.cfg.APPLICATION.products, self.cfg) - all_products_graph=get_dependencies_graph(all_products_infos) + from compile import get_dependencies_graph,depth_first_topo_graph + all_products_graph=get_dependencies_graph(all_products_infos, self.forBuild) visited_nodes=[] sorted_nodes=[] for n in all_products_graph: @@ -245,6 +245,7 @@ class SalomeEnviron: visited_nodes, sorted_nodes) self.sorted_product_list=sorted_nodes + self.all_products_graph=all_products_graph def append(self, key, value, sep=os.pathsep): @@ -388,14 +389,6 @@ class SalomeEnviron: else: self.cfg.APPLICATION.environ.PRODUCT_ROOT_DIR = src.pyconf.Reference(self.cfg, src.pyconf.DOLLAR, "workdir") - # these sensitive variables are reset to avoid bad environment interactions - 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") - if not src.architecture.is_windows(): - self.set("LD_LIBRARY_PATH", "") - self.set("PYTHONPATH", "") - self.add_line(1) # Set the variables defined in the "environ" section if 'environ' in self.cfg.APPLICATION: @@ -646,6 +639,12 @@ class SalomeEnviron: logger.write("licence file found for product %s : %s\n" % (pi.name, licence_file_name), 5) self.set("LICENCE_FILE", licence_file_name) + # these infos may be needed for the environment of some products + if "debug" in pi and pi.debug == "yes": + self.set("SAT_DEBUG", "1") + if "verbose" in pi and pi.verbose == "yes": + self.set("SAT_VERBOSE", "1") + if src.product.product_is_cpp(pi): # set a specific environment for cpp modules self.set_salome_minimal_product_env(pi, logger) @@ -762,7 +761,7 @@ class SalomeEnviron: def set_full_environ(self, logger, env_info): """\ - Sets the full environment for products + Sets the full environment for products, with their dependencies specified in env_info dictionary. :param logger Logger: The logger instance to display messages @@ -775,9 +774,13 @@ class SalomeEnviron: # use the sorted list of all products to sort the list of products # we have to set + visited=[] + from compile import depth_search_graph # to get the dependencies + for p_name in env_info: + visited=depth_search_graph(self.all_products_graph, p_name, visited) sorted_product_list=[] for n in self.sorted_product_list: - if n in env_info: + if n in visited: sorted_product_list.append(n) if "Python" in sorted_product_list: @@ -916,6 +919,7 @@ class FileEnvWriter: :return: The path to the generated file :rtype: str """ + additional_env["sat_dist"]=self.config.VARS.dist if not self.silent: self.logger.write(_("Create environment file %s\n") % src.printcolors.printcLabel(filename), 3)