Try to set rpath for --shared build of PyPy (#244)

This commit is contained in:
Yamashita Yuu 2014-10-11 00:13:20 +09:00
parent e9a6a2909c
commit 42bb40a5d8

View file

@ -804,8 +804,13 @@ pypy_architecture() {
build_package_pypy() {
build_package_copy
{ if [ -x "${PREFIX_PATH}/bin/pypy" ] && [ ! -x "${PREFIX_PATH}/bin/python" ]; then
( cd "${PREFIX_PATH}/bin" && ln -fs pypy python )
{ if [ ! -x "${PREFIX_PATH}/bin/python" ]; then
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
} >&4 2>&1
}
@ -819,10 +824,14 @@ build_package_pypy_builder() {
echo "not a pypy source tree" 1>&3
return 1
fi
if [ -x "pypy-c" ] && [ ! -x "bin/pypy" ]; then
mkdir -p "bin"
mv -f "pypy-c" "bin/pypy"
fi
{ mkdir -p "bin" "lib"
if [ -x "pypy-c" ]; then
mv -f "pypy-c" "bin/pypy"
fi
for libpypy in "libpypy-c."*; do
mv -f "${libpypy}" "lib/"
done
} >&4 2>&1
build_package_pypy
}
@ -1593,7 +1602,7 @@ if [ -n "$DEBUG" ]; then
package_option python configure --with-pydebug
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
# The ld on Darwin embeds the full paths to each dylib by default
if [[ "$LDFLAGS" != *"-rpath="* ]] && [[ "Darwin" != "$(uname -s)" ]]; then
@ -1601,6 +1610,11 @@ if [[ "$CONFIGURE_OPTS" == *"--enable-shared"* ]] || [[ "$PYTHON_CONFIGURE_OPTS"
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)
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
if [[ "Darwin" != "$(uname -s)" ]]; then