Lines Matching refs:self

51     def initialize_options(self):
52 self.compiler = None
53 self.cc = None
54 self.include_dirs = None
55 self.libraries = None
56 self.library_dirs = None
59 self.noisy = 1
60 self.dump_source = 1
64 self.temp_files = []
66 def finalize_options(self):
67 if self.include_dirs is None:
68 self.include_dirs = self.distribution.include_dirs or []
69 elif isinstance(self.include_dirs, str):
70 self.include_dirs = self.include_dirs.split(os.pathsep)
72 if self.libraries is None:
73 self.libraries = []
74 elif isinstance(self.libraries, str):
75 self.libraries = [self.libraries]
77 if self.library_dirs is None:
78 self.library_dirs = []
79 elif isinstance(self.library_dirs, str):
80 self.library_dirs = self.library_dirs.split(os.pathsep)
82 def run(self):
89 def _check_compiler(self):
90 """Check that 'self.compiler' really is a CCompiler object;
96 if not isinstance(self.compiler, CCompiler):
97 self.compiler = new_compiler(compiler=self.compiler,
98 dry_run=self.dry_run, force=1)
99 customize_compiler(self.compiler)
100 if self.include_dirs:
101 self.compiler.set_include_dirs(self.include_dirs)
102 if self.libraries:
103 self.compiler.set_libraries(self.libraries)
104 if self.library_dirs:
105 self.compiler.set_library_dirs(self.library_dirs)
107 def _gen_temp_sourcefile(self, body, headers, lang):
119 def _preprocess(self, body, headers, include_dirs, lang):
120 src = self._gen_temp_sourcefile(body, headers, lang)
122 self.temp_files.extend([src, out])
123 self.compiler.preprocess(src, out, include_dirs=include_dirs)
126 def _compile(self, body, headers, include_dirs, lang):
127 src = self._gen_temp_sourcefile(body, headers, lang)
128 if self.dump_source:
130 (obj,) = self.compiler.object_filenames([src])
131 self.temp_files.extend([src, obj])
132 self.compiler.compile([src], include_dirs=include_dirs)
135 def _link(self, body, headers, include_dirs, libraries, library_dirs,
137 (src, obj) = self._compile(body, headers, include_dirs, lang)
139 self.compiler.link_executable([obj], prog,
144 if self.compiler.exe_extension is not None:
145 prog = prog + self.compiler.exe_extension
146 self.temp_files.append(prog)
150 def _clean(self, *filenames):
152 filenames = self.temp_files
153 self.temp_files = []
172 def try_cpp(self, body=None, headers=None, include_dirs=None, lang="c"):
180 self._check_compiler()
183 self._preprocess(body, headers, include_dirs, lang)
187 self._clean()
190 def search_cpp(self, pattern, body=None, headers=None, include_dirs=None,
199 self._check_compiler()
200 src, out = self._preprocess(body, headers, include_dirs, lang)
215 self._clean()
218 def try_compile(self, body, headers=None, include_dirs=None, lang="c"):
223 self._check_compiler()
225 self._compile(body, headers, include_dirs, lang)
231 self._clean()
234 def try_link(self, body, headers=None, include_dirs=None, libraries=None,
241 self._check_compiler()
243 self._link(body, headers, include_dirs,
250 self._clean()
253 def try_run(self, body, headers=None, include_dirs=None, libraries=None,
260 self._check_compiler()
262 src, obj, exe = self._link(body, headers, include_dirs,
264 self.spawn([exe])
270 self._clean()
278 def check_func(self, func, headers=None, include_dirs=None,
293 self._check_compiler()
305 return self.try_link(body, headers, include_dirs,
308 def check_lib(self, library, library_dirs=None, headers=None,
318 self._check_compiler()
319 return self.try_link("int main (void) { }", headers, include_dirs,
322 def check_header(self, header, include_dirs=None, library_dirs=None,
328 return self.try_cpp(body="/* No body */", headers=[header],