summaryrefslogtreecommitdiff
path: root/lanes-3.0.0-1.rockspec
blob: 1e090d5c99856a791d7350a9b3d2a0018cbda860 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
--
-- Lanes rockspec
--
-- Ref:
--      <http://luarocks.org/en/Rockspec_format>
--
-- History:
--  BGe 1-Mar-2011: 2.1.0
--  BGe 27-Jan-2011: 2.0.11 (see CHANGES)
--  AKa 1-Sep-2008: 2.0-2 (NOT sent to list): fixed VC++ not finding DLL issue
--  AKa 20-Aug-2008: 2.0-1 sent to luarocks-developers
--

package = "Lanes"

version = "3.0.0-1"

source= {
    url= "git://github.com/LuaLanes/lanes.git",
    branch= "v3.0.0"
}

description = {
	summary= "Multithreading support for Lua",
	detailed= [[
        Lua Lanes is a portable, message passing multithreading library
        providing the possibility to run multiple Lua states in parallel.
    ]],
	license= "MIT/X11",
	homepage="http://kotisivu.dnainternet.net/askok/lanes/",
	maintainer="Benoit Germain <bnt.germain@gmail.com>"
}

-- Q: What is the difference of "windows" and "win32"? Seems there is none;
--    so should we list either one or both?
--
supported_platforms= { "win32",
                       "macosx",
                       "linux",
                       "freebsd",   -- TBD: not tested
                       "msys",      -- TBD: not supported by LuaRocks 1.0 (or is it?)
}

dependencies= {
    "lua >= 5.1, <= 5.2",
}

--
-- Non-Win32: build using the Makefile
-- Win32: build using 'make-vc.cmd' and "manual" copy of products
--
-- TBD: How is MSYS treated?  We'd like (really) it to use the Makefile.
--      It should be a target like "cygwin", not defining "windows".
--      "windows" should actually guarantee Visual C++ as the compiler.
--
-- Q: Does "win32" guarantee we have Visual C++ 2005/2008 command line tools?
--
-- Note: Cannot use the simple "module" build type, because we need to precompile
--       'src/keeper.lua' -> keeper.lch and bake it into lanes.c.
--
build = {

    -- Win32 (Visual C++) uses 'make-vc.cmd' for building
    --
    platforms= {
        windows= {
            type= "command",
            build_command= "make-vc.cmd",
            install= {
                lua = { "src/lanes.lua" },
                lib = { "lua51-lanes.dll" }
            }
        }
    },

    -- Other platforms use the Makefile
    --
    -- LuaRocks defines CFLAGS, LIBFLAG and LUA_INCDIR for 'make rock',
    --          defines LIBDIR, LUADIR for 'make install'
    --
    -- Ref: <http://www.luarocks.org/en/Paths_and_external_dependencies>
    --
    type = "make",

    build_target = "rock",
    build_variables= {
        CFLAGS= "$(CFLAGS) -I$(LUA_INCDIR)",
        LIBFLAG= "$(LIBFLAG)",
    },

    install_target = "install",
    install_variables= {
        LUA_LIBDIR= "$(LIBDIR)",
        LUA_SHAREDIR= "$(LUADIR)",
    }
}