From 6b442ff9e1f9b87e01dc016ac6c25b6520f9685b Mon Sep 17 00:00:00 2001 From: Ivan Smirnov Date: Fri, 23 Jun 2017 18:40:43 +0200 Subject: [PATCH] `python -m pybind11 --includes` prints include paths --- pybind11/__main__.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 pybind11/__main__.py diff --git a/pybind11/__main__.py b/pybind11/__main__.py new file mode 100644 index 00000000..c3832d7c --- /dev/null +++ b/pybind11/__main__.py @@ -0,0 +1,31 @@ +from __future__ import print_function + +import argparse +import sys +import sysconfig + +from . import get_include + + +def print_includes(): + dirs = [sysconfig.get_path('include')] + if sysconfig.get_path('platinclude') not in dirs: + dirs.append(sysconfig.get_path('platinclude')) + if get_include() not in dirs: + dirs.append(get_include()) + print(' '.join('-I' + d for d in dirs)) + + +def main(): + parser = argparse.ArgumentParser(prog='python -m pybind11') + parser.add_argument('--includes', action='store_true', + help='Include flags for both pybind11 and Python headers.') + args = parser.parse_args() + if not sys.argv[1:]: + parser.print_help() + if args.includes: + print_includes() + + +if __name__ == '__main__': + main()