111986Sandreas.sandberg@arm.comfrom ._version import version_info, __version__  # noqa: F401 imported but unused
211986Sandreas.sandberg@arm.com
311986Sandreas.sandberg@arm.com
414299Sbbruce@ucdavis.edudef get_include(user=False):
514299Sbbruce@ucdavis.edu    from distutils.dist import Distribution
611986Sandreas.sandberg@arm.com    import os
714299Sbbruce@ucdavis.edu    import sys
814299Sbbruce@ucdavis.edu
914299Sbbruce@ucdavis.edu    # Are we running in a virtual environment?
1014299Sbbruce@ucdavis.edu    virtualenv = hasattr(sys, 'real_prefix') or \
1114299Sbbruce@ucdavis.edu        sys.prefix != getattr(sys, "base_prefix", sys.prefix)
1214299Sbbruce@ucdavis.edu
1314299Sbbruce@ucdavis.edu    # Are we running in a conda environment?
1414299Sbbruce@ucdavis.edu    conda = os.path.exists(os.path.join(sys.prefix, 'conda-meta'))
1514299Sbbruce@ucdavis.edu
1614299Sbbruce@ucdavis.edu    if virtualenv:
1714299Sbbruce@ucdavis.edu        return os.path.join(sys.prefix, 'include', 'site',
1814299Sbbruce@ucdavis.edu                            'python' + sys.version[:3])
1914299Sbbruce@ucdavis.edu    elif conda:
2014299Sbbruce@ucdavis.edu        if os.name == 'nt':
2114299Sbbruce@ucdavis.edu            return os.path.join(sys.prefix, 'Library', 'include')
2214299Sbbruce@ucdavis.edu        else:
2314299Sbbruce@ucdavis.edu            return os.path.join(sys.prefix, 'include')
2414299Sbbruce@ucdavis.edu    else:
2514299Sbbruce@ucdavis.edu        dist = Distribution({'name': 'pybind11'})
2614299Sbbruce@ucdavis.edu        dist.parse_config_files()
2714299Sbbruce@ucdavis.edu
2814299Sbbruce@ucdavis.edu        dist_cobj = dist.get_command_obj('install', create=True)
2914299Sbbruce@ucdavis.edu
3014299Sbbruce@ucdavis.edu        # Search for packages in user's home directory?
3114299Sbbruce@ucdavis.edu        if user:
3214299Sbbruce@ucdavis.edu            dist_cobj.user = user
3314299Sbbruce@ucdavis.edu            dist_cobj.prefix = ""
3414299Sbbruce@ucdavis.edu        dist_cobj.finalize_options()
3514299Sbbruce@ucdavis.edu
3614299Sbbruce@ucdavis.edu        return os.path.dirname(dist_cobj.install_headers)
37