#![deny(missing_docs)]
//! Faerie is a crate for creating object files.

extern crate goblin;
extern crate indexmap;
extern crate scroll;
extern crate string_interner;
#[macro_use]
extern crate log;
#[macro_use]
extern crate failure;
extern crate target_lexicon;

use goblin::container;

type Ctx = container::Ctx;

mod elf;
mod mach;
mod target;

pub mod artifact;
pub use crate::artifact::{
    decl::{
        DataDecl, DataImportDecl, DataType, DebugSectionDecl, Decl, FunctionDecl,
        FunctionImportDecl, Scope, Visibility,
    },
    Artifact, ArtifactBuilder, ArtifactError, ImportKind, Link, Reloc,
};
