summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Zagarin <zagarin@gmail.com>2021-04-15 18:15:00 +0700
committerAlexey Zagarin <zagarin@gmail.com>2021-04-15 18:15:00 +0700
commit928e3f9188eeed7e6c1c640576869c038c9ed7a9 (patch)
treef1ef732e8b699f03d0f1aba24dd46a2bbc6baa2c
parent2cc0e530710501e3ef1bfebaa2122e45b439476a (diff)
downloadffi-928e3f9188eeed7e6c1c640576869c038c9ed7a9.tar.gz
Allow overriding `gcc` with the `CC` env var in `const_generator.rb` and `struct_generator.rb`
-rw-r--r--lib/ffi/tools/const_generator.rb3
-rw-r--r--lib/ffi/tools/struct_generator.rb3
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/ffi/tools/const_generator.rb b/lib/ffi/tools/const_generator.rb
index fb34d94..b681e44 100644
--- a/lib/ffi/tools/const_generator.rb
+++ b/lib/ffi/tools/const_generator.rb
@@ -124,7 +124,8 @@ module FFI
f.puts "\n\treturn 0;\n}"
f.flush
- output = `gcc #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
+ cc = ENV['CC'] || 'gcc'
+ output = `#{cc} #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
unless $?.success? then
output = output.split("\n").map { |l| "\t#{l}" }.join "\n"
diff --git a/lib/ffi/tools/struct_generator.rb b/lib/ffi/tools/struct_generator.rb
index 7d2a6e5..3a951c3 100644
--- a/lib/ffi/tools/struct_generator.rb
+++ b/lib/ffi/tools/struct_generator.rb
@@ -82,7 +82,8 @@ module FFI
f.puts "\n return 0;\n}"
f.flush
- output = `gcc #{options[:cppflags]} #{options[:cflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
+ cc = ENV['CC'] || 'gcc'
+ output = `#{cc} #{options[:cppflags]} #{options[:cflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
unless $?.success? then
@found = false