def METHOD_NAME(parent_package='', top_path=None):
    config = Configuration('ext', parent_package, top_path)
    ext_modules = [
        create_extension_config('histogram', can_use_openmp=True),
        create_extension_config("_geometry", can_use_openmp=True),
        create_extension_config("reconstruct", can_use_openmp=True),
        create_extension_config("splitBBox_common", language='c++'),
        create_extension_config("splitpixel_common", language='c++'),
        create_extension_config('splitBBox'),
        create_extension_config('splitPixel'),
        create_extension_config('splitBBoxCSR', can_use_openmp=True, language='c++'),
        create_extension_config('splitPixelFullCSR', can_use_openmp=True, language='c++'),
        create_extension_config('splitBBoxLUT', can_use_openmp=True, language='c++'),
        create_extension_config('splitPixelFullLUT', can_use_openmp=True, language='c++'),
        create_extension_config('splitBBoxCSC', can_use_openmp=False, language='c++'),
        create_extension_config('splitPixelFullCSC', can_use_openmp=False, language='c++'),
        create_extension_config('relabel'),
        create_extension_config("bilinear", can_use_openmp=True),
        create_extension_config('_bispev', can_use_openmp=True),
        create_extension_config('_convolution', can_use_openmp=True),
        create_extension_config('_blob'),
        create_extension_config('morphology'),
        create_extension_config('watershed'),
        create_extension_config('_tree'),
        create_extension_config('sparse_utils'),
        create_extension_config('preproc'),
        create_extension_config('inpainting'),
        create_extension_config('invert_geometry'),
        create_extension_config('dynamic_rectangle'),
        create_extension_config('sparse_builder', can_use_openmp=True, language='c++'),
        create_extension_config('_distortion', can_use_openmp=True, language='c++'),
    ]
    if (os.name == "posix") and ("x86" in platform.machine()):
        extra_sources = [os.path.join("src", "crc32.c")]
        ext_config = create_extension_config('fastcrc', extra_sources=extra_sources)
        ext_modules.append(ext_config)
    for ext_config in ext_modules:
        config.add_extension(**ext_config)
    return config