Revision: 998
http://svn.sourceforge.net/pygccxml/?rev=998&view=rev
Author: roman_yakovenko
Date: 2007-04-17 23:22:31 -0700 (Tue, 17 Apr 2007)
Log Message:
-----------
adding handling user defined header files to "multiple files writer"
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/file_writers/multiple_files.py
pyplusplus_dev/pyplusplus/file_writers/single_file.py
pyplusplus_dev/pyplusplus/file_writers/writer.py
Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2007-04-17 21:07:13 UTC (rev 997)
+++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2007-04-18 06:22:31 UTC (rev 998)
@@ -164,7 +164,10 @@
answer.append( include_cc.create() )
else:# user header file - always include
answer.append( include_cc.create() )
-
+
+ map( lambda user_header: answer.append( '#include "%s"' % user_header )
+ , self.get_user_headers( creators ) )
+
for creator in creators:
header = self.find_out_value_traits_header( creator )
if header:
Modified: pyplusplus_dev/pyplusplus/file_writers/single_file.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/single_file.py 2007-04-17 21:07:13 UTC (rev 997)
+++ pyplusplus_dev/pyplusplus/file_writers/single_file.py 2007-04-18 06:22:31 UTC (rev 998)
@@ -7,7 +7,6 @@
import os
import writer
-from pyplusplus import code_creators
class single_file_t(writer.writer_t):
"""generates all code into single cpp file"""
@@ -21,14 +20,9 @@
file_name = property( _get_file_name )
def write(self):
- user_headers = []
- creators = filter( lambda creator: isinstance( creator, code_creators.declaration_based_t )
- , code_creators.make_flatten( self.extmodule ) )
- map( lambda creator: user_headers.extend( creator.get_user_headers() )
- , creators )
- user_headers = code_creators.code_creator_t.unique_headers( user_headers )
+ headers = self.get_user_headers( [self.extmodule] )
map( lambda header: self.extmodule.add_include( header )
- , user_headers )
+ , headers )
self.write_code_repository( os.path.split( self.file_name )[0] )
self.write_file( self.file_name, self.extmodule.create() )
-
\ No newline at end of file
+
Modified: pyplusplus_dev/pyplusplus/file_writers/writer.py
===================================================================
--- pyplusplus_dev/pyplusplus/file_writers/writer.py 2007-04-17 21:07:13 UTC (rev 997)
+++ pyplusplus_dev/pyplusplus/file_writers/writer.py 2007-04-18 06:22:31 UTC (rev 998)
@@ -8,6 +8,7 @@
import os
import time
from pyplusplus import _logging_
+from pyplusplus import code_creators
from pyplusplus import code_repository
class writer_t(object):
@@ -98,4 +99,11 @@
f.write( fcontent_new )
f.close()
writer_t.logger.info( 'file "%s" - updated( %f seconds )' % ( fname, time.clock() - start_time ) )
-
+
+ def get_user_headers( self, creators ):
+ headers = []
+ creators = filter( lambda creator: isinstance( creator, code_creators.declaration_based_t )
+ , creators )
+ map( lambda creator: headers.extend( creator.get_user_headers() )
+ , creators )
+ return code_creators.code_creator_t.unique_headers( headers )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|