librsync-sys 0.1.2

Bindings to librsync for calculating and applying network deltas exposed as Reader/Writer streams.
Documentation
extern crate cc;

use std::env;
use std::path::Path;

fn main() {
    let target = env::var("TARGET").unwrap();
    let windows = target.contains("windows");

    let mut cfg = cc::Build::new();

    if windows {
        cfg.define("_WIN32", None);
    }

    let cfg_dir = {
        let mut p = Path::new("librsync/static").to_path_buf();
        p.push(target);
        p
    };

    cfg.include(cfg_dir)
        .include("librsync/static")
        .include("librsync/src")
        .include("librsync/src/blake2")
        .define("STDC_HEADERS", Some("1"))
        .file("librsync/src/base64.c")
        .file("librsync/src/buf.c")
        .file("librsync/src/checksum.c")
        .file("librsync/src/command.c")
        .file("librsync/src/delta.c")
        .file("librsync/src/emit.c")
        .file("librsync/src/fileutil.c")
        .file("librsync/src/hashtable.c")
        .file("librsync/src/hex.c")
        .file("librsync/src/isprefix.c")
        .file("librsync/src/job.c")
        .file("librsync/src/mdfour.c")
        .file("librsync/src/mksum.c")
        .file("librsync/src/msg.c")
        .file("librsync/src/netint.c")
        .file("librsync/src/patch.c")
        .file("librsync/src/prototab.c")
        .file("librsync/src/readsums.c")
        .file("librsync/src/rollsum.c")
        .file("librsync/src/scoop.c")
        .file("librsync/src/stats.c")
        .file("librsync/src/stream.c")
        .file("librsync/src/sumset.c")
        .file("librsync/src/trace.c")
        .file("librsync/src/tube.c")
        .file("librsync/src/util.c")
        .file("librsync/src/version.c")
        .file("librsync/src/whole.c")
        .file("librsync/src/blake2/blake2b-ref.c")
        .compile("librsync.a");
}