1import config.base 2 3class Configure(config.base.Configure): 4 def __init__(self, framework): 5 config.base.Configure.__init__(self, framework) 6 7 def setupDependencies(self, framework): 8 config.base.Configure.setupDependencies(self, framework) 9 self.compilers = framework.require('config.compilers', self) 10 self.functions = framework.require('config.functions', self) 11 self.headers = framework.require('config.headers', self) 12 13 def configureFeatureTestMacros(self): 14 '''Checks if certain feature test macros are support''' 15 if self.checkCompile('#define _POSIX_C_SOURCE 200112L\n#include <sysctl.h>',''): 16 self.addDefine('_POSIX_C_SOURCE_200112L', '1') 17 if self.checkCompile('#define _BSD_SOURCE\n#include<stdlib.h>',''): 18 self.addDefine('_BSD_SOURCE', '1') 19 if self.checkCompile('#define _DEFAULT_SOURCE\n#include<stdlib.h>',''): 20 self.addDefine('_DEFAULT_SOURCE', '1') 21 if self.checkCompile('#define _GNU_SOURCE\n#include <sched.h>','cpu_set_t mset;\nCPU_ZERO(&mset)'): 22 self.addDefine('_GNU_SOURCE', '1') 23 if self.checkCompile('#define _GNU_SOURCE\n#include <stdlib.h>\n#include <dlfcn.h>','Dl_info info;\nif (dladdr(*(void **)&exit, &info) == 0) return 1;\n'): 24 self.addDefine('_GNU_SOURCE', '1') 25 26 def configure(self): 27 self.executeTest(self.configureFeatureTestMacros) 28