Commit Graph

91 Commits

Author SHA1 Message Date
gwenn
30f8c8c502 Fix callbacks lifetime 2021-12-01 04:28:09 -08:00
Umang Raghuvanshi
74faf8a12c
libsqlite3-sys: darwin: fix crypto link framework
SecurityFoundation.framework is an unrelated macOS framework which does not directly provide cryptography functions. This framework also doesn't exist on iOS, which breaks linking This commit changes to link against Security.framework instead, as noted in the SQLCipher docs [1].

[1] https://www.zetetic.net/blog/2013/6/27/sqlcipher-220-release.html
2021-11-15 18:40:49 +01:00
gwenn
20583ff508
Merge pull request #1022 from gwenn/clippy
Fix clippy warnings
2021-10-17 08:30:58 +02:00
BlackHoleFox
66ace52c4a Fix OpenSSL linking on Windows
Technically this is a breaking change moving from `libeay32` to
`libcrypto` but no one should be using an openssl version from <=2016.
2021-10-05 22:48:16 -07:00
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
gwenn
5730b2f952 Fix clippy warnings 2021-06-25 18:57:25 -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
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
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
93c82670d2 Fix clippy warning 2020-10-08 21:33:05 +02: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
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
Evgeniy A. Dushistov
8cdfaf36ae little speedup for bundled sqlite3.c 2020-05-29 17:02:37 -07: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
288aa961a7 Exclude va_list and functions using it from the bundled bindings file 2020-04-10 05:29:35 -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
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
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
Thom Chiovoloni
c70d148542 Remove most of the code using feature=bundled as a version check 2020-01-14 08:11:36 -08: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
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
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
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
Alex Maystrenko
f702bc0797 rebuild when VCPKGRS_DYNAMIC changes 2019-03-24 21:21:13 +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
dbc4eef657
Session extension (#459)
Session extension bindings
2019-01-13 12:46:19 +01:00
gwenn
6d668d798a Restore old bindgen for Diesel 2019-01-06 09:50:35 +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
e5b1af51ab Allow build time bindgen of bundled SQLite
Rewrite https://github.com/jgallagher/rusqlite/pull/320
2018-10-28 18:16:48 +01:00