- def run(self):
- self.announce( 'Generating code', level=distutils.log.INFO)
- generated_object_files = generate_external(header, output_path, usedouble=self.enable_double)
+ def build_extension(self, extension):
+ if self.enable_double:
+ extension.define_macros += [('HAVE_AUBIO_DOUBLE', 1)]
+ if os.path.isfile('src/aubio.h'):
+ # if aubio headers are found in this directory
+ add_local_aubio_header(extension)
+ # was waf used to build the shared lib?
+ if os.path.isdir(os.path.join('build','src')):
+ # link against build/src/libaubio, built with waf
+ add_local_aubio_lib(extension)
+ else:
+ # add libaubio sources and look for optional deps with pkg-config
+ add_local_aubio_sources(extension, usedouble=self.enable_double)
+ else:
+ # look for aubio headers and lib using pkg-config
+ add_system_aubio(extension)
+ # generate files python/gen/*.c, python/gen/aubio-generated.h
+ extension.sources += generate_external(header, output_path, overwrite = False,
+ usedouble=self.enable_double)
+ return _build_ext.build_extension(self, extension)