Function stubs for CCompiler class?
It appears that in addition to the "worker" functions like compile(), link_shared_object(), etc. there are four functions which *must* be implemented by subclasses of CCompiler: library_dir_option() runtime_library_dir_option() library_option() find_library_file() I submit the following patch (against the current CVS version of ccompiler.py) to make future compiler implementors aware of this requirement. Lyle Index: distutils/ccompiler.py =================================================================== RCS file: /projects/cvsroot/distutils/distutils/ccompiler.py,v retrieving revision 1.17 diff -a -u -r1.17 ccompiler.py --- ccompiler.py 2000/03/26 21:37:09 1.17 +++ ccompiler.py 2000/05/11 20:59:16 @@ -566,7 +566,38 @@ pass + # -- Miscellaneous methods ----------------------------------------- + # These are all used by the 'gen_lib_options() function; there is + # no appropriate default implementation so subclasses should + # implement all of these. + + + def library_dir_option (self, dir): + """Return the compiler option to add 'dir' to the list of directories + searched for libraries.""" + raise NotImplementedError + + + def runtime_library_dir_option (self, dir): + """Return the compiler option to add 'dir' to the list of directories + searched for runtime libraries.""" + raise NotImplementedError + + + def library_option (self, lib): + """Return the compiler option to add 'dir' to the list of libraries + linked into the shared library or executable.""" + raise NotImplementedError + + + def find_library_file (self, dirs, lib): + """Search the specified list of directories for a static or shared + library file 'lib' and return the full path to that file. Return + None if it wasn't found in any of the specified directories.""" + raise NotImplementedError + + # -- Filename generation methods ----------------------------------- # The default implementation of the filename generating methods are
On 11 May 2000, Lyle Johnson said:
It appears that in addition to the "worker" functions like compile(), link_shared_object(), etc. there are four functions which *must* be implemented by subclasses of CCompiler:
library_dir_option() runtime_library_dir_option() library_option() find_library_file()
I submit the following patch (against the current CVS version of ccompiler.py) to make future compiler implementors aware of this requirement.
Thanks -- just checked it in. Greg -- Greg Ward - programmer-at-large gward@python.net http://starship.python.net/~gward/ I haven't lost my mind; I know exactly where I left it.
participants (2)
-
Greg Ward
-
Lyle Johnson