Commit Graph

244 Commits

Author SHA1 Message Date
Nazar Mishturak
bc9b40a444 Add support for linking to winsqlite3
Signed-off-by: Nazar Mishturak <nazarmx@gmail.com>
2020-10-04 11:40:53 -07:00
gwenn
78275ab614 Upgrade to bindgen 0.55 2020-08-27 21:18:34 +02:00
Damien Elmes
6e33947c2a update to sqlite 3.33.0 2020-08-17 11:01:19 +10:00
gwenn
18f49164ea Upgrade SQLite bundled sources to 3.23.3 2020-08-09 08:35:23 +02:00
Tjeu Kayim
464b8283b2 Add feature flag to include wasm32-wasi-vfs.c 2020-07-24 10:34:00 -07:00
Tjeu Kayim
1483f1cdf5 Support wasm32-wasi target 2020-07-24 10:34:00 -07:00
Sergey Duck
c00471197a Add cross-compilation with mingw 2020-07-04 03:30:32 -07:00
Dubiousjim
a9b700c841 sys/build.rs: LIBSQLITE3_FLAGS hook
Enables compiling bundled sources with different flags.
Env variable name modeled after LIBSQLITE3_SYS_BUNDLING.
May want to println!("cargo:warning=...") instead of panicking.
2020-06-25 09:45:34 -07:00
Dubiousjim
32df49ca34 sys/build.rs: fix comment about {}_STATIC 2020-06-25 09:45:34 -07:00
Dubiousjim
4504eb0ae0 sys/build.rs: SQLITE_HAVE_ISNAN -> HAVE_ISNAN
SQLite treats these flags equivalently. Omitting the SQLITE_ prefix to
be more like HAVE_USLEEP, HAVE_LOCALTIME_R.
2020-06-25 09:45:34 -07:00
Dubiousjim
db64b8dfb0 sys/Cargo.toml: preupdate_hook, session require buildtime_bindgen
We add an explicit "buildtime_bindgen" to the "session" feature, rather
than just relying on the transitive "session" -> "preupdate_hook" ->
"buildtime_bindgen", to proof against possible future changes.
2020-06-25 09:45:34 -07:00
gwenn
57e737f418 Try to fix Clippy warnings 2020-06-05 19:25:45 +02:00
gwenn
870290c64d Upgrade bundled sqlite to 3.32.2 2020-06-05 19:16:51 +02:00
Evgeniy A. Dushistov
8cdfaf36ae little speedup for bundled sqlite3.c 2020-05-29 17:02:37 -07:00
gwenn
c1142c309e Upgrade to bindgen 0.54 2020-05-29 17:02:16 -07:00
gwenn
36745757bc Include LICENSE into the libsqlite3-sys crate
Fix #736
2020-05-16 13:22:09 +02:00
Thom Chiovoloni
185899eab1 Run asan in CI. Fixes #713 2020-04-16 03:09:51 -07:00
Thom Chiovoloni
9322b0e881 Update links & copyright statement 2020-04-15 21:37:39 -07:00
Thom Chiovoloni
e85963852d Fix shellcheck compaints about upgrade.sh 2020-04-15 09:49:23 -07:00
Thom Chiovoloni
22564d3099 Upgrade bundled sqlite to 3.31.1 2020-04-10 16:15:34 -07:00
Thom Chiovoloni
288aa961a7 Exclude va_list and functions using it from the bundled bindings file 2020-04-10 05:29:35 -07:00
Thom Chiovoloni
6b8e2fc02b Prep rusqlite 0.22.0 and libsqlite3-sys 0.17.3 2020-04-08 10:59:28 -07:00
Thom Chiovoloni
6f6f7ffd9f
Add #[non_exhaustive] to enums that might get new variants. (#673)
This just using them in patterns without a catchall. I left things alone
that seem very unlikely to change (`Value`, `ValueRef`, `DatabaseName`,
etc...). This might help reduce the number of breaking changes we need
(rusqlite is still pre-1.0 so it doesn't really matter that much, but
breaking changes complicate the story around when we can cut releases).
2020-04-06 12:01:39 -07:00
Thom Chiovoloni
26c744d0c3
Improve CI test coverage (#670)
* Improve CI test coverage

* Run clippy/rustfmt/rustdoc in CI

* Disable warnings when building bundled sqlite
2020-04-06 10:43:43 -07:00
Thom Chiovoloni
521f8dc481
Prep for libsqlite3-sys 0.17.2 (#667)
This is essentially to get a release out that contains `in_gecko` so
that this library can be used in firefox.

Note: This had temporarially been 0.18.0, but as noted in
https://github.com/jgallagher/rusqlite/pull/619#discussion_r370435032
there isn't an actual need for this, as it isn't a breaking change.

By releasing it as 0.17.2, we can still link rusqlite 0.21 against it,
which lets us avoid needing to cut a release of rusqlite just for a
gecko-specific linkage flag (I imagine there are a few more rusqlite
features we'd want for the next release).
2020-04-06 10:07:55 -07:00
Thom Chiovoloni
a2db66ee3e Add in_gecko feature to libsqlite3-sys to bypass linking. 2020-04-03 13:37:56 -07:00
gwenn
f971c6e625 Fix clippy warnings 2020-03-14 07:41:57 +01:00
gwenn
15fc3b4b71 Clippy + rust fmt 2020-02-22 11:50:00 +01:00
gwenn
2a90073c1e
Merge pull request #629 from gwenn/const
Add missing constants
2020-02-09 12:11:05 +01:00
gwenn
05e87b8d8d Add missing constants 2020-02-09 11:47:01 +01:00
gwenn
9ca29b950e
Merge pull request #627 from gwenn/ignore_path_change
Ignore PATH change
2020-02-09 08:24:41 +01:00
gwenn
b0be8a1536 Upgrade to bindgen 0.53 2020-02-08 11:12:18 +01:00
gwenn
17759a912e Ignore PATH change
Cargo itself changes the PATH.
So `libsqlite3-sys` is always rebuilt on Windows platform.
To avoid this, we ignore PATH change.
If the PATH has been modified in such a way that a different SQLite library is found,
you will have to also modify SQLITE3_LIB_DIR to make cargo rebuild `libsqlite3-sys`

Fix #435.
2020-02-08 10:25:52 +01:00
gwenn
055352f07b
Merge pull request #619 from KamranMackey/master
Upgraded the bundled SQLite version to 3.31.0.
2020-01-26 21:02:09 +01:00
Kamran Mackey
c3f83c281a Upgrade bundled SQLite version to 3.31.0.
Signed-off-by: Kamran Mackey <kamranm1200@gmail.com>
2020-01-26 12:44:03 -07:00
gwenn
cf7e2b5aec Add missing error codes 2020-01-26 18:24:09 +01:00
Thom Chiovoloni
c70d148542 Remove most of the code using feature=bundled as a version check 2020-01-14 08:11:36 -08:00
gwenn
dbc25a9fd5 Prepare 0.17.1 of libsqlite3-sys 2020-01-09 19:13:47 +01:00
Thom Chiovoloni
844839d9a5 Allow crates with a direct dep on libsqlite3-sys to know if sqlcipher has been enabled 2020-01-08 04:11:39 -08:00
gwenn
2d25b34428 Fix some Clippy warnings 2019-12-19 20:08:04 +01:00
gwenn
fe81e7bc10
Merge pull request #601 from gwenn/bindgen
Upgrade bindgen to version 0.52
2019-12-14 08:34:42 +01:00
gwenn
cade470f15 Use runtime feature for bindgen
https://github.com/rust-lang/rust-bindgen/issues/1694#issuecomment-565625756
> Are you using default-features = false? I think you need to change to
features = ["dynamic"] if so so that clang is runtime-detected.
Otherwise it needs a relatively-new libclang version.
2019-12-14 08:18:21 +01:00
gwenn
a0551496d8 Upgrade bindgen to version 0.52 2019-12-13 18:21:38 +01:00
Jake McGinty
8e1f70d465
Download sqlite source via HTTPS. 2019-12-05 11:46:23 +09:00
gwenn
8302a50fb8 Fix clippy warnings 2019-11-03 11:19:07 +01:00
gwenn
a7ad3849da Upgrade bundled SQLite version to 3.30.1 2019-10-19 09:16:14 +00:00
gwenn
08e32444c9 Cleanup use statements 2019-08-17 08:18:37 +02:00
gwenn
e4fecf7fb8 Rustfmt 2019-08-09 20:03:46 +02:00
Richard Dodd
a50d37bd3a Handle old versions of visual studio 2019-07-28 17:05:34 +01:00
gwenn
813ec1272e Upgrade dependencies
bindgen 0.51
url 2.0
2019-07-27 09:14:55 +02:00
gwenn
be12a78e60 Upgrade bundled SQLite version to 3.29 2019-07-11 16:27:07 +00:00
gwenn
8070f3cbe6 Remove bindgen defaut features 2019-07-03 21:12:47 +02:00
gwenn
54ccb0d026 Upgrade bindgen to 0.50 2019-07-03 21:06:22 +02:00
gwenn
a52eeb2565 [ci skip] Prepare release 0.19
rusqlite 0.19.0
And libsqlite3-sys 0.15.0
2019-06-26 18:13:41 +02:00
gwenn
b9a4628b47 [ci skip] rustftmt 2019-06-25 20:40:28 +02:00
kpcyrd
73f1ef817f Add bundled-windows feature 2019-06-21 06:43:39 +02:00
gwenn
db74fda4d8 [ci skip] rustfmt 2019-06-02 09:12:51 +02:00
Julius de Bruijn
bf0eea5d60 Rerun build if max vars or exprs change in the env 2019-05-15 20:23:20 +02:00
Julius de Bruijn
d034cd56b7 Get MAX_VARIABLE_NUMBER and EXPR_DEPTH as env variables 2019-05-15 18:41:23 +02:00
Julius de Bruijn
4b9295c186 Increase bundled SQLite variables and depth
We've been hitting the default `MAX_VARIABLE_NUMBER` and
`MAX_EXPR_DEPTH` with quite basic tests here in Prisma. I was able to
run the tests by using the Arch Linux packaged libsqlite3, but when
turning on the bundled version I was able to get my test to crash with
this test project:

https://github.com/pimeys/sqlite_parameter_test

Now taking a look how Arch Linux builds sqlite, I was able to find two
flags fixing the issue:

https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/sqlite#n35

I think it would be safe to include them in rusqlite.
2019-05-15 10:33:22 +02:00
gwenn
13ee12cb0c Upgrade bundled SQLite sources to 3.28.0
Also upgrade bindgen to 0.49
2019-04-25 18:50:21 +02:00
gwenn
c0e6a584ad Prepare 0.14.0 release 2019-04-24 18:03:11 +02:00
Thom Chiovoloni
fe80b51e89 Allow specifying both sqlcipher and bundled.
This is useful because currently, when using `rusqlite` in a Cargo
workspace with one crate that uses `sqlcipher` and another that uses
`bundled`, a build error will be triggered by an unqualified `cargo
build` (as cargo will use the union of all features enabled by crates in
the workspace).

Instead of panicing, this just emits a warning, before (mostly) ignoring
that the `bundled` feature was specified. Note: in this configuration,
we still use our bundled bindings, to avoid changing `rusqlite` to
handle this edge case (hence 'mostly').
2019-04-19 11:57:29 -07:00
gwenn
b24f3c5519
Merge pull request #483 from technic/master
Clarify instruction for building with vcpkg
2019-03-25 20:00:36 +01:00
Alex Maystrenko
f702bc0797 rebuild when VCPKGRS_DYNAMIC changes 2019-03-24 21:21:13 +01:00
gwenn
e760344351 Upgrade bundled version to SQLite 3.27.2
And upgrade to bindgen 0.48
2019-03-10 13:49:21 +01:00
Will Davis
9f009fe1e0 Use pkg-config to generate sqlite link dependencies
When built as a static library, sqlite (or sqlcipher) doesn't carry
additional link dependencies with it, and the libsqlite3-sys rlib
doesn't pick them up either. A dependent crate attempting to link
against rusqlite then has to specify these additional link commands,
and even then they need to be specified before the libsqlite3-sys
rlib is specified on the command line.

Fix this by attempting to use pkg-config when the
(SQLITE3|SQLCIPHER)_LIB_DIR is specified, since these builds produce
the pkg-config link dependency information, and the pkg_config crate
can automatically generate the correct link commands using that.

(Additionally, since (SQLITE3|SQLCIPHER)_STATIC is already defined,
or not, the --static flag will be correctly configured for pkg_config)
2019-02-04 22:53:57 -06:00
gwenn
62d5ffe678 Fix some enum representation 2019-02-02 11:04:46 +01:00
gwenn
1c3ad27b2f Upgrade to bindgen 0.47 2019-01-26 10:54:21 +01:00
gwenn
dbc4eef657
Session extension (#459)
Session extension bindings
2019-01-13 12:46:19 +01:00
gwenn
f9a08d7a5c Prepare for next release 2019-01-06 09:56:55 +01:00
gwenn
8cf11b18b3 Upgrade to bindgen 0.46 2019-01-06 09:55:56 +01:00
gwenn
6d668d798a Restore old bindgen for Diesel 2019-01-06 09:50:35 +01:00
gwenn
2c872fc763 Upgrade to bindgen 0.45 2018-12-16 09:53:19 +01:00
gwenn
287e2f5dbc Fix vtab modules
`xShadowName` added
2018-12-15 10:51:02 +01:00
gwenn
ae461b8ed2 Upgrade bundled version to SQLite 3.26.0 2018-12-15 10:19:53 +01:00
Thom Chiovoloni
4fd00a6311 Add support for forcing cargo:rustc-link-lib to link as native 2018-12-14 17:12:31 -08:00
gwenn
d874180333 Rust 2018 idioms 2018-12-07 21:57:04 +01:00
gwenn
626118ce07 Merge remote-tracking branch 'jgallagher/master' into 2018 2018-12-06 18:50:21 +01:00
gwenn
d5ce4c234b Upgrade to bindgen 0.44 2018-11-30 18:55:25 +01:00
gwenn
f04047db01 Rust 2018 2018-10-30 20:15:08 +01:00
gwenn
e5b1af51ab Allow build time bindgen of bundled SQLite
Rewrite https://github.com/jgallagher/rusqlite/pull/320
2018-10-28 18:16:48 +01:00
gwenn
567e36424b Upgrade to bindgen 0.43 2018-10-28 08:33:25 +01:00
gwenn
b4f93328f6
[ci skip] prepare version 0.10.0 2018-10-21 15:40:32 +02:00
gwenn
382cac1abb Try to fix AppVayor build 2018-10-10 20:23:40 +02:00
gwenn
557156fef7 Upgrade bindgen and SQLite bundled sources 2018-10-07 11:57:21 +02:00
gwenn
6f5ffa2f19 Regenerate bindgen on linux 2018-09-17 19:39:49 +02:00
gwenn
fde3a59488 Upgrade bundled version to SQLite 3.25.0 2018-09-17 18:42:19 +02:00
gwenn
27939d01c9 Upgrade to bindgen 0.40 2018-09-08 11:19:24 +02:00
gwenn
33307b8cd5 [ci skip] remove unused feature 2018-09-08 11:11:56 +02:00
gwenn
9db7b2e7af Remove old bindgens
Keep the oldest/default one (3.6.8).
But remove intermediate versions: 3.6.11, 3.7.3, 3.7.4, 3.7.16.
2018-09-04 18:58:17 +02:00
gwenn
6e7b35ae15 Upgrade rust-bindgen version 2018-08-31 19:01:26 +02:00
gwenn
d1b5acfe52 Upgrade to bindgen 0.38 2018-08-15 13:58:04 +02:00
gwenn
0ccf98d214 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-08-11 13:37:56 +02:00
gwenn
c925d1aa97 Rustfmt 2018-08-11 12:48:21 +02:00
gwenn
fc37b324b8 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-07-28 16:56:21 +02:00
gwenn
94c6865d28 Upgrade SQLite bundled sources to 3.24.0 2018-07-14 07:53:01 +02:00
Tom
028d8945a3 Exporting the built library's directory, for linking 2018-06-29 23:20:59 +01:00
gwenn
d72c4582d9 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-10 19:16:20 +02:00
gwenn
e1ba89c310 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-10 18:49:40 +02:00