import distutils.command.config from distutils.errors import * from distutils.sysconfig import customize_compiler from distutils.ccompiler import CompileError from util import * glu_body = ''' #ifdef _WIN32 #include #endif #ifdef __APPLE_CC__ #include #include #else #include #include #endif #ifdef GLU_VERSION_1_2 GLUnurbs *x; GLUtesselator *y; GLUquadric *z; #endif ''' texture_object_body = ''' #ifdef _WIN32 #include #endif #ifdef __APPLE_CC__ #include #else #include #endif #ifndef GL_EXT_texture_object void glAreTexturesResidentEXT (GLsizei n, const GLuint *textures, GLboolean *residences) { } #endif ''' class config(distutils.command.config.config): def run(self): self.output_dir = "" # Try by Jack self._check_compiler() customize_compiler(self.compiler) if not self.try_compile(glu_body): self.distribution.define_macros.append(('BAD_GLU_HEADER', None)) if not self.try_compile(texture_object_body): self.distribution.define_macros.append(('GL_EXT_texture_object', 1)) def try_compile (self, body, headers=None, include_dirs=None, lang="c"): """Try to compile a source file built from 'body' and 'headers'. Return true on success, false otherwise. """ try: self._compile(body, headers, include_dirs, lang) ok = 1 except CompileError: ok = 0 return ok