[swift-users] C vararg: Swift Package Manager and System Modules
Daniel Eggert
danieleggert at me.com
Thu Dec 17 15:47:25 CST 2015
If I need access to the C fcntl(2):
int fcntl(int, int, ...)
can I get the swift-package-manager or swift-build-tool to compile C code that wraps this into a non-vararg version:
int SocketHelper_fcntl_setFlags(int const fildes, int const flags)
{
return fcntl(fildes, F_SETFL, flags);
}
int SocketHelper_fcntl_getFlags(int const fildes)
{
return fcntl(fildes, F_GETFL);
}
?
The “System Modules” approach from <https://github.com/apple/swift-package-manager/blob/master/Documentation/SystemModules.md> doesn’t really work. I’d have to create a .a file and put it into a /usr/lib/SocketHelper.so and /usr/include/SocketHelper.h -- which doesn’t make much sense for something this specific and trivial.
Should I look into libffi for this particular case?
/Daniel
More information about the swift-users
mailing list