On 14 November 2013 18:07, Stefan Weil <s...@weilnetz.de> wrote: > Commit 1d984a67a95d88f3e708b077dab8adeb47c38c93 added the -B switch > unconditionally. This breaks Python versions before 2.6 which don't > support that switch. > > Now configure adds -B only if it is accepted by the Python interpreter. > > This modification introduces a small incompatiblity because -B might now > also be added when configure was called with --python=PYTHON_INTERPRETER.
That sounds like it's fixing a bug to me. If we think -B is right then we should be using it whether we defaulted to 'python' or the user passed us /usr/local/bin/python2 or whatever. > Signed-off-by: Stefan Weil <s...@weilnetz.de> > --- > configure | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > This is an optional patch. We need it for Python versions older than 5 years > if we don't want to use the workaround --python=python. > > I don't think it is needed for 1.7, but maybe other people think different. I think that as long as our requirements list says python 2.4 is the minimum then bugs that mean we don't work on that are fair game for fixing during hardfreeze; and this is a pretty simple and safe fix. I think it's better to put it into the release than deal with people after release trying to run it on RHEL-whatever that doesn't have a newer python. > diff --git a/configure b/configure > index 9a02610..3c25816 100755 > --- a/configure > +++ b/configure > @@ -593,7 +593,7 @@ fi > > : ${make=${MAKE-make}} > : ${install=${INSTALL-install}} > -: ${python=${PYTHON-python -B}} > +: ${python=${PYTHON-python}} > : ${smbd=${SMBD-/usr/sbin/smbd}} > > # Default objcc to clang if available, otherwise use CC > @@ -1420,6 +1420,13 @@ if ! $python -c 'import sys; sys.exit(sys.version_info > < (2,4) or sys.version_in > "Use --python=/path/to/python to specify a supported Python." > fi > > +# The -B switch was added in Python 2.6. > +# If it is supplied, compiled files are not written. > +# Use it for Python versions which support it. > +if $python -B -c 'import sys; sys.exit(0)' 2>/dev/null; then > + $python="$python -B" > +fi > + > if test -z "${target_list+xxx}" ; then > target_list="$default_target_list" > else Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM