From ffa713e3329199989f2c2e69c000efe2dc7a72e8 Mon Sep 17 00:00:00 2001 From: Ilan Schnell Date: Sat, 16 Feb 2013 01:34:51 -0600 Subject: [PATCH] improve error handling --- setup.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 52e176f..6802391 100644 --- a/setup.py +++ b/setup.py @@ -24,17 +24,18 @@ llvm_config = os.environ.get('LLVM_CONFIG_PATH', default_llvm_config) def run_llvm_config(extra_args): args = llvm_config.split() args.extend(extra_args) - p = Popen(args, stdout=PIPE, stderr=PIPE) + try: + p = Popen(args, stdout=PIPE, stderr=PIPE) + except OSError: + sys.exit("Error: could invoke %r\n" + "Try setting LLVM_CONFIG_PATH=/path/to/llvm-config" % args) stdout, stderr = p.communicate() if stderr: - raise Exception("%r:\n%s" % (args, stderr.decode())) + raise Exception("%r stderr is:\n%s" % (args, stderr.decode())) return stdout.decode().strip() llvm_version = run_llvm_config(['--version']) print('LLVM version = %r' % llvm_version) -if not llvm_version: - sys.exit("Error: could invoke llvm-config --version\n" - "Try setting LLVM_CONFIG_PATH=/path/to/llvm-config") def get_libs_and_objs(components): parts = run_llvm_config(['--libs'] + components).split()