summaryrefslogtreecommitdiff
path: root/build.rs
blob: e93453921f78e6a843db5eb9288203e7708e17fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#[cfg(feature = "builtin-lua")]
extern crate gcc;

fn main() {
    #[cfg(feature = "builtin-lua")]
    {
        use std::env;

        let mut config = gcc::Config::new();

        let target_os = env::var("CARGO_CFG_TARGET_OS");
        let target_family = env::var("CARGO_CFG_TARGET_FAMILY");

        if target_os == Ok("linux".to_string()) {
            config.define("LUA_USE_LINUX", None);
        } else if target_os == Ok("macos".to_string()) {
            config.define("LUA_USE_MACOSX", None);
        } else if target_family == Ok("unix".to_string()) {
            config.define("LUA_USE_POSIX", None);
        } else if target_family == Ok("windows".to_string()) {
            config.define("LUA_USE_WINDOWS", None);
        }

        // Enables lua api checking, which has a slight performance penalty.  We
        // could allow disabling this via cfg one day when there is much more
        // confidence in the soundness of the API.
        config.define("LUA_USE_APICHECK", None);

        config
            .include("lua")
            .file("lua/lapi.c")
            .file("lua/lauxlib.c")
            .file("lua/lbaselib.c")
            .file("lua/lbitlib.c")
            .file("lua/lcode.c")
            .file("lua/lcorolib.c")
            .file("lua/lctype.c")
            .file("lua/ldblib.c")
            .file("lua/ldebug.c")
            .file("lua/ldo.c")
            .file("lua/ldump.c")
            .file("lua/lfunc.c")
            .file("lua/lgc.c")
            .file("lua/linit.c")
            .file("lua/liolib.c")
            .file("lua/llex.c")
            .file("lua/lmathlib.c")
            .file("lua/lmem.c")
            .file("lua/loadlib.c")
            .file("lua/lobject.c")
            .file("lua/lopcodes.c")
            .file("lua/loslib.c")
            .file("lua/lparser.c")
            .file("lua/lstate.c")
            .file("lua/lstring.c")
            .file("lua/lstrlib.c")
            .file("lua/ltable.c")
            .file("lua/ltablib.c")
            .file("lua/ltm.c")
            .file("lua/lundump.c")
            .file("lua/lutf8lib.c")
            .file("lua/lvm.c")
            .file("lua/lzio.c")
            .compile("liblua5.3.a");
    }
}