mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -05:00
Merge remote-tracking branch 'rbenv/master' into rbenv-20160815
This commit is contained in:
commit
cf1beda362
2 changed files with 118 additions and 70 deletions
142
src/shobj-conf
142
src/shobj-conf
|
@ -10,12 +10,14 @@
|
||||||
# Chet Ramey
|
# Chet Ramey
|
||||||
# chet@po.cwru.edu
|
# chet@po.cwru.edu
|
||||||
|
|
||||||
# Copyright (C) 1996-2002 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This file is part of GNU Bash, the Bourne Again SHell.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 2, or (at your option)
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -23,8 +25,8 @@
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# defaults
|
# defaults
|
||||||
|
@ -62,7 +64,21 @@ while [ $# -gt 0 ]; do
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
case "${host_os}-${SHOBJ_CC}" in
|
case "${host_os}-${SHOBJ_CC}-${host_vendor}" in
|
||||||
|
nsk-cc-tandem)
|
||||||
|
SHOBJ_CFLAGS=-Wglobalized
|
||||||
|
case `uname -m` in
|
||||||
|
NSR*)
|
||||||
|
SHOBJ_CFLAGS="${SHOBJ_CFLAGS} -Wcall_shared" # default on TNS/E, needed on TNS/R
|
||||||
|
SHOBJ_LD=/usr/bin/ld # for TNS/R
|
||||||
|
;;
|
||||||
|
NSE*|NEO*)
|
||||||
|
SHOBJ_LD=/usr/bin/eld
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
SHOBJ_LDFLAGS='-shared -bglobalized -unres_symbols ignore'
|
||||||
|
;;
|
||||||
|
|
||||||
sunos4*-*gcc*)
|
sunos4*-*gcc*)
|
||||||
SHOBJ_CFLAGS=-fpic
|
SHOBJ_CFLAGS=-fpic
|
||||||
SHOBJ_LD=/usr/bin/ld
|
SHOBJ_LD=/usr/bin/ld
|
||||||
|
@ -80,15 +96,17 @@ sunos4*)
|
||||||
;;
|
;;
|
||||||
|
|
||||||
sunos5*-*gcc*|solaris2*-*gcc*)
|
sunos5*-*gcc*|solaris2*-*gcc*)
|
||||||
SHOBJ_CFLAGS=-fpic
|
|
||||||
SHOBJ_LD='${CC}'
|
SHOBJ_LD='${CC}'
|
||||||
ld_used=`gcc -print-prog-name=ld`
|
ld_used=`gcc -print-prog-name=ld`
|
||||||
if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then
|
if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then
|
||||||
# This line works for the GNU ld
|
# This line works for the GNU ld
|
||||||
SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
|
SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
|
||||||
|
# http://sourceware.org/ml/binutils/2001-08/msg00361.html
|
||||||
|
SHOBJ_CFLAGS=-fPIC
|
||||||
else
|
else
|
||||||
# This line works for the Solaris linker in /usr/ccs/bin/ld
|
# This line works for the Solaris linker in /usr/ccs/bin/ld
|
||||||
SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
|
SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
|
||||||
|
SHOBJ_CFLAGS=-fpic
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# SHLIB_XLDFLAGS='-R $(libdir)'
|
# SHLIB_XLDFLAGS='-R $(libdir)'
|
||||||
|
@ -104,8 +122,8 @@ sunos5*|solaris2*)
|
||||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# All versions of Linux or the semi-mythical GNU Hurd.
|
# All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
|
||||||
linux*-*|gnu*-*|k*bsd*-gnu-*)
|
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
|
||||||
SHOBJ_CFLAGS=-fPIC
|
SHOBJ_CFLAGS=-fPIC
|
||||||
SHOBJ_LD='${CC}'
|
SHOBJ_LD='${CC}'
|
||||||
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||||
|
@ -114,7 +132,7 @@ linux*-*|gnu*-*|k*bsd*-gnu-*)
|
||||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
freebsd2* | netbsd*)
|
freebsd2*)
|
||||||
SHOBJ_CFLAGS=-fpic
|
SHOBJ_CFLAGS=-fpic
|
||||||
SHOBJ_LD=ld
|
SHOBJ_LD=ld
|
||||||
SHOBJ_LDFLAGS='-x -Bshareable'
|
SHOBJ_LDFLAGS='-x -Bshareable'
|
||||||
|
@ -124,8 +142,8 @@ freebsd2* | netbsd*)
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# FreeBSD-3.x ELF
|
# FreeBSD-3.x ELF
|
||||||
freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
|
freebsd3*|freebsdaout*)
|
||||||
SHOBJ_CFLAGS=-fpic
|
SHOBJ_CFLAGS=-fPIC
|
||||||
SHOBJ_LD='${CC}'
|
SHOBJ_LD='${CC}'
|
||||||
|
|
||||||
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
|
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
|
||||||
|
@ -141,39 +159,20 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
# FreeBSD-4.x and later have only ELF
|
||||||
|
freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*)
|
||||||
|
SHOBJ_CFLAGS=-fPIC
|
||||||
|
SHOBJ_LD='${CC}'
|
||||||
|
|
||||||
|
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||||
|
SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
|
||||||
|
|
||||||
|
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||||
|
;;
|
||||||
|
|
||||||
# Darwin/MacOS X
|
# Darwin/MacOS X
|
||||||
darwin1*)
|
darwin*)
|
||||||
SHOBJ_STATUS=supported
|
# Common definitions for all darwin/mac os x versions
|
||||||
SHLIB_STATUS=supported
|
|
||||||
|
|
||||||
SHOBJ_CFLAGS=''
|
|
||||||
SHLIB_LIBSUFF='dylib'
|
|
||||||
|
|
||||||
SHOBJ_LD='${CC}'
|
|
||||||
SHOBJ_LDFLAGS='-dynamiclib'
|
|
||||||
;;
|
|
||||||
|
|
||||||
darwin8*)
|
|
||||||
SHOBJ_STATUS=supported
|
|
||||||
SHLIB_STATUS=supported
|
|
||||||
|
|
||||||
SHOBJ_CFLAGS='-fno-common'
|
|
||||||
|
|
||||||
SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}'
|
|
||||||
|
|
||||||
SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
|
|
||||||
SHLIB_LIBSUFF='dylib'
|
|
||||||
|
|
||||||
SHOBJ_LDFLAGS='-undefined dynamic_lookup'
|
|
||||||
SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
|
||||||
|
|
||||||
SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
|
|
||||||
;;
|
|
||||||
|
|
||||||
darwin*|macosx*)
|
|
||||||
SHOBJ_STATUS=unsupported
|
|
||||||
SHLIB_STATUS=supported
|
|
||||||
|
|
||||||
SHOBJ_CFLAGS='-fno-common'
|
SHOBJ_CFLAGS='-fno-common'
|
||||||
|
|
||||||
SHOBJ_LD='${CC}'
|
SHOBJ_LD='${CC}'
|
||||||
|
@ -181,19 +180,39 @@ darwin*|macosx*)
|
||||||
SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
|
SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
|
||||||
SHLIB_LIBSUFF='dylib'
|
SHLIB_LIBSUFF='dylib'
|
||||||
|
|
||||||
|
# unused at this time
|
||||||
|
SHLIB_SONAME='$(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF)'
|
||||||
|
|
||||||
case "${host_os}" in
|
case "${host_os}" in
|
||||||
darwin[78]*) SHOBJ_LDFLAGS=''
|
# Darwin versions 1, 5, 6, 7 correspond to Mac OS X 10.0, 10.1, 10.2,
|
||||||
SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
# and 10.3, respectively.
|
||||||
|
darwin[1-7].*)
|
||||||
|
SHOBJ_STATUS=unsupported
|
||||||
|
SHOBJ_LDFLAGS='-dynamic'
|
||||||
|
SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
||||||
;;
|
;;
|
||||||
*) SHOBJ_LDFLAGS='-dynamic'
|
# Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4
|
||||||
SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
*)
|
||||||
|
case "${host_os}" in
|
||||||
|
darwin[89]*|darwin1[012]*)
|
||||||
|
SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`'
|
||||||
|
;;
|
||||||
|
*) # Mac OS X 10.9 (Mavericks) and later
|
||||||
|
SHOBJ_ARCHFLAGS=
|
||||||
|
# for 32 and 64bit universal library
|
||||||
|
#SHOBJ_ARCHFLAGS='-arch i386 -arch x86_64'
|
||||||
|
#SHOBJ_CFLAGS=${SHOBJ_CFLAGS}' -arch i386 -arch x86_64'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
SHOBJ_LDFLAGS="-dynamiclib -dynamic -undefined dynamic_lookup ${SHOBJ_ARCHFLAGS}"
|
||||||
|
SHLIB_XLDFLAGS="-dynamiclib ${SHOBJ_ARCHFLAGS}"' -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
|
SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
|
||||||
;;
|
;;
|
||||||
|
|
||||||
openbsd*)
|
openbsd*|netbsd*|mirbsd*)
|
||||||
SHOBJ_CFLAGS=-fPIC
|
SHOBJ_CFLAGS=-fPIC
|
||||||
SHOBJ_LD='${CC}'
|
SHOBJ_LD='${CC}'
|
||||||
SHOBJ_LDFLAGS='-shared'
|
SHOBJ_LDFLAGS='-shared'
|
||||||
|
@ -258,7 +277,7 @@ osf*)
|
||||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com
|
aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*) # lightly tested by jik@cisco.com
|
||||||
SHOBJ_CFLAGS=-fpic
|
SHOBJ_CFLAGS=-fpic
|
||||||
SHOBJ_LD='ld'
|
SHOBJ_LD='ld'
|
||||||
SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
|
SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
|
||||||
|
@ -269,7 +288,7 @@ aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com
|
||||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
aix4.[2-9]*)
|
aix4.[2-9]*|aix[5-9].*)
|
||||||
SHOBJ_CFLAGS=-K
|
SHOBJ_CFLAGS=-K
|
||||||
SHOBJ_LD='ld'
|
SHOBJ_LD='ld'
|
||||||
SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
|
SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
|
||||||
|
@ -340,7 +359,7 @@ hpux10*-*gcc*)
|
||||||
SHOBJ_LD='${CC}'
|
SHOBJ_LD='${CC}'
|
||||||
# if you have problems linking here, moving the `-Wl,+h,$@' from
|
# if you have problems linking here, moving the `-Wl,+h,$@' from
|
||||||
# SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work
|
# SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work
|
||||||
SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
|
SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s'
|
||||||
|
|
||||||
SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
|
SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
|
||||||
SHLIB_LIBSUFF='sl'
|
SHLIB_LIBSUFF='sl'
|
||||||
|
@ -516,6 +535,23 @@ cygwin*)
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
mingw*)
|
||||||
|
SHOBJ_LD='$(CC)'
|
||||||
|
SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
|
||||||
|
SHLIB_LIBSUFF='dll'
|
||||||
|
SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
|
||||||
|
SHLIB_LIBS='$(TERMCAP_LIB)'
|
||||||
|
|
||||||
|
SHLIB_DOT=
|
||||||
|
# For official cygwin releases, DLLVERSION will be defined in the
|
||||||
|
# environment of configure, and will be incremented any time the API
|
||||||
|
# changes in a non-backwards compatible manner. Otherwise, it is just
|
||||||
|
# SHLIB_MAJOR.
|
||||||
|
if [ -n "$DLLVERSION" ] ; then
|
||||||
|
SHLIB_DLLVERSION="$DLLVERSION"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Rely on correct gcc configuration for everything else
|
# Rely on correct gcc configuration for everything else
|
||||||
#
|
#
|
||||||
|
|
|
@ -36,6 +36,18 @@ OUT
|
||||||
rm -f "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
|
rm -f "${BATS_TEST_DIRNAME}/libexec/pyenv-which"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "prefix for system in /" {
|
||||||
|
mkdir -p "${BATS_TEST_DIRNAME}/libexec"
|
||||||
|
cat >"${BATS_TEST_DIRNAME}/libexec/rbenv-which" <<OUT
|
||||||
|
#!/bin/sh
|
||||||
|
echo /bin/ruby
|
||||||
|
OUT
|
||||||
|
chmod +x "${BATS_TEST_DIRNAME}/libexec/rbenv-which"
|
||||||
|
RBENV_VERSION="system" run rbenv-prefix
|
||||||
|
assert_success "/"
|
||||||
|
rm -f "${BATS_TEST_DIRNAME}/libexec/rbenv-which"
|
||||||
|
}
|
||||||
|
|
||||||
@test "prefix for invalid system" {
|
@test "prefix for invalid system" {
|
||||||
PATH="$(path_without python)" run pyenv-prefix system
|
PATH="$(path_without python)" run pyenv-prefix system
|
||||||
assert_failure "pyenv: system version not found in PATH"
|
assert_failure "pyenv: system version not found in PATH"
|
||||||
|
|
Loading…
Reference in a new issue