Skip to content

pierre/libsmile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Libsmile

C implementation of the Smile binary format (wiki.fasterxml.com/SmileFormatSpec).

Getting started

C build

To boostrap the build (you need autotools):

cd c/ && bash build.sh

You can then build via ‘make’ and run tests via ‘make check’.

By default, the build produces multiple artifacts:

* src/smile: command line utility to decode a Smile file (similar to zcat)
* src/libsmile_decode-1.0.{la,dylib}: library to decode Smile (see smile_decode.h for signatures)
* test/smile_tests: command line utility to run tests

Ruby C extension

To bootstrap the build (you need mkmf):

cd ruby/src && ruby extconf.rb

You can then build via ‘make’.

The build produces a smile.bundle/smile.so file. To use it:

DYLD_INSERT_LIBRARIES=$PWD/../../c/src/libsmile_decode-1.0.0.dylib irb

> require 'smile'
> p = Smile::Parser.new("data.smile")
> puts p.check_header
 => true

License (see LICENSE-2.0.txt file for full license)

Copyright 2011 Pierre-Alexandre Meyer

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.