Project

General

Profile

Actions

Feature #17730

closed

Ruby on macOS transitively links to ~150 dylibs

Added by rickmark (Rick Mark) over 3 years ago. Updated over 3 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:102919]

Description

By using -framework Security and -framework Foundation Ruby 3 pulls in about 150 dylibs when compiled for macOS

By using CoreCrypto / CoreFoundation I was able to reduce this to ~50. This greatly reduces Ruby's surface area and dependencies on macOS. Further CoreFoundation is only used for one call in the entire codebase of CFStringNormalize(m, kCFStringNormalizationFormC); - if we can replace this, Ruby could work with only libSystem and libgmp.


Files

ruby_deps_after.txt (2.24 KB) ruby_deps_after.txt rickmark (Rick Mark), 03/18/2021 07:16 PM
ruby_deps_before.txt (9.81 KB) ruby_deps_before.txt rickmark (Rick Mark), 03/18/2021 07:16 PM
0001-Remove-unneeded-dependencies-on-macOS.patch (2.36 KB) 0001-Remove-unneeded-dependencies-on-macOS.patch rickmark (Rick Mark), 03/18/2021 07:16 PM
ruby_final.txt (2.24 KB) ruby_final.txt rickmark (Rick Mark), 03/22/2021 07:50 PM

Related issues 1 (1 open0 closed)

Related to Ruby master - Feature #17741: Ruby links to `objc` for convenience - this should be moved into a native extOpenActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0