Bug 1644887 - `configure` calls into `$PYTHON3` rather than `python3` directly r=glandium
authorRicky Stewart <rstewart@mozilla.com>
Wed, 10 Jun 2020 21:29:27 +0000
changeset 534993 da95a35fb07571d59e9346cab07c4ca8a56c3fde
parent 534992 66c8ca356eda12add3ab014dea4b80cbacb169c4
child 534994 d615591507b969530e5b781f084f390d6e414b08
push id118669
push userrstewart@mozilla.com
push dateWed, 10 Jun 2020 21:30:48 +0000
treeherderautoland@da95a35fb075 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1644887, 1622963
milestone79.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1644887 - `configure` calls into `$PYTHON3` rather than `python3` directly r=glandium Especially after bug 1622963 landed, the system `python3` executable as reported by `which` may not be compatible with the build system (because it might be Python 3.5, for one). You can configure a custom `python3` executable by setting the `PYTHON3` environment variable, but `configure` just calls directly into `python3` regardless of whatever you might have configured `$PYTHON3` to be, so we fix that here. Also remove an explanatory comment that may have made sense 5 years ago but is no longer relevant. Differential Revision: https://phabricator.services.mozilla.com/D79187
configure.in
js/src/configure.in
--- a/configure.in
+++ b/configure.in
@@ -1,25 +1,20 @@
 #!/bin/sh
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
-# Welcome to the new world of configure. We're working on moving to a
-# python based configure. In the meanwhile, remains of the old autoconf
-# based configure is in old-configure.in.
-# If you need to add something, please come talk to the build system
-# peers for now.
-#
 # Because adding a configure file in the tree is going to conflict with
 # existing configure files in people's (and automation) work trees, and
 # because some automation jobs are still running autoconf and configure
 # "manually", this file is actually an m4 file that is processed by
 # autoconf, but doesn't call any autoconf macros. The `divert` line
 # below ensures the script that follows is output by autoconf.
 : "divert(0)dnl"
 #!/bin/sh
 
 SRCDIR=$(dirname $0)
 TOPSRCDIR="$SRCDIR"
+PYTHON3="${PYTHON3:-python3}"
 export OLD_CONFIGURE="$SRCDIR"/old-configure
 
-exec python3 "$TOPSRCDIR/configure.py" "$@"
+exec "$PYTHON3" "$TOPSRCDIR/configure.py" "$@"
--- a/js/src/configure.in
+++ b/js/src/configure.in
@@ -1,27 +1,22 @@
 #!/bin/sh
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
-# Welcome to the new world of configure. We're working on moving to a
-# python based configure. In the meanwhile, remains of the old autoconf
-# based configure is in old-configure.in.
-# If you need to add something, please come talk to the build system
-# peers for now.
-#
 # Because adding a configure file in the tree is going to conflict with
 # existing configure files in people's (and automation) work trees, and
 # because some automation jobs are still running autoconf and configure
 # "manually", this file is actually an m4 file that is processed by
 # autoconf, but doesn't call any autoconf macros. The `divert` line
 # below ensures the script that follows is output by autoconf.
 : "divert(0)dnl"
 #!/bin/sh
 
 SRCDIR=$(dirname $0)
 TOPSRCDIR="$SRCDIR"/../..
+PYTHON3="${PYTHON3:-python3}"
 export OLD_CONFIGURE="$SRCDIR"/old-configure
 
 set -- "$@" --enable-project=js
 
-exec python3 "$TOPSRCDIR/configure.py" "$@"
+exec "$PYTHON3" "$TOPSRCDIR/configure.py" "$@"