parameters: (self)
docstring: See :py:func:`waflib.Context.Context.execute`
docstring_summary: See :py:func:`waflib.Context.Context.execute`
docstring_tokens: See : py : func : waflib . Context . Context . execute
function: def execute(self):
  		"""
  		See :py:func:`waflib.Context.Context.execute`
  		"""
  		self.init_dirs()
  
  		self.cachedir = self.bldnode.make_node(Build.CACHE_DIR)
  		self.cachedir.mkdir()
  
  		path = os.path.join(self.bldnode.abspath(), WAF_CONFIG_LOG)
  		self.logger = Logs.make_logger(path, 'cfg')
  
  		app = getattr(Context.g_module, 'APPNAME', '')
  		if app:
  			ver = getattr(Context.g_module, 'VERSION', '')
  			if ver:
  				app = "%s (%s)" % (app, ver)
  
  		params = {'now': time.ctime(), 'pyver': sys.hexversion, 'systype': sys.platform, 'args': " ".join(sys.argv), 'wafver': Context.WAFVERSION, 'abi': Context.ABI, 'app': app}
  		self.to_log(conf_template % params)
  		self.msg('Setting top to', self.srcnode.abspath())
  		self.msg('Setting out to', self.bldnode.abspath())
  
  		if id(self.srcnode) == id(self.bldnode):
  			Logs.warn('Setting top == out')
  		elif id(self.path) != id(self.srcnode):
  			if self.srcnode.is_child_of(self.path):
  				Logs.warn('Are you certain that you do not want to set top="." ?')
  
  		super(ConfigurationContext, self).execute()
  
  		self.store()
  
  		Context.top_dir = self.srcnode.abspath()
  		Context.out_dir = self.bldnode.abspath()
  
  		# this will write a configure lock so that subsequent builds will
  		# consider the current path as the root directory (see prepare_impl).
  		# to remove: use 'waf distclean'
  		env = ConfigSet.ConfigSet()
  		env.argv = sys.argv
  		env.options = Options.options.__dict__
  		env.config_cmd = self.cmd
  
  		env.run_dir = Context.run_dir
  		env.top_dir = Context.top_dir
  		env.out_dir = Context.out_dir
  
  		# conf.hash & conf.files hold wscript files paths and hash
  		# (used only by Configure.autoconfig)
  		env.hash = self.hash
  		env.files = self.files
  		env.environ = dict(self.environ)
  		env.launch_dir = Context.launch_dir
  
  		if not (self.env.NO_LOCK_IN_RUN or env.environ.get('NO_LOCK_IN_RUN') or getattr(Options.options, 'no_lock_in_run')):
  			env.store(os.path.join(Context.run_dir, Options.lockfile))
  		if not (self.env.NO_LOCK_IN_TOP or env.environ.get('NO_LOCK_IN_TOP') or getattr(Options.options, 'no_lock_in_top')):
  			env.store(os.path.join(Context.top_dir, Options.lockfile))
  		if not (self.env.NO_LOCK_IN_OUT or env.environ.get('NO_LOCK_IN_OUT') or getattr(Options.options, 'no_lock_in_out')):
  			env.store(os.path.join(Context.out_dir, Options.lockfile))
function_tokens: def execute ( self ) : self . init_dirs ( ) self . cachedir = self . bldnode . make_node ( Build . CACHE_DIR ) self . cachedir . mkdir ( ) path = os . path . join ( self . bldnode . abspath ( ) , WAF_CONFIG_LOG ) self . logger = Logs . make_logger ( path , 'cfg' ) app = getattr ( Context . g_module , 'APPNAME' , '' ) if app : ver = getattr ( Context . g_module , 'VERSION' , '' ) if ver : app = "%s (%s)" % ( app , ver ) params = { 'now' : time . ctime ( ) , 'pyver' : sys . hexversion , 'systype' : sys . platform , 'args' : " " . join ( sys . argv ) , 'wafver' : Context . WAFVERSION , 'abi' : Context . ABI , 'app' : app } self . to_log ( conf_template % params ) self . msg ( 'Setting top to' , self . srcnode . abspath ( ) ) self . msg ( 'Setting out to' , self . bldnode . abspath ( ) ) if id ( self . srcnode ) == id ( self . bldnode ) : Logs . warn ( 'Setting top == out' ) elif id ( self . path ) != id ( self . srcnode ) : if self . srcnode . is_child_of ( self . path ) : Logs . warn ( 'Are you certain that you do not want to set top="." ?' ) super ( ConfigurationContext , self ) . execute ( ) self . store ( ) Context . top_dir = self . srcnode . abspath ( ) Context . out_dir = self . bldnode . abspath ( ) # this will write a configure lock so that subsequent builds will # consider the current path as the root directory (see prepare_impl). # to remove: use 'waf distclean' env = ConfigSet . ConfigSet ( ) env . argv = sys . argv env . options = Options . options . __dict__ env . config_cmd = self . cmd env . run_dir = Context . run_dir env . top_dir = Context . top_dir env . out_dir = Context . out_dir # conf.hash & conf.files hold wscript files paths and hash # (used only by Configure.autoconfig) env . hash = self . hash env . files = self . files env . environ = dict ( self . environ ) env . launch_dir = Context . launch_dir if not ( self . env . NO_LOCK_IN_RUN or env . environ . get ( 'NO_LOCK_IN_RUN' ) or getattr ( Options . options , 'no_lock_in_run' ) ) : env . store ( os . path . join ( Context . run_dir , Options . lockfile ) ) if not ( self . env . NO_LOCK_IN_TOP or env . environ . get ( 'NO_LOCK_IN_TOP' ) or getattr ( Options . options , 'no_lock_in_top' ) ) : env . store ( os . path . join ( Context . top_dir , Options . lockfile ) ) if not ( self . env . NO_LOCK_IN_OUT or env . environ . get ( 'NO_LOCK_IN_OUT' ) or getattr ( Options . options , 'no_lock_in_out' ) ) : env . store ( os . path . join ( Context . out_dir , Options . lockfile ) )