[![License:Zlib](https://img.shields.io/badge/License-Zlib-brightgreen.svg)](https://opensource.org/licenses/Zlib)
[![AppVeyor](https://ci.appveyor.com/api/projects/status/lqvi8qbjayf35v8m/branch/master?svg=true)](https://ci.appveyor.com/project/Lokathor/fermium/branch/master)
[![TravisCI](https://travis-ci.org/Lokathor/fermium.svg?branch=master)](https://travis-ci.org/Lokathor/fermium)
[![crates.io](https://img.shields.io/crates/v/fermium.svg)](https://crates.io/crates/fermium)
[![docs.rs](https://docs.rs/fermium/badge.svg)](https://docs.rs/fermium/)
# fermium
* Has pre-generated bindings files for major platforms
* win32-msvc-x86_64, linux-x86_64, linux-arm32 (rpi3), mac-x86_64,
* You can build with either the `use_bindgen_bin` or `use_bindgen_lib`
features to make your own bindings if you need to. PRs are accepted if you
generate bindings for a new platform!
* Performs static linking to SDL2 by default, with the [Dynamic
API](https://www.reddit.com/r/linux_gaming/comments/1upn39/sdl2_adds_dynamic_api_magic_to_allow_updating_it/)
enabled.
* There is a `dynamic_link` cargo feature if you really want.
* Does not attempt to automatically set up SDL2 itself on non-Windows platforms.
* On win32-msvc-x86_64 there are provided build artifacts for both a static
link and dynamic link build.
* On Mac you should use Homebrew: `brew install sdl2`
* On Linux you should install SDL2-2.0.9 or later using any desired method.
This version is not currently available in many package managers, so you
might have to build from source. There's a [shell script](install-sdl2.sh)
that I use for the CI builds, if you'd like to use that.
* Non-Windows platforms require `sdl2-config` to be in the `PATH` during the
build to get the proper linking info, but this is part of a normal SDL2
install on both macOS and Linux so it shouldn't be a problem.
* The whole crate is `no_std` of course.
* The bindings use `libc` for the C type declarations.
## Major Differences From `sdl2-sys`
* Static linking by default (cargo feature for `dynamic_link`)
* Bindings use "scoped constants" instead of "rustified enums".
* The `build.rs` file is simple and easy to understand.
## License
This crate uses the Zlib license, the same license that SDL2 itself uses.
## Project Logo
[![birth of fermium](https://upload.wikimedia.org/wikipedia/commons/5/58/Ivy_Mike_-_mushroom_cloud.jpg)](https://en.wikipedia.org/wiki/Fermium)