class RbSys::CargoBuilder::LinkFlagConverter
@api private
Converts Ruby link flags into something cargo understands
def self.convert(args)
def self.convert(args) Shellwords.split(args).flat_map { |arg| convert_arg(arg) } end
def self.convert_arg(arg)
def self.convert_arg(arg) return [] if FILTERED_PATTERNS.any? { |p| p.match?(arg) } case arg.chomp when /^-L\s*(.+)$/ ["-L", "native=#{$1}"] when /^--library=(\w+\S+)$/, /^-l\s*(\w+\S+)$/ ["-l", $1] when /^-l\s*:lib(\S+).(so|dylib|dll)$/ ["-l", "dylib=#{$1}"] when /^-F\s*(.*)$/ ["-l", "framework=#{$1}"] else ["-C", "link-arg=#{arg}"] end end