Gage, For what it's worth, after running `git init` and `git tag -f 1.0.0` in `CCairo` to get something importable, I run into this error:
:; swift build Cloning Packages/CCairo <unknown>:0: error: no such file or directory: '/Users/solidsnack/Downloads/Sources/example/Packages/CCairo/Package.swift' On Tue, 8 Dec 2015 at 18:22 Gage Morgan via swift-users <[email protected]> wrote: > > Okay, I've filed a report. To make it easier, the thing's code is SR-152. > > https://bugs.swift.org/browse/SR-152 > > ________________________________ > From: [email protected] > To: [email protected]; [email protected] > > Subject: RE: [swift-users] Binding Regular C Functions (Gtk, Cairo, etc.) > Date: Tue, 8 Dec 2015 18:11:03 -0500 > > What I'd like to know is, what is the "link: " part of the module.modulemap > for? I pasted in the cairo.so part, but this only said that after doing so. > I'd honestly just like to make sure this works. > > ________________________________ > To: [email protected]; [email protected] > Date: Tue, 8 Dec 2015 18:07:25 -0500 > > Subject: Re: [swift-users] Binding Regular C Functions (Gtk, Cairo, etc.) > From: [email protected] > > > > > ________________________________ > From: [email protected] > To: [email protected] > Subject: RE: [swift-users] Binding Regular C Functions (Gtk, Cairo, etc.) > Date: Tue, 8 Dec 2015 18:03:42 -0500 > > So...including cairo in an app returns this: > > Linking Executable: .build/debug/example > /usr/bin/ld: cannot find -l/usr/lib/x86_64-linux-gnu/libcairo.so > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > <unknown>:0: error: link command failed with exit code 1 (use -v to see > invocation) > <unknown>:0: error: build had 1 command failures > swift-build: exit(1): > ["/home/mgage/Downloads/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu15.10/usr/bin/swift-build-tool", > "-f", "/home/mgage/Sources/example/.build/debug/example.o/llbuild.yaml"] > > What went amiss? > > ________________________________ > From: [email protected] > Subject: Re: [swift-users] Binding Regular C Functions (Gtk, Cairo, etc.) > Date: Mon, 7 Dec 2015 19:27:56 -0800 > To: [email protected] > > Once you have followed the instructions to create a system package, your own > package declares a dependency on that package. This is also covered in those > steps. > > To use the C APIs in your code, simply import the name of the module (as > defined by the modulemap entry) in your swift file. It should just work. > > For instance, in the example from the sysmodules doc link I sent, you just > > import CJPEG > > > > The C functions will have the same name in Swift as their C counterparts. The > types might adjust to UnsafePointer etc.. For a list of those Swift bindings, > run the REPL and import your module, then perform “:type lookup Module” to > get a printout of available APIs. > > - mish > > On Dec 7, 2015, at 6:40 PM, Gage Morgan <[email protected]> wrote: > > I read that. What I want to know is how to bind the functions themselves > after creating a system package. How to use the c functions that got > imported, if you will. > > Sent from Outlook > > > > > On Mon, Dec 7, 2015 at 6:39 PM -0800, "Mish Awadah" <[email protected]> wrote: > > Please see the reference at > https://github.com/apple/swift-package-manager/blob/master/Documentation/SystemModules.md > > - mish > > On Dec 7, 2015, at 6:33 PM, Gage Morgan via swift-users > <[email protected]> wrote: > > For any project: How is a C to Swift function binding created? I'd like to > know how to import C functions to Swift. Once I can do this successfully, > I'll be all set. > > Sent from Outlook > > _______________________________________________ > swift-users mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-users > > > > > _______________________________________________ swift-users mailing list > [email protected] https://lists.swift.org/mailman/listinfo/swift-users > _______________________________________________ > swift-users mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-users _______________________________________________ swift-users mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-users
