mirror of
https://github.com/ivabus/pantry
synced 2024-11-14 12:35:10 +03:00
Have gx/cc/cc call through to the next in PATH
This commit is contained in:
parent
f3f0c659bb
commit
2cb4d01d7a
2 changed files with 15 additions and 3 deletions
|
@ -15,6 +15,18 @@ args = ARGV.map do |arg|
|
||||||
arg unless arg == "-Wl,-rpath,#$tea_prefix"
|
arg unless arg == "-Wl,-rpath,#$tea_prefix"
|
||||||
end.compact
|
end.compact
|
||||||
|
|
||||||
|
# find next example of ourselves
|
||||||
|
# this will either pick the Apple provided clang or the tea one
|
||||||
|
exe_path = ENV['PATH'].split(":").filter { |path|
|
||||||
|
path != File.dirname(__FILE__)
|
||||||
|
}.map { |path|
|
||||||
|
"#{path}/#{exe}"
|
||||||
|
}.find { |path|
|
||||||
|
File.exist?(path)
|
||||||
|
}
|
||||||
|
|
||||||
|
abort "couldn’t find #{exe} in `PATH`" unless exe_path
|
||||||
|
|
||||||
for arg in args do
|
for arg in args do
|
||||||
# figuring out what “mode” we are operating in is hard
|
# figuring out what “mode” we are operating in is hard
|
||||||
# we don’t want to add this linker command always because it causes a warning to be
|
# we don’t want to add this linker command always because it causes a warning to be
|
||||||
|
@ -23,8 +35,8 @@ for arg in args do
|
||||||
# we aren't sure what the rules are TBH, possibly it is as simple as if the output (`-o`)
|
# we aren't sure what the rules are TBH, possibly it is as simple as if the output (`-o`)
|
||||||
# is a .o then we don’t add the rpath
|
# is a .o then we don’t add the rpath
|
||||||
if arg.start_with? '-l' or arg.end_with? '.dylib'
|
if arg.start_with? '-l' or arg.end_with? '.dylib'
|
||||||
exec "/usr/bin/#{exe}", *args, "-Wl,-rpath,#$tea_prefix"
|
exec exe_path, *args, "-Wl,-rpath,#$tea_prefix"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
exec "/usr/bin/#{exe}", *args
|
exec exe_path, *args
|
||||||
|
|
|
@ -3,7 +3,7 @@ distributable: ~
|
||||||
# FIXME we want the c version eg. c99
|
# FIXME we want the c version eg. c99
|
||||||
# or should that be some kind of option? so you specify you want a cc that support c99
|
# or should that be some kind of option? so you specify you want a cc that support c99
|
||||||
versions:
|
versions:
|
||||||
- 0.1.0
|
- 0.1.1
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
linux:
|
linux:
|
||||||
|
|
Loading…
Reference in a new issue