Remove compiler feature detection
MODIFY
lib/mruby/build/command.rb
lib/mruby/build/command.rb
require 'forwardable'
-require 'tempfile'
module MRuby
class Command
@@ -127,31 +126,6 @@ module MRuby
end
end
- def compiles?(source_text)
- infile = Tempfile.new ['', '.c']
- infile.write source_text
- infile.close
- cwd = Dir.pwd
- is_success = false
- # Change to a tmp dir when compiling so we don't litter compiler artifacts
- tmpdir = Dir.mktmpdir
- Dir.chdir tmpdir
- sh(command, infile.path, verbose: false) { |retval, _| is_success = retval }
- infile.delete
- Dir.chdir cwd
- # Some systems strangely do not allow removing a temp dir after creation
- FileUtils.remove_entry(tmpdir) rescue Errno::EACCES
- return is_success
- end
-
- def has_header?(header_name)
- compiles? test_code_template header: header_name
- end
-
- def has_function?(function_name, with_header: nil)
- compiles? test_code_template function: function_name, header: with_header
- end
-
private
#
@@ -191,46 +165,6 @@ module MRuby
end.flatten.uniq
deps << MRUBY_CONFIG
end
-
- def test_code_template(function: nil, header: nil)
- preamble = ''
- body = ''
-
- if header
- preamble += <<-TEMPLATE
-#if defined __has_include
-#if !__has_include("#{header}")
-#error "Header #{header} not found"
-#endif
-#endif
-#include <#{header}>
- TEMPLATE
- end
-
- if function
- preamble += <<-TEMPLATE
-#if defined __stub_#{function} || defined __stub___#{function}
-#{function} unavailable
-#endif
- TEMPLATE
-
- # This is how autoconf works when using a function prototype.
- body += <<-TEMPLATE
- void *a = (void*) &#{function};
- long long b = (long long) a;
- return (int) b;
- TEMPLATE
- else
- body = 'return 0;'
- end
-
- <<-TEMPLATE
-#{preamble}
-int main(void) {{
-#{body}
-}}
- TEMPLATE
- end
end
class Command::Linker < Command

MODIFY
tasks/toolchains/gcc.rake
tasks/toolchains/gcc.rake
@@ -31,8 +31,6 @@ MRuby::Toolchain.new(:gcc) do |conf, params|
end
[[conf.cc, 'c'], [conf.cxx, 'c++']].each do |cc, lang|
- cc.defines += %w(HAS_MALLOC_TRIM) if cc.has_function? 'malloc_trim', with_header: 'malloc.h'
-
cc.instance_variable_set :@header_search_language, lang
def cc.header_search_paths
if @header_search_command != command

Remove compiler feature detection