class Rmk::AR

archive tool ar links static libraries

Attributes

ar[RW]

ar binary

Public Class Methods

new() click to toggle source
Calls superclass method Rmk::LinkerLikeProcessor.new
# File tools/ar.rb, line 12
def initialize
  super
  data = tool_params(:AR, generator.configuration)
  @flags.add(data[:flags])
  @ar = data[:ar]
end

Public Instance Methods

command_create_static_library() click to toggle source
# File tools/ar.rb, line 19
def command_create_static_library
  'rm -f $out && $ar $arflags crs $out $in'
end
ninja_build(writer = generator.ninja) click to toggle source
# File tools/ar.rb, line 35
def ninja_build(writer = generator.ninja)
  lib = "$builddir/#{generator.this_static_library_file_name}"
  writer.build(lib, 'ar', lib_object_files)
  generator.add_to_intermediate_target(:libraries, lib)
  generator.add_to_toplevel_target(%i[default all], :libraries)
end
ninja_rules(writer = generator.ninja) click to toggle source
# File tools/ar.rb, line 30
def ninja_rules(writer = generator.ninja)
  writer.rule('ar', command_create_static_library,
              description: 'AR $out')
end
ninja_variables(writer = generator.ninja) click to toggle source
# File tools/ar.rb, line 23
def ninja_variables(writer = generator.ninja)
  writer.comment 'AR'
  writer.variable('ar', @ar)
  writer.variable('arflags', flags.text)
  writer.newline
end