#

"""
setup.py: Used for building c2a
"""

import os, sys
from distutils.core import setup, Extension

major_version_num='1'
minor_version_num='0'

def doSetup():
    setupKeywords = {}
    setupKeywords["name"]              = "c2a"
    setupKeywords["version"]           = "%s.%s" % (major_version_num, minor_version_num)
    setupKeywords["author"]            = "Magdalena A. Jonikas"
    setupKeywords["author_email"]      = "jonikas@stanford.edu"
    setupKeywords["license"]           = "Python Software Foundation License (BSD-like)"
    setupKeywords["url"]               = "https://simtk.org/home/c2a"
    setupKeywords["download_url"]      = "https://simtk.org/home/c2a"
    setupKeywords["packages"]          = ["simtk", "simtk.c2a"]
    setupKeywords["data_files"]        = []
    setupKeywords["platforms"]         = ["Linux", "Mac OS X"]
    setupKeywords["description"]       = "Coarse to Atomic"
    setupKeywords["long_description"]  = \
    """C2A (coarse to atomic) is a knowledge- and fragment-based method
for instantiating full atomic detail into coarse grain templates.
Any atom-based coarse-graining scheme (e.g. C3', P, P-C3', P-C2-C3') can be used.
The following are necessary for running C2A:
    1. A coarse-grain template of a molecule
    2. A full atomic reference structure (the ribosomal RNA 1N32.pdb, 
        and subset 1N32-subA.pdb are provided in the examples folder.)
    3. A fragment definition scheme that defines double (generally helical regions) i
        and single (generally non-helical regions) stranded fragments.
"""

    setupKeywords["ext_modules"] = [
                                    Extension(name = "simtk.c2a.rmsd",
                                              sources = ["simtk/c2a/rmsd/rmsd_wrap.c",
                                                         "simtk/c2a/rmsd/rmsd.c"],
                                              include_dirs = ["simtk/utils/rmsd"],
                                              )
                                    ]

    setup(**setupKeywords)
    

if __name__ == '__main__':
    if sys.version_info[:2] < (2, 5):
        sys.stdout.write("ERROR: C2A requires Python 2.5 or better.  Exiting!\n")
        sys.exit(1)
    doSetup()



