aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--setup.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/setup.py b/setup.py
index 58bb84b36..8eb2027b6 100644
--- a/setup.py
+++ b/setup.py
@@ -268,6 +268,7 @@ try:
this_file = __file__
except NameError:
this_file = sys.argv[0]
+this_file_original = this_file
this_file = os.path.abspath(this_file)
if os.path.dirname(this_file):
os.chdir(os.path.dirname(this_file))
@@ -276,6 +277,12 @@ if os.path.dirname(this_file):
# mechanism.
original_argv = list(sys.argv)
+# If setup.py was invoked via -c "some code" or -m some_command, make sure
+# to replace the first argv to be the script name, so that sub-invocations
+# continue to work.
+if original_argv and original_argv[0] in ['-c', '-m']:
+ original_argv[0] = this_file_original
+
from build_scripts.main import get_package_version, check_allowed_python_version
from build_scripts.setup_runner import SetupRunner