aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/rake-compiler-dock/build/strip_wrapper
blob: 7f8a1346a1d73b34392e1240df22229e84e432cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env ruby

# Strip file on local folder instead of a Virtualbox shared folder
# to work around this bug: https://www.virtualbox.org/ticket/8463

require 'tempfile'
require 'fileutils'

strip = "#{File.basename($0)}.bin"

files = ARGV.reject{|f| f=~/^-/ }.map do |arg|
  tmp = Tempfile.new 'strip'
  tmp.close
  FileUtils.cp arg, tmp.path
  [tmp, arg]
end

options = ARGV.select{|f| f=~/^-/ } + files.map{|t,o| t.path }

unless system( strip, *options )
  exit 127
end
code = $?.exitstatus

files.each do |tmp, orig|
  FileUtils.rm orig
  FileUtils.cp tmp.path, orig
end

exit code