[swift-evolution] [swift-build-dev] [Draft] Package Manager Manifest API Redesign

Karl Wagner razielim at gmail.com
Thu Mar 9 12:14:36 CST 2017

> On 28 Feb 2017, at 17:05, Daniel Dunbar via swift-evolution <swift-evolution at swift.org> wrote:
>> On Feb 28, 2017, at 12:28 AM, Jens Nerup <jens at makecph.com <mailto:jens at makecph.com>> wrote:
>> Hello Daniel,
>> In general I’m really happy with the changes in the proposal and especially after you have incorporated the comments from David (Thanks David). In the proposal it is stated that the exclude section may be eliminated as soon as we have custom layouts. My question is: would pkgConfig be a candidate for removal as soon as we have support for custom build configurations?
> I don't think so, I don't think custom build configurations will be a replacement for the pkgConfig functionality, which is trying to gather settings from *outside* the package.
> I agree with the sentiment that it is an awkward thing to have the system module map package initializer, but unfortunately I think we may have to live with it for the time being. We have briefly discussed making it be a target not a package thing, and perhaps the move to using `.target()` should actually encourage us to do that, but that is probably something best done as a follow on to the manifest API redesign (as with exclude) given its limited scope.
>  - Daniel

The pkgConfig functionality could be generalised, though. For example, OSX’s system modulemap (found at: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/module.modulemap) does not provide any linker information. Instead, you need to manually include those weird “.tbd” files in Xcode's “Link Libraries” panel — try a package with "import Darwin.ncurses” and you won’t be able to link.

Either OSX’s system modulemap gets better (and linux’s too, I suppose), or we need the ability to include that linker information in the package manifest for more formats than just pkg-config.

- Karl

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170309/a673db69/attachment.html>

More information about the swift-evolution mailing list