10 releases (breaking)
0.8.1 | Feb 22, 2019 |
---|---|
0.7.0 | Feb 15, 2019 |
#1434 in Filesystem
26KB
497 lines
ei-sys
This library contains low level bindings for ei
, a library to handle the Erlang external term format and to communicate with distributed Erlang nodes.
Compiling This Crate
The library with which this crate links is not usually included in the default link path. There are two ways to configure this crate.
- If you have a full Erlang installation, the build script will invoke the Erlang shell to find where it installed its libraries. This is the recommended way to configure this crate.
- You can set the
EI_LINK_SEARCH
environment variable to the directory that contains libei.
Windows
The official Erlang binaries are compiled with MSVC 11 (Visual Studio 2012), which is not ABI compatible with binaries built with more recent MSVC versions, including those that are compatible with Rust. You will need to build you own Erlang. You can follow the official instructions, but change the PATH
, LIBPATH
, LIB
, and INCLUDE
environment for those of the version of MSVC you are using with Rust.
For example, for a x86_64
build with Visual Studio 2017, open the x64 Native Tool Command Promp for VS 2017, and then you can see the values of the variables listed above by typing
echo %PATH%
echo %LIBPATH%
echo %LIB%
echo %INCLUDE%
Note also that Erlang does not build with mingw. Thus you cannot use this crate with a {i686|x86_64}-pc-windows-gnu
version of Rust, i.e. you need to use {i686|x86_64}-pc-windows-msvc
.
Documentation
The official Erlang documentation on ei
and ei_connect
contains information on how to use this library, as well as a complete listing of the types and functions. The documentation for this crate has additional information that can be of interest to those building on top of this crate, such as the precondition to respect safely whan calling into this crate.
Dependencies
~215KB