class Cxxproject::OsxSharedLibs

Public Instance Methods

calc(linker, bb) click to toggle source
# File lib/cxxproject/buildingblocks/shared_libs_helper.rb, line 14
def calc(linker, bb)
  flags = ['-install_name', bb.get_output_name(linker)]
  if bb.compatibility != nil
    flags << '-compatibility_version'
    flags << bb.compatibility
  end
  if bb.minor != nil
    flags << '-current_version'
    flags << bb.minor
  end
  flags
end
get_basic_name(linker, bb) click to toggle source

For :major=>A, minor=>1.0.1, compatibility=>1.0.0 basic is ‘libfoo.A.so’

# File lib/cxxproject/buildingblocks/shared_libs_helper.rb, line 28
def get_basic_name(linker, bb)
  prefix = bb.get_output_prefix(linker)
  name = bb.name
  dylib = bb.shared_suffix linker
  return "#{prefix}#{name}#{dylib}"
end
get_version_suffix(linker, bb) click to toggle source
# File lib/cxxproject/buildingblocks/shared_libs_helper.rb, line 43
def get_version_suffix(linker, bb)
  bb.major ? ".#{bb.major}" : ''
end
post_link_hook(linker, bb) click to toggle source

Some symbolic links ln -s foo.dylib foo.A.dylib

# File lib/cxxproject/buildingblocks/shared_libs_helper.rb, line 38
def post_link_hook(linker, bb)
  basic_name = get_basic_name(linker, bb)
  symlink_lib_to(basic_name, bb)
end