parameters: (self, defines=True, headers=False, define_prefix='')
return_statement: return "\n".join(lst)
docstring: Creates the contents of a ``config.h`` file from the defines and includes
  	set in conf.env.define_key / conf.env.include_key. No include guards are added.
  
  	A prelude will be added from the variable env.WAF_CONFIG_H_PRELUDE if provided. This
  	can be used to insert complex macros or include guards::
  
  		def configure(conf):
  			conf.env.WAF_CONFIG_H_PRELUDE = '#include <unistd.h>\\n'
  			conf.write_config_header('config.h')
  
  	:param defines: write the defines values
  	:type defines: bool
  	:param headers: write include entries for each element in self.env.INCKEYS
  	:type headers: bool
  	:type define_prefix: string
  	:param define_prefix: prefix all the defines with a particular prefix
  	:return: the contents of a ``config.h`` file
  	:rtype: string
docstring_summary: Creates the contents of a ``config.h`` file from the defines and includes
  	set in conf.env.define_key / conf.env.include_key. No include guards are added.
docstring_tokens: Creates the contents of a config . h file from the defines and includes set in conf . env . define_key / conf . env . include_key . No include guards are added .
function: def get_config_header(self, defines=True, headers=False, define_prefix=''):
  	"""
  	Creates the contents of a ``config.h`` file from the defines and includes
  	set in conf.env.define_key / conf.env.include_key. No include guards are added.
  
  	A prelude will be added from the variable env.WAF_CONFIG_H_PRELUDE if provided. This
  	can be used to insert complex macros or include guards::
  
  		def configure(conf):
  			conf.env.WAF_CONFIG_H_PRELUDE = '#include <unistd.h>\\n'
  			conf.write_config_header('config.h')
  
  	:param defines: write the defines values
  	:type defines: bool
  	:param headers: write include entries for each element in self.env.INCKEYS
  	:type headers: bool
  	:type define_prefix: string
  	:param define_prefix: prefix all the defines with a particular prefix
  	:return: the contents of a ``config.h`` file
  	:rtype: string
  	"""
  	lst = []
  
  	if self.env.WAF_CONFIG_H_PRELUDE:
  		lst.append(self.env.WAF_CONFIG_H_PRELUDE)
  
  	if headers:
  		for x in self.env[INCKEYS]:
  			lst.append('#include <%s>' % x)
  
  	if defines:
  		tbl = {}
  		for k in self.env.DEFINES:
  			a, _, b = k.partition('=')
  			tbl[a] = b
  
  		for k in self.env[DEFKEYS]:
  			caption = self.get_define_comment(k)
  			if caption:
  				caption = ' /* %s */' % caption
  			try:
  				txt = '#define %s%s %s%s' % (define_prefix, k, tbl[k], caption)
  			except KeyError:
  				txt = '/* #undef %s%s */%s' % (define_prefix, k, caption)
  			lst.append(txt)
  	return "\n".join(lst)
function_tokens: def get_config_header ( self , defines = True , headers = False , define_prefix = '' ) : lst = [ ] if self . env . WAF_CONFIG_H_PRELUDE : lst . append ( self . env . WAF_CONFIG_H_PRELUDE ) if headers : for x in self . env [ INCKEYS ] : lst . append ( '#include <%s>' % x ) if defines : tbl = { } for k in self . env . DEFINES : a , _ , b = k . partition ( '=' ) tbl [ a ] = b for k in self . env [ DEFKEYS ] : caption = self . get_define_comment ( k ) if caption : caption = ' /* %s */' % caption try : txt = '#define %s%s %s%s' % ( define_prefix , k , tbl [ k ] , caption ) except KeyError : txt = '/* #undef %s%s */%s' % ( define_prefix , k , caption ) lst . append ( txt ) return "\n" . join ( lst )