Module: MachO::Tools
- Defined in:
- lib/macho/tools.rb
Overview
A collection of convenient methods for common operations on Mach-O and Fat binaries.
Class Method Summary collapse
-
.add_rpath(filename, new_path) ⇒ void
Add a runtime path to a Mach-O or Fat binary, overwriting the source file.
-
.change_dylib_id(filename, new_id) ⇒ void
Changes the dylib ID of a Mach-O or Fat binary, overwriting the source file.
-
.change_install_name(filename, old_name, new_name) ⇒ void
Changes a shared library install name in a Mach-O or Fat binary, overwriting the source file.
-
.change_rpath(filename, old_path, new_path) ⇒ void
Changes a runtime path in a Mach-O or Fat binary, overwriting the source file.
-
.delete_rpath(filename, old_path) ⇒ void
Delete a runtime path from a Mach-O or Fat binary, overwriting the source file.
-
.dylibs(filename) ⇒ Array<String>
An array of all dylibs linked to the binary.
Class Method Details
.add_rpath(filename, new_path) ⇒ void
unstub
This method returns an undefined value.
Add a runtime path to a Mach-O or Fat binary, overwriting the source file.
59 60 61 |
# File 'lib/macho/tools.rb', line 59 def self.add_rpath(filename, new_path) raise "stub" end |
.change_dylib_id(filename, new_id) ⇒ void
unstub for fat files
This method returns an undefined value.
Changes the dylib ID of a Mach-O or Fat binary, overwriting the source file.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/macho/tools.rb', line 17 def self.change_dylib_id(filename, new_id) file = MachO.open(filename) if File.is_a? MachO::MachOFile file.dylib_id = new_id file.write! else raise MachOError.new("changing dylib ids for fat binaries is incomplete") end end |
.change_install_name(filename, old_name, new_name) ⇒ void
unstub for fat files
This method returns an undefined value.
Changes a shared library install name in a Mach-O or Fat binary, overwriting the source file.
34 35 36 37 38 39 40 41 42 |
# File 'lib/macho/tools.rb', line 34 def self.change_install_name(filename, old_name, new_name) file = MachO.open(filename) if File.is_a? MachO::MachOFile file.change_install_name(old_name, new_name) else raise MachOError.new("changing install names for fat binaries is incomplete") end end |
.change_rpath(filename, old_path, new_path) ⇒ void
unstub
This method returns an undefined value.
Changes a runtime path in a Mach-O or Fat binary, overwriting the source file.
50 51 52 |
# File 'lib/macho/tools.rb', line 50 def self.change_rpath(filename, old_path, new_path) raise "stub" end |
.delete_rpath(filename, old_path) ⇒ void
unstub
This method returns an undefined value.
Delete a runtime path from a Mach-O or Fat binary, overwriting the source file.
68 69 70 |
# File 'lib/macho/tools.rb', line 68 def self.delete_rpath(filename, old_path) raise "stub" end |