geos_sys/
lib.rs

1//! Low level [GEOS](https://libgeos.org/) C API bindings for GEOS >= 3.6.0.
2//!
3//! It provides C-interface as is. If you want to use a more Rust-friendly crate,
4//! use the [georust/geos](https://github.com/georust/geos) crate.
5
6//! You can also find it on [crates.io](https://crates.io/crates/geos).
7//!
8//! By default, the build will use system-installed GEOS if available.
9//!
10//! You can build the included version of GEOS using the `static` feature, which
11//! will also statically link libgeos to this crate.  In order to build GEOS, you
12//! need to have `cmake` and a C++ compiler.
13//!
14//! This documentation is generated based on GEOS 3.11.  Please see the
15//! [GEOS Changelog](https://github.com/libgeos/geos/blob/main/NEWS.md) for
16//! a listing of which entries were added for each GEOS version.
17
18#![allow(non_upper_case_globals)]
19#![allow(non_camel_case_types)]
20#![allow(non_snake_case)]
21#![doc(html_logo_url = "https://raw.githubusercontent.com/georust/meta/master/logo/logo.png")]
22
23extern crate libc;
24
25#[cfg(feature = "static")]
26extern crate link_cplusplus;
27
28#[cfg(not(any(feature = "v3_7_0", feature = "dox")))]
29include!("../prebuilt-bindings/geos_3.6.rs");
30
31#[cfg(all(feature = "v3_7_0", not(any(feature = "v3_8_0", feature = "dox"))))]
32include!("../prebuilt-bindings/geos_3.7.rs");
33
34#[cfg(all(feature = "v3_8_0", not(any(feature = "v3_9_0", feature = "dox"))))]
35include!("../prebuilt-bindings/geos_3.8.rs");
36
37#[cfg(all(feature = "v3_9_0", not(any(feature = "v3_10_0", feature = "dox"))))]
38include!("../prebuilt-bindings/geos_3.9.rs");
39
40#[cfg(all(feature = "v3_10_0", not(any(feature = "v3_11_0", feature = "dox"))))]
41include!("../prebuilt-bindings/geos_3.10.rs");
42
43#[cfg(any(feature = "v3_11_0", feature = "dox"))]
44include!("../prebuilt-bindings/geos_3.11.rs");