summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-06-06 21:45:07 +0200
committerDavid Robillard <d@drobilla.net>2019-06-06 21:45:32 +0200
commit384566135906ea6cbdc03cef0e76f6ed11e208fd (patch)
tree4af7c0e5eeda62e64db8af79703ac6a543917e63
parent2314e236ca6e7d94a26c3c17091da0f25f5867f3 (diff)
downloadautowaf-384566135906ea6cbdc03cef0e76f6ed11e208fd.tar.gz
autowaf-384566135906ea6cbdc03cef0e76f6ed11e208fd.tar.bz2
autowaf-384566135906ea6cbdc03cef0e76f6ed11e208fd.zip
Print friendly error message when waflib submodule is missing
-rwxr-xr-xwaf15
1 files changed, 13 insertions, 2 deletions
diff --git a/waf b/waf
index e22930a..887215c 100755
--- a/waf
+++ b/waf
@@ -2,15 +2,26 @@
# Minimal waf script for projects that include waflib directly
-from waflib import Context, Scripting
-
+import sys
import inspect
import os
+try:
+ from waflib import Context, Scripting
+except Exception as e:
+ sys.stderr.write('error: Failed to import waf (%s)\n' % e)
+ if os.path.exists('.git'):
+ sys.stderr.write("Are submodules up to date? "
+ "Try 'git submodule update --init --recursive'\n")
+
+ sys.exit(1)
+
+
def main():
script_path = os.path.abspath(inspect.getfile(inspect.getmodule(main)))
project_path = os.path.dirname(script_path)
Scripting.waf_entry_point(os.getcwd(), Context.WAFVERSION, project_path)
+
if __name__ == '__main__':
main()