Commit Graph

322 Commits

Author SHA1 Message Date
gwenn
ce90b519bb Fix clippy warnings 2021-10-01 20:09:48 +02:00
Christopher Gundler
e2af87f747 Allow static linking against the VC runtime 2021-10-01 01:23:37 -07:00
Thom Chiovoloni
1e80b8165f Apply review feedback (fix upgrade.sh) 2021-07-31 14:40:00 -07:00
Thom Chiovoloni
28cd67300b Include the session FFI in the bundled bindings 2021-07-31 14:40:00 -07:00
gwenn
7c2263dabc Upgrage bindgen to version 0.59 2021-07-21 18:48:05 +02:00
gwenn
c670b6d653 Temporary allow deref_nullptr in tests
As a workaround to https://github.com/rust-lang/rust-bindgen/issues/2066
2021-06-28 19:04:27 +02:00
gwenn
a596482ab1 Bump bundled sqlite3 version to 3.36.0 2021-06-27 11:14:12 +00:00
gwenn
5730b2f952 Fix clippy warnings 2021-06-25 18:57:25 -07:00
Thom Chiovoloni
840a6f3789 Bump bundled sqlite3 version to 3.35.5 2021-06-02 14:31:18 -07:00
dubiousjim
8770e7d443
Add bundle-sqlcipher and bundle-ssl (#860)
Co-authored-by: Thom Chiovoloni <chiovolonit@gmail.com>
2021-06-02 12:07:56 -07:00
daladim
5511a12e57
Use env::var instead of cfg in some cases in build.rs (#961)
Co-authored-by: Thom Chiovoloni <chiovolonit@gmail.com>
2021-05-28 00:00:39 -07:00
Kornel
ba03b34374 Correct pkg-config version 2021-05-16 15:26:25 -07:00
Thom Chiovoloni
97c81d68fc Prep release 0.25.2 2021-05-08 23:06:59 -07:00
Thom Chiovoloni
cdce75328e Fix build on some older versions of Rust 2021-05-08 22:56:19 -07:00
Dirk Stolle
c33d6bfad3 fix several typos 2021-05-02 23:03:10 -07:00
gwenn
9ea5e2fc04
Prepare release of rusqlite 0.25.1 (#940) 2021-04-19 18:57:30 +02:00
David Craven
3519aef29f
Use SQLITE_TEMP_STORE=3 on android. (#937) 2021-04-16 19:27:59 +02:00
gwenn
ddf69f749a
Upgrade to bindgen 0.58 (#933) 2021-04-05 17:35:23 +02:00
gwenn
517ef2beae
Prepare release 0.25.0 (#930)
rusqlite 0.25.0
libsqlite3-sys 0.22.0
Also fix missing README for libsqlite3-sys crate
And fix a typo.
2021-04-03 20:07:53 +02:00
gwenn
f6a69bede9
Upgrade SQLite bundled version to 3.35.4 (#929) 2021-04-03 11:52:51 +02:00
gwenn
ed3bfbdf9d
Silent some clippy warnings (#924)
* allow(clippy::upper_case_acronyms) for rust enum entries that match
  SQLite constants.
* allow(clippy::needless_return) for collation_needed_callback until we
  find a way to propagate the error.
2021-03-25 21:06:46 +01:00
gwenn
a1d42490aa Upgrade SQLite bundled version to 3.35.2 2021-03-25 18:23:51 +00:00
gwenn
a3cf04b9d6 Upgrade SQLite bundled version to 3.35.0 2021-03-14 12:22:10 +00:00
gwenn
880d4bc230 Upgrade to bindgen 0.57 2021-02-01 19:16:46 +01:00
gwenn
67102efb2f Upgrade SQLite bundled version to 3.34.0 2020-12-04 18:26:02 +00:00
gwenn
18bc6dd1a1 Upgrade to bindgen 0.56 2020-11-27 18:36:52 +01:00
gwenn
93c82670d2 Fix clippy warning 2020-10-08 21:33:05 +02:00
Thom Chiovoloni
5cf0158863 Take 2: Prep release of rusqlite 0.24.1 + libsqlite3-sys 0.20.1 2020-10-07 15:53:54 -07:00
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
gwenn
7369994fd3 Upgrade bindgen version 2018-05-23 18:51:22 +02:00
gwenn
1f0437c084
Merge pull request #344 from gwenn/rerun-if-env-changed
Use `rerun-if-env-changed` in libsqlite3-sys
2018-05-12 19:16:50 +02:00
gwenn
1e3dc542a4 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-05-06 08:00:12 +02:00
gwenn
88f2f3e4bd
Merge pull request #350 from jgallagher/clippy
Fix clippy warnings
2018-05-04 20:44:34 +02:00
gwenn
994d40da26 Fix clippy warnings 2018-05-04 19:55:55 +02:00
gwenn
fee4bfcc86 Merge remote-tracking branch 'jgallagher/master' into unlock-notify 2018-05-04 18:06:41 +02:00
gwenn
9c5c9e3c7e Merge remote-tracking branch 'jgallagher/master' into vtab 2018-04-30 22:02:14 +02:00
gwenn
cd26d53a23 Upgrade dependencies
bindgen 0.36
lazy_static 1.0
2018-04-27 19:06:34 +02:00
gwenn
9178e3f452 Use rerun-if-env-changed in libsqlite3-sys
Fix #329
2018-04-06 22:27:07 +02:00
gwenn
5d91fb088f Unlock notification 2018-03-24 08:03:21 +01:00
gwenn
9bdc18d4c0 Fix typo 2018-03-24 03:48:09 +01:00
gwenn
87d97b143e Fix upgrade script
Avoid cleaning the whole target dir
2018-02-10 11:11:51 +01:00
gwenn
08cda05406 Update to latest version of SQLite3 3.22.0 #326
Upgrade to bindgen 0.32
Add a shell script to upgrade bundled SQLite version
Upgrade bundle SQLite to 3.22.0
Upgrade libsqlite3-sys version to 0.9.2
2018-02-10 11:04:02 +01:00
gwenn
3aaab1e36f Merge remote-tracking branch 'remotes/jgallagher/master' into vtab 2018-01-20 12:29:07 +01:00
John Gallagher
402d5340d5 Patch release of libsqlite3-sys to remove crates.io keyword 2017-12-05 18:05:51 -05:00
Sean Griffin
b553a214c8 Remove the database keyword/category from libsqlite3-sys
Currently `libsqlite3-sys` is the first result for both the "database"
keyword, and the "Database interfaces" category. This makes sense, as it
is a dependency of both Diesel and rusqlite. However, this library is
not intended to be used directly. While it can technically be called a
database interface, FFI is clearly the category that applies more than
anything else. Someone browsing this keyword or category is likely
looking for a Rust library they can use, not a C one.
2017-12-03 14:22:01 -07:00
John Gallagher
a3bec58c96 Bump to v0.13.0. 2017-11-13 15:55:48 -07:00
John Gallagher
00e90eaafe
Merge pull request #308 from jgallagher/lvillani-sqlcipher
Add support for linking to SQLCipher
2017-11-13 15:47:11 -07:00
John Gallagher
cbdbacddd8 Merge branch 'sqlcipher' of https://github.com/lvillani/rusqlite into lvillani-sqlcipher 2017-11-13 13:29:24 -07:00
John Gallagher
dc6268d4c9 Merge branch 'update-bindgen-dep' of https://github.com/fitzgen/rusqlite into fitzgen-update-bindgen-dep 2017-11-13 13:26:50 -07:00
Nick Fitzgerald
ea7207b83d Update bindgen dependency to the latest version
This also required adjusting the fixup inserting `SQLITE_DETERMINISTIC` into the
bindings if it was missing. Now that `bindgen` uses the `quote` crate for code
generation, instead of `syntex`, we can't rely on the output being formatted (it
only is formatted if there is a usable `rustfmt` on the `$PATH`). Even better
than this `contains` tweak would be switching to regexps or something.

Despite that formatting hiccup, newer `bindgen` releases are more reliable due
to many bug fixes, and also build in approximately half the time that older
`bindgen` versions do.
2017-11-11 17:09:19 -08:00
Lorenzo Villani
8cbfc00ec6 Add support for linking to SQLCipher 2017-10-24 19:52:19 +02:00