crystal_lib

Version, currently master branch1 version
  • master branchlatestSep 29, 2020

github.com/maxfierke/crystal_lib

Automatic binding generator for native libraries in Crystal

0 stars
0 dependents
License: not declared

Installation

# Add this to your shard.yml
dependencies:
  crystal_lib:
    github: maxfierke/crystal_lib
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.26.0

Dependencies

Runtime Dependencies

  • clang*github: crystal-lang/clang.cr, branch: master

README

crystal_lib Build Status

Automatic binding generator for native libraries in Crystal.

NOTE: THIS PROJECT IS EXPERIMENTAL. WHILE IT'S PROVING USEFUL FOR A WIDE RANGE OF LIBRARIES, THERE ARE STILL SEVERAL CORNER CASES THAT WILL NOT TRANSLATE PROPERLY.

This will eventually be integrated into the compiler itself so you don't have to manually generate these bindings and copy & paste them into your project. The advantage of this is that some types and values vary depending on the platform, so generating these as late as possible is the best thing to do.

Status

For now you can use this as a tool to generate bindings from a lib declaration. Check the examples directory.

Usage

crystal src/main.cr -- examples/lib_git2.cr

This will write the generate lib definition to standard output.