Consolidating the build systems

54 views
Skip to first unread message

Tim Caswell

unread,
Sep 24, 2012, 4:25:47 PM9/24/12
to lu...@googlegroups.com
Nobody wants to spend all their day mucking with build systems. In
luvit, this is especially painful because we have two build systems
(one gyp based and one Makefile based). I propose we delete the
Makefile and only support the gyp system going forward.

The main reasons I've held on to the Makefile for so long are:

1 - I don't understand gyp
2 - I don't need python to use Make
3 - It works for me
4 - Make is simpler than gyp

But Makefile alone isn't enough, especially for proper windows builds.
Make may be simpler than gyp, but make + gyp is not simpler than just
gyp.

If there are no compelling reasons to keep the Makefile, I'll delete
it and consolidate our support on the gyp system to free up our
limited resources to work on the project itself.

-Tim Caswell

Brandon Philips

unread,
Sep 24, 2012, 4:43:10 PM9/24/12
to lu...@googlegroups.com
On 15:25 Mon 24 Sep 2012, Tim Caswell wrote:
> If there are no compelling reasons to keep the Makefile, I'll delete
> it and consolidate our support on the gyp system to free up our
> limited resources to work on the project itself.

+1 from me.

> The main reasons I've held on to the Makefile for so long are:
>
> 1 - I don't understand gyp
> 2 - I don't need python to use Make

Point to research: Building ninja files into release tarballs should
make it possible to build luvit on systems without python. (Although we
would need to build a ninja binary). Makefiles generated by gyp have
absoulte paths so that isn't a good option.

Brandon

M. Edward (Ed) Borasky

unread,
Sep 24, 2012, 4:57:18 PM9/24/12
to lu...@googlegroups.com
Is gyp part of the Lua ecosystem? I've never heard of gyp. Wouldn't a
Lua build tool be more relevant?
--
Twitter: http://twitter.com/znmeb; Computational Journalism Publishers
Workbench: http://j.mp/QCsXOr

How the Hell can the lion sleep with all those people singing "A weem
oh way!" at the top of their lungs?

Tim Caswell

unread,
Sep 24, 2012, 5:10:17 PM9/24/12
to lu...@googlegroups.com
On Mon, Sep 24, 2012 at 3:57 PM, M. Edward (Ed) Borasky <zn...@znmeb.net> wrote:
> Is gyp part of the Lua ecosystem? I've never heard of gyp. Wouldn't a
> Lua build tool be more relevant?

gyp is the main build tool for libuv, nodejs, chromium and v8. Since
luvit is basically libuv bindings for luajit, gyp seems like a great
tool.
Anything written in lua won't work since we're building luajit itself
as well. More people have python installed in their machine than lua.

Brandon wrote:
> Point to research: Building ninja files into release tarballs should
> make it possible to build luvit on systems without python. (Although we
> would need to build a ninja binary). Makefiles generated by gyp have
> absoulte paths so that isn't a good option.

I like this idea a lot. I've heard nothing but good stuff about ninja.

M. Edward (Ed) Borasky

unread,
Sep 24, 2012, 7:29:08 PM9/24/12
to lu...@googlegroups.com
On Mon, Sep 24, 2012 at 2:10 PM, Tim Caswell <t...@creationix.com> wrote:
> On Mon, Sep 24, 2012 at 3:57 PM, M. Edward (Ed) Borasky <zn...@znmeb.net> wrote:
>> Is gyp part of the Lua ecosystem? I've never heard of gyp. Wouldn't a
>> Lua build tool be more relevant?
>
> gyp is the main build tool for libuv, nodejs, chromium and v8. Since
> luvit is basically libuv bindings for luajit, gyp seems like a great
> tool.
> Anything written in lua won't work since we're building luajit itself
> as well. More people have python installed in their machine than lua.

Ah ... interesting. So if I want to run luvit and libuv from source on
Linux, I need a minimum of Python (I'm guessing 2.7), gyp and the
usual Linux tools. Do I need Node.js, Chromium and V8 if I just want
to work in Lua? Are there any Linux distro preferences I need to worry
about? There are a lot of projects with Ubuntu dependencies implied
and I mostly run Fedora.

Brandon Philips

unread,
Sep 24, 2012, 7:41:42 PM9/24/12
to lu...@googlegroups.com
On 16:29 Mon 24 Sep 2012, M. Edward (Ed) Borasky wrote:
> So if I want to run luvit and libuv from source on
> Linux, I need a minimum of Python (I'm guessing 2.7), gyp and the
> usual Linux tools. Do I need Node.js, Chromium and V8 if I just want
> to work in Lua? Are there any Linux distro preferences I need to worry
> about? There are a lot of projects with Ubuntu dependencies implied
> and I mostly run Fedora.

Our deps (including gyp) should be in tree or git submodules. Python
2.6 is sufficient.

V8, Chromium, Node.js are not required.

Brandon
Reply all
Reply to author
Forward
0 new messages