"""Setup sources for cython."""

# from distutils.core import setup
# from distutils.extension import Extension
import numpy
from Cython.Build import cythonize
from setuptools import Extension, find_packages, setup

sourcefiles = [
    "mvcm/ancillary.pyx",
    "mvcm/c_tools/get_Reynolds_SST.c",
    "mvcm/c_tools/bilinearInterpSST.c",
    "mvcm/c_tools/swap_bytes.c",
    "mvcm/c_tools/get_NDVI_background.c",
    "mvcm/c_tools/get_Olson_eco.c",
    "mvcm/c_tools/getcoord.c",
    "mvcm/c_tools/get_GEOS.c",
    "mvcm/c_tools/get_geos_times.c",
    "mvcm/c_tools/get_granule_times.c",
    "mvcm/c_tools/get_ti_vars.c",
    "mvcm/c_tools/get_ti_weights.c",
    "mvcm/c_tools/read_GEOS.c",
    "mvcm/c_tools/read_GEOS_constants.c",
    "mvcm/c_tools/read_GEOS_lndocn.c",
    "mvcm/c_tools/assign_geos_vals.c",
    "mvcm/c_tools/cithr.c",
    "mvcm/c_tools/check_reg_uniformity.c",
    "mvcm/c_tools/get_b1_thresholds.c",
    "mvcm/c_tools/conf_test.c",
    "mvcm/c_tools/snow_mask.c",
]

include_dirs = [
    "mvcm/c_tools/include",
    "/opt/hdf4/nocdf-4.2.14-gcc-8.3/include",
    "/opt/hdfeos2/2.20-gcc-8.3/include",
    "/opt/netcdf4/4.7.0-gcc-8.3/include",
    "/usr/include/hdf",
    "/usr/local/include",
    numpy.get_include(),
]

library_dirs = [
    "/opt/hdf4/4.2.14-gcc-8.3/lib",
    "/opt/hdfeos2/2.20-gcc-8.3/lib",
    "/opt/netcdf4/4.7.0-gcc-8.3/lib",
    "/usr/lib64",
]

extensions = [
    Extension(
        "ancillary_data",
        sourcefiles,
        include_dirs=include_dirs,
        library_dirs=library_dirs,
        libraries=["netcdf", "mfhdf", "df"],
        extra_compile_args=["-fcommon"],
    ),
]

setup(
    packages=find_packages(),
    ext_modules=cythonize(
        extensions,
        compiler_directives={"language_level": "3"},
    ),
)