diff --git a/.gitignore b/.gitignore index d7e225c..f60cb7b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ target Cargo.lock -mongo_c_driver_wrapper/mongo-c-driver* -mongo_c_driver_wrapper/src/bindings.rs +mongoc-sys/mongo-c-driver* +mongoc-sys/src/bindings.rs diff --git a/Cargo.toml b/Cargo.toml index 01db1fa..6b3cb44 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,6 +17,6 @@ libc = "*" [dependencies.bson] git = "https://github.com/zonyitoo/bson-rs.git" -[dependencies.mongo_c_driver_wrapper] -path = "mongo_c_driver_wrapper" +[dependencies.mongoc-sys] +path = "mongoc-sys" version = "1.1.10" diff --git a/mongo_c_driver_wrapper/Cargo.toml b/mongoc-sys/Cargo.toml similarity index 71% rename from mongo_c_driver_wrapper/Cargo.toml rename to mongoc-sys/Cargo.toml index 6b43be9..3dcf481 100644 --- a/mongo_c_driver_wrapper/Cargo.toml +++ b/mongoc-sys/Cargo.toml @@ -1,11 +1,13 @@ [package] -name = "mongo_c_driver_wrapper" +name = "mongoc-sys" version = "1.1.10" -build = "build.rs" authors = ["Thijs Cadier "] +build = "build.rs" +links = "mongoc" [dependencies] -libc = "*" +libc = "*" +openssl-sys = "*" [build-dependencies.bindgen] git = "https://github.com/crabtw/rust-bindgen.git" diff --git a/mongo_c_driver_wrapper/build.rs b/mongoc-sys/build.rs similarity index 91% rename from mongo_c_driver_wrapper/build.rs rename to mongoc-sys/build.rs index fcae5f3..40f3913 100644 --- a/mongo_c_driver_wrapper/build.rs +++ b/mongoc-sys/build.rs @@ -107,15 +107,7 @@ fn main() { } // Output to Cargo - println!("cargo:root={}", &out_dir); - println!("cargo:libdir={}/lib", &out_dir); - println!("cargo:include={}/include", &out_dir); - println!("cargo:rustc-link-search={}/lib", &out_dir); + println!("cargo:rustc-link-search=native={}/lib", &out_dir); println!("cargo:rustc-link-lib=static=bson-1.0"); println!("cargo:rustc-link-lib=static=mongoc-1.0"); - - // Link openssl dynamically - // TODO see if we can make this compatible with openssl-sys - println!("cargo:rustc-link-lib=dylib=ssl"); - println!("cargo:rustc-link-lib=dylib=crypto"); } diff --git a/mongo_c_driver_wrapper/src/lib.rs b/mongoc-sys/src/lib.rs similarity index 76% rename from mongo_c_driver_wrapper/src/lib.rs rename to mongoc-sys/src/lib.rs index 7dfe404..5a55029 100644 --- a/mongo_c_driver_wrapper/src/lib.rs +++ b/mongoc-sys/src/lib.rs @@ -1,4 +1,5 @@ extern crate libc; +extern crate openssl_sys; #[allow(non_camel_case_types,non_snake_case)] pub mod bindings; diff --git a/src/bsonc.rs b/src/bsonc.rs index b39c9f2..096a112 100644 --- a/src/bsonc.rs +++ b/src/bsonc.rs @@ -7,7 +7,7 @@ use libc::types::common::c95::c_void; use super::BsoncError; -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; use bson; use super::Result; diff --git a/src/bulk_operation.rs b/src/bulk_operation.rs index 6e27325..42cedc3 100644 --- a/src/bulk_operation.rs +++ b/src/bulk_operation.rs @@ -1,8 +1,4 @@ -extern crate libc; -extern crate mongo_c_driver_wrapper; -extern crate bson; - -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; use bson::Document; use super::BsoncError; diff --git a/src/client.rs b/src/client.rs index 5470983..2febda9 100644 --- a/src/client.rs +++ b/src/client.rs @@ -6,7 +6,7 @@ use std::ptr; use std::io; use std::fs::File; -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; use bson::Document; diff --git a/src/collection.rs b/src/collection.rs index 9a5953d..1164eb2 100644 --- a/src/collection.rs +++ b/src/collection.rs @@ -2,7 +2,7 @@ use std::ptr; use std::ffi::CStr; use std::borrow::Cow; -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; use bson::Document; diff --git a/src/cursor.rs b/src/cursor.rs index dd23974..e0fb105 100644 --- a/src/cursor.rs +++ b/src/cursor.rs @@ -2,7 +2,7 @@ use std::iter::Iterator; use std::ptr; use std::thread; -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; use bson::{Bson,Document,oid}; use super::BsoncError; diff --git a/src/database.rs b/src/database.rs index 1b1e1ec..1a604a4 100644 --- a/src/database.rs +++ b/src/database.rs @@ -2,7 +2,7 @@ use std::ffi::{CString,CStr}; use std::borrow::Cow; use std::ptr; -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; use bson::Document; use super::Result; diff --git a/src/error.rs b/src/error.rs index 3c93974..3156ddb 100644 --- a/src/error.rs +++ b/src/error.rs @@ -5,7 +5,7 @@ use std::ffi::CStr; use bson::{DecoderError,EncoderError,ValueAccessError}; -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; pub enum MongoError { Bsonc(BsoncError), diff --git a/src/flags.rs b/src/flags.rs index 61e9354..54dae63 100644 --- a/src/flags.rs +++ b/src/flags.rs @@ -1,4 +1,4 @@ -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; use std::collections::BTreeSet; diff --git a/src/lib.rs b/src/lib.rs index 1f3a886..65cbe47 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,7 @@ #![feature(convert)] extern crate libc; -extern crate mongo_c_driver_wrapper; +extern crate mongoc_sys as mongoc; #[macro_use] extern crate bson; @@ -9,7 +9,7 @@ extern crate bson; use std::result; use std::sync::{Once,ONCE_INIT}; -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; pub mod bulk_operation; pub mod client; diff --git a/src/read_prefs.rs b/src/read_prefs.rs index d270fad..fb483ea 100644 --- a/src/read_prefs.rs +++ b/src/read_prefs.rs @@ -1,4 +1,4 @@ -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; pub enum ReadMode { Primary, diff --git a/src/uri.rs b/src/uri.rs index d378025..c6c30a9 100644 --- a/src/uri.rs +++ b/src/uri.rs @@ -2,7 +2,7 @@ use std::borrow::Cow; use std::ffi::{CStr,CString}; use std::fmt; -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; /// Abstraction on top of MongoDB connection URI format. /// See: http://api.mongodb.org/c/current/mongoc_uri_t.html diff --git a/src/write_concern.rs b/src/write_concern.rs index 3d3e00e..219bb6b 100644 --- a/src/write_concern.rs +++ b/src/write_concern.rs @@ -1,4 +1,4 @@ -use mongo_c_driver_wrapper::bindings; +use mongoc::bindings; pub struct WriteConcern { inner: *mut bindings::mongoc_write_concern_t