[swift-corelibs-dev] exit
Chris Lattner
clattner at apple.com
Sun Jan 17 12:11:50 CST 2016
> On Jan 14, 2016, at 9:04 AM, Tony Parker via swift-corelibs-dev <swift-corelibs-dev at swift.org> wrote:
>
> Do we control this via the module map or some other mechanism?
>
> I could see re-exporting Glibc on Linux as a reasonable solution for now.
This seems like the best short-term solution to me.
It would be ideal (IMO) to define a common “POSIX” (or something like that) module which would have shared unix level interfaces that would portable to all platforms. Then corelibs-foundation could re-export THAT module, providing a common set of APIs on all platforms. A POSIX module would also eliminate the annoying #import glibc/darwin #ifdef dance in many cases.
-Chris
>
> - Tony
>
>> On Jan 14, 2016, at 9:04 AM, Philippe Hausler via swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>> wrote:
>>
>> The reason is that Foundation on darwin re-exports modules below it (by the virtue of objective-c headers) and the linux version is not re-exporting Glibc.
>>
>>> On Jan 14, 2016, at 8:44 AM, Drew Crawford via swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>> wrote:
>>>
>>> on Darwin, we can say:
>>>
>>> import Foundation
>>> exit(2)
>>>
>>> I'm not totally sure how this works, since exit is provided by Darwin, not by Foundation. But somehow importing Foundation imports Darwin as well.
>>>
>>> I think for source compatibility, we should support this, because people <http://stackoverflow.com/questions/34186994/swift-2-2-on-linux-use-of-unresolved-identifier-exit> are asking <http://stackoverflow.com/questions/24102157/seeking-an-exit-equivalent-in-swift> why it doesn't work out of the box.
>>>
>>> I considered PRing an exit implementation in corelibs-foundation, but I think that might cause the opposite problem–introduce a conflict between Darwin/Glibc exit and Foundation "exit".
>>>
>>> Can someone speak to how this is solved in Darwin Foundation and what we should do about it?
>>>
>>> _______________________________________________
>>> swift-corelibs-dev mailing list
>>> swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>
>>
>> _______________________________________________
>> swift-corelibs-dev mailing list
>> swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>
>
> _______________________________________________
> swift-corelibs-dev mailing list
> swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20160117/911ace7b/attachment.html>
More information about the swift-corelibs-dev
mailing list