From: nobu@... Date: 2021-03-18T23:30:03+00:00 Subject: [ruby-core:102921] [Ruby master Bug#17730] Ruby on macOS transitively links to ~150 dylibs Issue #17730 has been updated by nobu (Nobuyoshi Nakada). `-lobjc` has been intentionally linked to link startup code with Objective-C support, by the request for extension libraries written in it. ---------------------------------------- Bug #17730: Ruby on macOS transitively links to ~150 dylibs https://bugs.ruby-lang.org/issues/17730#change-90986 * Author: rickmark (Rick Mark) * Status: Open * Priority: Normal * ruby -v: 3.0.0 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- 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_before.txt (9.81 KB) 0001-Remove-unneeded-dependencies-on-macOS.patch (2.36 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: