mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
mkmf.rb: -I flags to $INCFLAGS
* lib/mkmf.rb (MakeMakefile#pkg_config): separate -I flags to $INCFLAGS, which is used by CPP. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5be82d1487
commit
097c3e9cbb
1 changed files with 19 additions and 4 deletions
23
lib/mkmf.rb
23
lib/mkmf.rb
|
@ -1759,22 +1759,37 @@ SRC
|
||||||
def pkg_config(pkg, option=nil)
|
def pkg_config(pkg, option=nil)
|
||||||
if pkgconfig = with_config("#{pkg}-config") and find_executable0(pkgconfig)
|
if pkgconfig = with_config("#{pkg}-config") and find_executable0(pkgconfig)
|
||||||
# iff package specific config command is given
|
# iff package specific config command is given
|
||||||
get = proc {|opt| `#{pkgconfig} --#{opt}`.strip}
|
|
||||||
elsif ($PKGCONFIG ||=
|
elsif ($PKGCONFIG ||=
|
||||||
(pkgconfig = with_config("pkg-config", ("pkg-config" unless CROSS_COMPILING))) &&
|
(pkgconfig = with_config("pkg-config", ("pkg-config" unless CROSS_COMPILING))) &&
|
||||||
find_executable0(pkgconfig) && pkgconfig) and
|
find_executable0(pkgconfig) && pkgconfig) and
|
||||||
system("#{$PKGCONFIG} --exists #{pkg}")
|
system("#{$PKGCONFIG} --exists #{pkg}")
|
||||||
# default to pkg-config command
|
# default to pkg-config command
|
||||||
get = proc {|opt| `#{$PKGCONFIG} --#{opt} #{pkg}`.strip}
|
pkgconfig = $PKGCONFIG
|
||||||
|
get = proc {|opt|
|
||||||
|
opt = IO.popen("#{$PKGCONFIG} --#{opt} #{pkg}", err:[:child, :out], &:read)
|
||||||
|
opt.strip if $?.success?
|
||||||
|
}
|
||||||
elsif find_executable0(pkgconfig = "#{pkg}-config")
|
elsif find_executable0(pkgconfig = "#{pkg}-config")
|
||||||
# default to package specific config command, as a last resort.
|
# default to package specific config command, as a last resort.
|
||||||
get = proc {|opt| `#{pkgconfig} --#{opt}`.strip}
|
else
|
||||||
|
pkgconfig = nil
|
||||||
|
end
|
||||||
|
if pkgconfig
|
||||||
|
get ||= proc {|opt|
|
||||||
|
opt = IO.popen("#{pkgconfig} --#{opt}", err:[:child, :out], &:read)
|
||||||
|
opt.strip if $?.success?
|
||||||
|
}
|
||||||
end
|
end
|
||||||
orig_ldflags = $LDFLAGS
|
orig_ldflags = $LDFLAGS
|
||||||
if get and option
|
if get and option
|
||||||
get[option]
|
get[option]
|
||||||
elsif get and try_ldflags(ldflags = get['libs'])
|
elsif get and try_ldflags(ldflags = get['libs'])
|
||||||
cflags = get['cflags']
|
if incflags = get['cflags-only-I']
|
||||||
|
$INCFLAGS << " " << incflags
|
||||||
|
cflags = get['cflags-only-other']
|
||||||
|
else
|
||||||
|
cflags = get['cflags']
|
||||||
|
end
|
||||||
libs = get['libs-only-l']
|
libs = get['libs-only-l']
|
||||||
ldflags = (Shellwords.shellwords(ldflags) - Shellwords.shellwords(libs)).quote.join(" ")
|
ldflags = (Shellwords.shellwords(ldflags) - Shellwords.shellwords(libs)).quote.join(" ")
|
||||||
$CFLAGS += " " << cflags
|
$CFLAGS += " " << cflags
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue