1a3bc2
From 346e147ba6480839b87046e9a9efab0bf6ed3660 Mon Sep 17 00:00:00 2001
1a3bc2
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
1a3bc2
Date: Wed, 10 Aug 2016 17:35:48 +0200
1a3bc2
Subject: [PATCH] Rely on ldd to detect glibc.
1a3bc2
1a3bc2
This is just workaround, since we know we are quite sure this will be successful
1a3bc2
on Red Hat platforms.
1a3bc2
1a3bc2
This workaround rhbz#1361037
1a3bc2
---
1a3bc2
 test/fiddle/helper.rb | 105 ------------------------------------------
1a3bc2
 1 file changed, 105 deletions(-)
1a3bc2
1a3bc2
diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb
1a3bc2
index 1da3d93..65148a1 100644
1a3bc2
--- a/test/fiddle/helper.rb
1a3bc2
+++ b/test/fiddle/helper.rb
1a3bc2
@@ -6,111 +6,6 @@
1a3bc2
 
1a3bc2
 libc_so = libm_so = nil
1a3bc2
 
1a3bc2
-case RUBY_PLATFORM
1a3bc2
-when /cygwin/
1a3bc2
-  libc_so = "cygwin1.dll"
1a3bc2
-  libm_so = "cygwin1.dll"
1a3bc2
-when /android/
1a3bc2
-  libdir = '/system/lib'
1a3bc2
-  if [0].pack('L!').size == 8
1a3bc2
-    libdir = '/system/lib64'
1a3bc2
-  end
1a3bc2
-  libc_so = File.join(libdir, "libc.so")
1a3bc2
-  libm_so = File.join(libdir, "libm.so")
1a3bc2
-when /linux/
1a3bc2
-  libdir = '/lib'
1a3bc2
-  case RbConfig::SIZEOF['void*']
1a3bc2
-  when 4
1a3bc2
-    # 32-bit ruby
1a3bc2
-    case RUBY_PLATFORM
1a3bc2
-    when /armv\w+-linux/
1a3bc2
-      # In the ARM 32-bit libc package such as libc6:armhf libc6:armel,
1a3bc2
-      # libc.so and libm.so are installed to /lib/arm-linux-gnu*.
1a3bc2
-      # It's not installed to /lib32.
1a3bc2
-      dirs = Dir.glob('/lib/arm-linux-gnu*')
1a3bc2
-      libdir = dirs[0] if dirs && File.directory?(dirs[0])
1a3bc2
-    else
1a3bc2
-      libdir = '/lib32' if File.directory? '/lib32'
1a3bc2
-    end
1a3bc2
-  when 8
1a3bc2
-    # 64-bit ruby
1a3bc2
-    libdir = '/lib64' if File.directory? '/lib64'
1a3bc2
-  end
1a3bc2
-  libc_so = File.join(libdir, "libc.so.6")
1a3bc2
-  libm_so = File.join(libdir, "libm.so.6")
1a3bc2
-when /mingw/, /mswin/
1a3bc2
-  require "rbconfig"
1a3bc2
-  crtname = RbConfig::CONFIG["RUBY_SO_NAME"][/msvc\w+/] || 'ucrtbase'
1a3bc2
-  libc_so = libm_so = "#{crtname}.dll"
1a3bc2
-when /darwin/
1a3bc2
-  libc_so = "/usr/lib/libc.dylib"
1a3bc2
-  libm_so = "/usr/lib/libm.dylib"
1a3bc2
-when /kfreebsd/
1a3bc2
-  libc_so = "/lib/libc.so.0.1"
1a3bc2
-  libm_so = "/lib/libm.so.1"
1a3bc2
-when /gnu/	#GNU/Hurd
1a3bc2
-  libc_so = "/lib/libc.so.0.3"
1a3bc2
-  libm_so = "/lib/libm.so.6"
1a3bc2
-when /mirbsd/
1a3bc2
-  libc_so = "/usr/lib/libc.so.41.10"
1a3bc2
-  libm_so = "/usr/lib/libm.so.7.0"
1a3bc2
-when /freebsd/
1a3bc2
-  libc_so = "/lib/libc.so.7"
1a3bc2
-  libm_so = "/lib/libm.so.5"
1a3bc2
-when /bsd|dragonfly/
1a3bc2
-  libc_so = "/usr/lib/libc.so"
1a3bc2
-  libm_so = "/usr/lib/libm.so"
1a3bc2
-when /solaris/
1a3bc2
-  libdir = '/lib'
1a3bc2
-  case RbConfig::SIZEOF['void*']
1a3bc2
-  when 4
1a3bc2
-    # 32-bit ruby
1a3bc2
-    libdir = '/lib' if File.directory? '/lib'
1a3bc2
-  when 8
1a3bc2
-    # 64-bit ruby
1a3bc2
-    libdir = '/lib/64' if File.directory? '/lib/64'
1a3bc2
-  end
1a3bc2
-  libc_so = File.join(libdir, "libc.so")
1a3bc2
-  libm_so = File.join(libdir, "libm.so")
1a3bc2
-when /aix/
1a3bc2
-  pwd=Dir.pwd
1a3bc2
-  libc_so = libm_so = "#{pwd}/libaixdltest.so"
1a3bc2
-  unless File.exist? libc_so
1a3bc2
-    cobjs=%w!strcpy.o!
1a3bc2
-    mobjs=%w!floats.o sin.o!
1a3bc2
-    funcs=%w!sin sinf strcpy strncpy!
1a3bc2
-    expfile='dltest.exp'
1a3bc2
-    require 'tmpdir'
1a3bc2
-    Dir.mktmpdir do |dir|
1a3bc2
-      begin
1a3bc2
-        Dir.chdir dir
1a3bc2
-        %x!/usr/bin/ar x /usr/lib/libc.a #{cobjs.join(' ')}!
1a3bc2
-        %x!/usr/bin/ar x /usr/lib/libm.a #{mobjs.join(' ')}!
1a3bc2
-        %x!echo "#{funcs.join("\n")}\n" > #{expfile}!
1a3bc2
-        require 'rbconfig'
1a3bc2
-        if RbConfig::CONFIG["GCC"] = 'yes'
1a3bc2
-          lflag='-Wl,'
1a3bc2
-        else
1a3bc2
-          lflag=''
1a3bc2
-        end
1a3bc2
-        flags="#{lflag}-bE:#{expfile} #{lflag}-bnoentry -lm"
1a3bc2
-        %x!#{RbConfig::CONFIG["LDSHARED"]} -o #{libc_so} #{(cobjs+mobjs).join(' ')} #{flags}!
1a3bc2
-      ensure
1a3bc2
-        Dir.chdir pwd
1a3bc2
-      end
1a3bc2
-    end
1a3bc2
-  end
1a3bc2
-else
1a3bc2
-  libc_so = ARGV[0] if ARGV[0] && ARGV[0][0] == ?/
1a3bc2
-  libm_so = ARGV[1] if ARGV[1] && ARGV[1][0] == ?/
1a3bc2
-  if( !(libc_so && libm_so) )
1a3bc2
-    $stderr.puts("libc and libm not found: #{$0} <libc> <libm>")
1a3bc2
-  end
1a3bc2
-end
1a3bc2
-
1a3bc2
-libc_so = nil if !libc_so || (libc_so[0] == ?/ && !File.file?(libc_so))
1a3bc2
-libm_so = nil if !libm_so || (libm_so[0] == ?/ && !File.file?(libm_so))
1a3bc2
-
1a3bc2
 if !libc_so || !libm_so
1a3bc2
   ruby = EnvUtil.rubybin
1a3bc2
   # When the ruby binary is 32-bit and the host is 64-bit,
1a3bc2
-- 
1a3bc2
2.9.2
1a3bc2