Commit Graph

87 Commits

Author SHA1 Message Date
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
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
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
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