mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -05:00
Merge branch 'pypy-shared'
This commit is contained in:
commit
6e02ad2fe4
2 changed files with 41 additions and 7 deletions
|
@ -182,6 +182,26 @@ if [[ "${VERSION_NAME}" == [23]"."* ]]; then
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# PyPy requires existing Python 2.x to build
|
||||||
|
if [[ "${VERSION_NAME}" == "pypy-"*"-src" ]]; then
|
||||||
|
PYENV_VERSION="$(pyenv-whence "python2.7" 2>/dev/null | tail -n 1 || true)"
|
||||||
|
if [ -n "${PYENV_VERSION}" ]; then
|
||||||
|
export PYENV_VERSION
|
||||||
|
else
|
||||||
|
PYENV_VERSION="$(pyenv-whence "python2.6" 2>/dev/null | tail -n 1 || true)"
|
||||||
|
if [ -n "${PYENV_VERSION}" ]; then
|
||||||
|
export PYENV_VERSION
|
||||||
|
else
|
||||||
|
PYENV_VERSION="$(pyenv-whence "python2.5" 2>/dev/null | tail -n 1 || true)"
|
||||||
|
if [ -n "${PYENV_VERSION}" ]; then
|
||||||
|
export PYENV_VERSION
|
||||||
|
else
|
||||||
|
echo "pyenv-install: $VERSION_NAME requires CPython 2.[567] to build" >^2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Execute `before_install` hooks.
|
# Execute `before_install` hooks.
|
||||||
for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
||||||
|
|
|
@ -804,8 +804,13 @@ pypy_architecture() {
|
||||||
|
|
||||||
build_package_pypy() {
|
build_package_pypy() {
|
||||||
build_package_copy
|
build_package_copy
|
||||||
{ if [ -x "${PREFIX_PATH}/bin/pypy" ] && [ ! -x "${PREFIX_PATH}/bin/python" ]; then
|
{ if [ ! -x "${PREFIX_PATH}/bin/python" ]; then
|
||||||
( cd "${PREFIX_PATH}/bin" && ln -fs pypy python )
|
if [ -x "${PREFIX_PATH}/bin/pypy" ]; then
|
||||||
|
( cd "${PREFIX_PATH}/bin" && ln -fs "pypy" "python" )
|
||||||
|
else
|
||||||
|
echo "not a pypy binary distribution" 1>&3
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
} >&4 2>&1
|
} >&4 2>&1
|
||||||
}
|
}
|
||||||
|
@ -819,10 +824,14 @@ build_package_pypy_builder() {
|
||||||
echo "not a pypy source tree" 1>&3
|
echo "not a pypy source tree" 1>&3
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
if [ -x "pypy-c" ] && [ ! -x "bin/pypy" ]; then
|
{ mkdir -p "bin" "lib"
|
||||||
mkdir -p "bin"
|
if [ -x "pypy-c" ]; then
|
||||||
mv -f "pypy-c" "bin/pypy"
|
mv -f "pypy-c" "bin/pypy"
|
||||||
fi
|
fi
|
||||||
|
for libpypy in "libpypy-c."*; do
|
||||||
|
mv -f "${libpypy}" "lib/"
|
||||||
|
done
|
||||||
|
} >&4 2>&1
|
||||||
build_package_pypy
|
build_package_pypy
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1593,7 +1602,7 @@ if [ -n "$DEBUG" ]; then
|
||||||
package_option python configure --with-pydebug
|
package_option python configure --with-pydebug
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# python-build: Set `RPATH` if `--enable-shared` was given (#65, #66, 82)
|
# python-build: Set `RPATH` if `--enable-shared` was given (#65, #66, #82)
|
||||||
if [[ "$CONFIGURE_OPTS" == *"--enable-shared"* ]] || [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-shared"* ]]; then
|
if [[ "$CONFIGURE_OPTS" == *"--enable-shared"* ]] || [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-shared"* ]]; then
|
||||||
# The ld on Darwin embeds the full paths to each dylib by default
|
# The ld on Darwin embeds the full paths to each dylib by default
|
||||||
if [[ "$LDFLAGS" != *"-rpath="* ]] && [[ "Darwin" != "$(uname -s)" ]]; then
|
if [[ "$LDFLAGS" != *"-rpath="* ]] && [[ "Darwin" != "$(uname -s)" ]]; then
|
||||||
|
@ -1601,6 +1610,11 @@ if [[ "$CONFIGURE_OPTS" == *"--enable-shared"* ]] || [[ "$PYTHON_CONFIGURE_OPTS"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# python-build: Set `RPATH` if --shared` was given for PyPy (#244)
|
||||||
|
if [[ "$PYPY_OPTS" == *"--shared"* ]]; then
|
||||||
|
export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib ${LDFLAGS}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
|
# Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
|
||||||
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
||||||
if [[ "Darwin" != "$(uname -s)" ]]; then
|
if [[ "Darwin" != "$(uname -s)" ]]; then
|
||||||
|
|
Loading…
Reference in a new issue