build: support Python 3.11

PR-URL: https://github.com/nodejs/node/pull/45191
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
This commit is contained in:
Luigi Pinca 2022-10-26 15:01:59 +02:00 committed by Node.js GitHub Bot
parent ae45d21a8e
commit cf748ad2b7
2 changed files with 5 additions and 4 deletions

View File

@ -225,7 +225,7 @@ The Node.js project supports Python >= 3 for building and testing.
* `gcc` and `g++` >= 8.3 or newer
* GNU Make 3.81 or newer
* Python 3.6, 3.7, 3.8, 3.9, or 3.10 (see note above)
* Python >=3.6 <=3.11 (see note above)
* For test coverage, your Python installation must include pip.
Installation via Linux package manager can be achieved with:
@ -241,7 +241,7 @@ FreeBSD and OpenBSD users may also need to install `libexecinfo`.
#### macOS prerequisites
* Xcode Command Line Tools >= 11 for macOS
* Python 3.6, 3.7, 3.8, 3.9, or 3.10 (see note above)
* Python >=3.6 <=3.11 (see note above)
* For test coverage, your Python installation must include pip.
macOS users can install the `Xcode Command Line Tools` by running
@ -565,7 +565,7 @@ to run it again before invoking `make -j4`.
##### Option 1: Manual install
* [Python 3.10](https://www.microsoft.com/en-us/p/python-310/9pjpw5ldxlz5)
* [Python 3.11](https://apps.microsoft.com/store/detail/python-311/9NRWMJP3717K)
* The "Desktop development with C++" workload from
[Visual Studio 2019](https://visualstudio.microsoft.com/vs/older-downloads/#visual-studio-2019-and-other-products) or
the "C++ build tools" workload from the

3
configure vendored
View File

@ -4,6 +4,7 @@
# Note that the mix of single and double quotes is intentional,
# as is the fact that the ] goes on a new line.
_=[ 'exec' '/bin/sh' '-c' '''
command -v python3.11 >/dev/null && exec python3.11 "$0" "$@"
command -v python3.10 >/dev/null && exec python3.10 "$0" "$@"
command -v python3.9 >/dev/null && exec python3.9 "$0" "$@"
command -v python3.8 >/dev/null && exec python3.8 "$0" "$@"
@ -22,7 +23,7 @@ except ImportError:
from distutils.spawn import find_executable as which
print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info))
acceptable_pythons = ((3, 10), (3, 9), (3, 8), (3, 7), (3, 6))
acceptable_pythons = ((3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6))
if sys.version_info[:2] in acceptable_pythons:
import configure
else: