mirror of
				https://github.com/rbenv/ruby-build.git
				synced 2025-11-04 03:01:10 +01:00 
			
		
		
		
	Avoids failures caused by somebody's environment possibly having RUBY_CONFIGURE_OPTS exported to have a value.
		
			
				
	
	
		
			86 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/usr/bin/env bats
 | 
						|
 | 
						|
load test_helper
 | 
						|
export MAKE=make
 | 
						|
export MAKE_OPTS='-j 2'
 | 
						|
export -n CFLAGS
 | 
						|
export -n CC
 | 
						|
export -n RUBY_CONFIGURE_OPTS
 | 
						|
 | 
						|
@test "require_gcc on OS X 10.9" {
 | 
						|
  stub uname '-s : echo Darwin'
 | 
						|
  stub sw_vers '-productVersion : echo 10.9.5'
 | 
						|
  stub gcc '--version : echo 4.2.1'
 | 
						|
 | 
						|
  run_inline_definition <<DEF
 | 
						|
require_gcc
 | 
						|
echo CC=\$CC
 | 
						|
echo MACOSX_DEPLOYMENT_TARGET=\${MACOSX_DEPLOYMENT_TARGET-no}
 | 
						|
DEF
 | 
						|
  assert_success
 | 
						|
  assert_output <<OUT
 | 
						|
CC=${TMP}/bin/gcc
 | 
						|
MACOSX_DEPLOYMENT_TARGET=no
 | 
						|
OUT
 | 
						|
}
 | 
						|
 | 
						|
@test "require_gcc on OS X 10.10" {
 | 
						|
  stub uname '-s : echo Darwin'
 | 
						|
  stub sw_vers '-productVersion : echo 10.10'
 | 
						|
  stub gcc '--version : echo 4.2.1'
 | 
						|
 | 
						|
  run_inline_definition <<DEF
 | 
						|
require_gcc
 | 
						|
echo CC=\$CC
 | 
						|
echo MACOSX_DEPLOYMENT_TARGET=\${MACOSX_DEPLOYMENT_TARGET-no}
 | 
						|
DEF
 | 
						|
  assert_success
 | 
						|
  assert_output <<OUT
 | 
						|
CC=${TMP}/bin/gcc
 | 
						|
MACOSX_DEPLOYMENT_TARGET=10.9
 | 
						|
OUT
 | 
						|
}
 | 
						|
 | 
						|
@test "require_gcc silences warnings" {
 | 
						|
  stub gcc '--version : echo warning >&2; echo 4.2.1'
 | 
						|
 | 
						|
  run_inline_definition <<DEF
 | 
						|
require_gcc
 | 
						|
echo \$CC
 | 
						|
DEF
 | 
						|
  assert_success "${TMP}/bin/gcc"
 | 
						|
}
 | 
						|
 | 
						|
@test "CC=clang by default on OS X 10.10" {
 | 
						|
  mkdir -p "$INSTALL_ROOT"
 | 
						|
  cd "$INSTALL_ROOT"
 | 
						|
 | 
						|
  stub uname '-s : echo Darwin'
 | 
						|
  stub sw_vers '-productVersion : echo 10.10'
 | 
						|
  stub cc 'false'
 | 
						|
  stub brew 'false'
 | 
						|
  stub make \
 | 
						|
    'echo make $@' \
 | 
						|
    'echo make $@'
 | 
						|
 | 
						|
  cat > ./configure <<CON
 | 
						|
#!${BASH}
 | 
						|
echo ./configure "\$@"
 | 
						|
echo CC=\$CC
 | 
						|
echo CFLAGS=\${CFLAGS-no}
 | 
						|
CON
 | 
						|
  chmod +x ./configure
 | 
						|
 | 
						|
  run_inline_definition <<DEF
 | 
						|
exec 4<&1
 | 
						|
build_package_standard ruby
 | 
						|
DEF
 | 
						|
  assert_success
 | 
						|
  assert_output <<OUT
 | 
						|
./configure --prefix=$INSTALL_ROOT
 | 
						|
CC=clang
 | 
						|
CFLAGS=no
 | 
						|
make -j 2
 | 
						|
make install
 | 
						|
OUT
 | 
						|
}
 |