Server : LiteSpeed
System : Linux server64.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User : nimalaab ( 3358)
PHP Version : 8.1.32
Disable Function : NONE
Directory :  /opt/alt/ruby34/share/rubygems/rubygems/ext/cargo_builder/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/alt/ruby34/share/rubygems/rubygems/ext/cargo_builder/link_flag_converter.rb
# frozen_string_literal: true

class Gem::Ext::CargoBuilder < Gem::Ext::Builder
  # Converts Ruby link flags into something cargo understands
  class LinkFlagConverter
    FILTERED_PATTERNS = [
      /compress-debug-sections/, # Not supported by all linkers, and not required for Rust
    ].freeze

    def self.convert(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*([^:\s])+/ # -lfoo, but not -l:libfoo.a
        ["-l", $1]
      when /^-F\s*(.*)$/
        ["-l", "framework=#{$1}"]
      else
        ["-C", "link-args=#{arg}"]
      end
    end
  end
end

F1le Man4ger