Monday, 7 October 2019

Are "link framework" lines necessary in a modulemap file?

Some framework files come with a module.modulemap that contain "link framework" lines. For example, here is the current content of Intercom's module.modulemap file:

framework module Intercom {
  umbrella header "Intercom.h"

  [...]

  link framework "Foundation"
  link framework "UIKit"
  link framework "Accelerate"
  [...]
}

I wanted to find out why the link framework lines are necessary, so I tried to create a new project for a framework target using on Xcode 10.2, but regardless of what I do, it seems like the module.modulemap file will simply be untouched (which is understandable, it seems like this file is meant to be manually modified).

What I want to know is, why is this necessary in the first place? The blame info + corresponding release notes seem to suggest that said lines were added to fix issues with dynamic frameworks and duplicate symbols, but not much more.



from Are "link framework" lines necessary in a modulemap file?

No comments:

Post a Comment