New build system and Premake

classic Classic list List threaded Threaded
6 messages Options
Kevin Vermeer Kevin Vermeer
Reply | Threaded
Open this post in threaded view
|

New build system and Premake

I've been seeing a lot of messages about a new Lua-based build system. 

I didn't see the discussion that lead to the development of this system, but I wondered if you'd considered Premake in your development:
http://premake.sourceforge.net/
It's an open-source, cross-platform, Lua-based build script generator and project management utility.  It can generate raw GNU makefiles, or integrate with CodeLite or CodeBlocks to set up a project for those IDEs.   It also generates Windows Visual Studio project files, though I'm not sure that's very useful unless you have the non-express edition of VS2010 and want to try to get cross-compilation working (which might be nice for some people).

It's somewhat targeted at keeping cross-platform projects happy on both sides, without having to maintain two or three or more configurations.  However, I think it could be adapted to eLua's needs, and I think it would be a useful reference for constructing the new build system. 

Hope that helps,
--
Kevin Vermeer

_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev
Kevin Vermeer Kevin Vermeer
Reply | Threaded
Open this post in threaded view
|

Re: New build system and Premake

Oops, used the wrong website.  Their new site is at:
http://industriousone.com/what-premake

So that this post isn't purely noise, I'll add that they're working on a new --platform option:
http://industriousone.com/platforms
This feature is under active development; users of eLua can probably contribute some good information and ideas!
--
Kevin Vermeer


On Mon, Feb 21, 2011 at 11:37 AM, Kevin Vermeer <[hidden email]> wrote:
I've been seeing a lot of messages about a new Lua-based build system. 

I didn't see the discussion that lead to the development of this system, but I wondered if you'd considered Premake in your development:
http://premake.sourceforge.net/
It's an open-source, cross-platform, Lua-based build script generator and project management utility.  It can generate raw GNU makefiles, or integrate with CodeLite or CodeBlocks to set up a project for those IDEs.   It also generates Windows Visual Studio project files, though I'm not sure that's very useful unless you have the non-express edition of VS2010 and want to try to get cross-compilation working (which might be nice for some people).

It's somewhat targeted at keeping cross-platform projects happy on both sides, without having to maintain two or three or more configurations.  However, I think it could be adapted to eLua's needs, and I think it would be a useful reference for constructing the new build system. 

Hope that helps,
--
Kevin Vermeer


_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev
BogdanM BogdanM
Reply | Threaded
Open this post in threaded view
|

Re: New build system and Premake

Hi,


On Mon, Feb 21, 2011 at 6:42 PM, Kevin Vermeer <[hidden email]> wrote:
> Oops, used the wrong website.  Their new site is at:
> http://industriousone.com/what-premake
>
> So that this post isn't purely noise, I'll add that they're working on a new
> --platform option:
> http://industriousone.com/platforms
> This feature is under active development; users of eLua can probably
> contribute some good information and ideas!

Thanks for the tips. However we're looking for a Lua based solution at
this point, this is part of a much larger topic which has to do with
build structure refactoring. There is already some code in the trunk
that uses a Lua based builder.

Thanks,
Bogdan

> On Mon, Feb 21, 2011 at 11:37 AM, Kevin Vermeer <[hidden email]>
> wrote:
>>
>> I've been seeing a lot of messages about a new Lua-based build system.
>>
>> I didn't see the discussion that lead to the development of this system,
>> but I wondered if you'd considered Premake in your development:
>> http://premake.sourceforge.net/
>> It's an open-source, cross-platform, Lua-based build script generator and
>> project management utility.  It can generate raw GNU makefiles, or integrate
>> with CodeLite or CodeBlocks to set up a project for those IDEs.   It also
>> generates Windows Visual Studio project files, though I'm not sure that's
>> very useful unless you have the non-express edition of VS2010 and want to
>> try to get cross-compilation working (which might be nice for some people).
>>
>> It's somewhat targeted at keeping cross-platform projects happy on both
>> sides, without having to maintain two or three or more configurations.
>> However, I think it could be adapted to eLua's needs, and I think it would
>> be a useful reference for constructing the new build system.
>>
>> Hope that helps,
>> --
>> Kevin Vermeer
>
>
> _______________________________________________
> eLua-dev mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/elua-dev
>
>
_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev
Kevin Vermeer Kevin Vermeer
Reply | Threaded
Open this post in threaded view
|

Re: New build system and Premake

Premake *is* Lua-based.   The build scripts are full=featured Lua scripts, and Premake itself is implemented in Lua. 

I read some of the Lua build system code, and it looks like you're re-implementing a lot of the features of Premake.  I wanted to (1) save you some work re-implementing those features (the source for Premake is here), and (2) propose that we separate the implementation from the configuration.   If we did (2), we'd basically be re-inventing Premake.

Where can I learn about the build structure refactoring project?
--
Kevin Vermeer


On Tue, Feb 22, 2011 at 9:51 AM, Bogdan Marinescu <[hidden email]> wrote:
Hi,


On Mon, Feb 21, 2011 at 6:42 PM, Kevin Vermeer <[hidden email]> wrote:
> Oops, used the wrong website.  Their new site is at:
> http://industriousone.com/what-premake
>
> So that this post isn't purely noise, I'll add that they're working on a new
> --platform option:
> http://industriousone.com/platforms
> This feature is under active development; users of eLua can probably
> contribute some good information and ideas!

Thanks for the tips. However we're looking for a Lua based solution at
this point, this is part of a much larger topic which has to do with
build structure refactoring. There is already some code in the trunk
that uses a Lua based builder.

Thanks,
Bogdan

> On Mon, Feb 21, 2011 at 11:37 AM, Kevin Vermeer <[hidden email]>
> wrote:
>>
>> I've been seeing a lot of messages about a new Lua-based build system.
>>
>> I didn't see the discussion that lead to the development of this system,
>> but I wondered if you'd considered Premake in your development:
>> http://premake.sourceforge.net/
>> It's an open-source, cross-platform, Lua-based build script generator and
>> project management utility.  It can generate raw GNU makefiles, or integrate
>> with CodeLite or CodeBlocks to set up a project for those IDEs.   It also
>> generates Windows Visual Studio project files, though I'm not sure that's
>> very useful unless you have the non-express edition of VS2010 and want to
>> try to get cross-compilation working (which might be nice for some people).
>>
>> It's somewhat targeted at keeping cross-platform projects happy on both
>> sides, without having to maintain two or three or more configurations.
>> However, I think it could be adapted to eLua's needs, and I think it would
>> be a useful reference for constructing the new build system.
>>
>> Hope that helps,
>> --
>> Kevin Vermeer
>
>
> _______________________________________________
> eLua-dev mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/elua-dev
>
>
_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev


_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev
Dado Sutter Dado Sutter
Reply | Threaded
Open this post in threaded view
|

Re: New build system and Premake

Hi,

On Tue, Feb 22, 2011 at 12:34, Kevin Vermeer <[hidden email]> wrote:
Premake *is* Lua-based. 

If I remember, premake generates makefiles and still depends on make.
The initial idea was to use something like Lake, that takes care of the whole build from Lua conf files too and is also 100% Lua.
But Bogdan and James felt some limitations on it and are experimenting extending our current scons-based with Lua setup code, based on Lua-only configuration files, pretty much like we've done before for our doc build but still leaving the final work for scons.
At the same time, we (my team here on the Led Lab @PUC-Rio) are also working on a small but significant refactoring of the build structure and eLua modularity.
As long as the configuration files are full Lua, there is no big problem in having other tools (ie:scons) being transparently used.


  The build scripts are full=featured Lua scripts, and Premake itself is implemented in Lua. 

Time has been reeeeeeally scarce these days :( :( and we are working hard on many other fronts too (like a new site, a new doc structure, ...) but we may give Premake another chance.
 
I read some of the Lua build system code, and it looks like you're re-implementing a lot of the features of Premake.  I wanted to (1) save you some work re-implementing those features (the source for Premake is here), and (2) propose that we separate the implementation from the configuration. 

Yes, this is nice and important.
 
  If we did (2), we'd basically be re-inventing Premake.

Where can I learn about the build structure refactoring project?

As I've mentioned, time has been incredibly scarce :( Also, some discussions on the past showed to be extremely noisy, on a subject that shouldn't be hard at all (IMHO).
I'll try to bring some more of it if I find some energy or involve you somehow too.

Thanks again.
--
Kevin Vermeer

Best
Dado



 



On Tue, Feb 22, 2011 at 9:51 AM, Bogdan Marinescu <[hidden email]> wrote:
Hi,


On Mon, Feb 21, 2011 at 6:42 PM, Kevin Vermeer <[hidden email]> wrote:
> Oops, used the wrong website.  Their new site is at:
> http://industriousone.com/what-premake
>
> So that this post isn't purely noise, I'll add that they're working on a new
> --platform option:
> http://industriousone.com/platforms
> This feature is under active development; users of eLua can probably
> contribute some good information and ideas!

Thanks for the tips. However we're looking for a Lua based solution at
this point, this is part of a much larger topic which has to do with
build structure refactoring. There is already some code in the trunk
that uses a Lua based builder.

Thanks,
Bogdan

> On Mon, Feb 21, 2011 at 11:37 AM, Kevin Vermeer <[hidden email]>
> wrote:
>>
>> I've been seeing a lot of messages about a new Lua-based build system.
>>
>> I didn't see the discussion that lead to the development of this system,
>> but I wondered if you'd considered Premake in your development:
>> http://premake.sourceforge.net/
>> It's an open-source, cross-platform, Lua-based build script generator and
>> project management utility.  It can generate raw GNU makefiles, or integrate
>> with CodeLite or CodeBlocks to set up a project for those IDEs.   It also
>> generates Windows Visual Studio project files, though I'm not sure that's
>> very useful unless you have the non-express edition of VS2010 and want to
>> try to get cross-compilation working (which might be nice for some people).
>>
>> It's somewhat targeted at keeping cross-platform projects happy on both
>> sides, without having to maintain two or three or more configurations.
>> However, I think it could be adapted to eLua's needs, and I think it would
>> be a useful reference for constructing the new build system.
>>
>> Hope that helps,
>> --
>> Kevin Vermeer
>
>
> _______________________________________________
> eLua-dev mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/elua-dev
>
>
_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev


_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev



_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev
jbsnyder jbsnyder
Reply | Threaded
Open this post in threaded view
|

Re: New build system and Premake

On Tue, Feb 22, 2011 at 10:27 AM, Dado Sutter <[hidden email]> wrote:

> Hi,
>
> On Tue, Feb 22, 2011 at 12:34, Kevin Vermeer <[hidden email]> wrote:
>>
>> Premake *is* Lua-based.
>
> If I remember, premake generates makefiles and still depends on make.
> The initial idea was to use something like Lake, that takes care of the
> whole build from Lua conf files too and is also 100% Lua.
> But Bogdan and James felt some limitations on it and are experimenting
> extending our current scons-based with Lua setup code, based on Lua-only
> configuration files, pretty much like we've done before for our doc build
> but still leaving the final work for scons.
> At the same time, we (my team here on the Led Lab @PUC-Rio) are also working
> on a small but significant refactoring of the build structure and eLua
> modularity.
> As long as the configuration files are full Lua, there is no big problem in
> having other tools (ie:scons) being transparently used.

Premake is indeed Lua-based, however what it does is generate build
files for other build systems using Lua.  I'm not completely convinced
this may work with some of the ideas we're thinking about for an
upcoming generation of build system which will tend to minimize the
mixture of files that need modification during various build
configurations, and provide a more unified interface.  I haven't tried
modeling either our existing system or this newer system in premake,
but I suspect it would be dependent on having the user use premake to
generate build files and then build using those. I suppose this would
be similar to doing configure and then make.  If we can, however I
think it would be nice to simply have something more scons-like,
perhaps in Lua, that handles configuration and building through a
single interface.  I would prefer premake for situations where all the
rules and logic would nicely translate into the makefile it would
generate.

That said, I could be wrong, and we haven't settled on a technical
solution (actually, I think we need to settle some other things before
we get to that stage though ;-) ).

>
>
>>   The build scripts are full=featured Lua scripts, and Premake itself is
>> implemented in Lua.
>
> Time has been reeeeeeally scarce these days :( :( and we are working hard on
> many other fronts too (like a new site, a new doc structure, ...) but we may
> give Premake another chance.
>
>>
>> I read some of the Lua build system code, and it looks like you're
>> re-implementing a lot of the features of Premake.  I wanted to (1) save you
>> some work re-implementing those features (the source for Premake is here),
>> and (2) propose that we separate the implementation from the configuration.
>
> Yes, this is nice and important.
>
>>
>>   If we did (2), we'd basically be re-inventing Premake.
>>
>> Where can I learn about the build structure refactoring project?
>
> As I've mentioned, time has been incredibly scarce :( Also, some discussions
> on the past showed to be extremely noisy, on a subject that shouldn't be
> hard at all (IMHO).
> I'll try to bring some more of it if I find some energy or involve you
> somehow too.
>
> Thanks again.
>>
>> --
>> Kevin Vermeer
>
> Best
> Dado
>
>
>
>
>>
>>
>>
>> On Tue, Feb 22, 2011 at 9:51 AM, Bogdan Marinescu
>> <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>>
>>> On Mon, Feb 21, 2011 at 6:42 PM, Kevin Vermeer <[hidden email]>
>>> wrote:
>>> > Oops, used the wrong website.  Their new site is at:
>>> > http://industriousone.com/what-premake
>>> >
>>> > So that this post isn't purely noise, I'll add that they're working on
>>> > a new
>>> > --platform option:
>>> > http://industriousone.com/platforms
>>> > This feature is under active development; users of eLua can probably
>>> > contribute some good information and ideas!
>>>
>>> Thanks for the tips. However we're looking for a Lua based solution at
>>> this point, this is part of a much larger topic which has to do with
>>> build structure refactoring. There is already some code in the trunk
>>> that uses a Lua based builder.
>>>
>>> Thanks,
>>> Bogdan
>>>
>>> > On Mon, Feb 21, 2011 at 11:37 AM, Kevin Vermeer
>>> > <[hidden email]>
>>> > wrote:
>>> >>
>>> >> I've been seeing a lot of messages about a new Lua-based build system.
>>> >>
>>> >> I didn't see the discussion that lead to the development of this
>>> >> system,
>>> >> but I wondered if you'd considered Premake in your development:
>>> >> http://premake.sourceforge.net/
>>> >> It's an open-source, cross-platform, Lua-based build script generator
>>> >> and
>>> >> project management utility.  It can generate raw GNU makefiles, or
>>> >> integrate
>>> >> with CodeLite or CodeBlocks to set up a project for those IDEs.   It
>>> >> also
>>> >> generates Windows Visual Studio project files, though I'm not sure
>>> >> that's
>>> >> very useful unless you have the non-express edition of VS2010 and want
>>> >> to
>>> >> try to get cross-compilation working (which might be nice for some
>>> >> people).
>>> >>
>>> >> It's somewhat targeted at keeping cross-platform projects happy on
>>> >> both
>>> >> sides, without having to maintain two or three or more configurations.
>>> >> However, I think it could be adapted to eLua's needs, and I think it
>>> >> would
>>> >> be a useful reference for constructing the new build system.
>>> >>
>>> >> Hope that helps,
>>> >> --
>>> >> Kevin Vermeer
>>> >
>>> >
>>> > _______________________________________________
>>> > eLua-dev mailing list
>>> > [hidden email]
>>> > https://lists.berlios.de/mailman/listinfo/elua-dev
>>> >
>>> >
>>> _______________________________________________
>>> eLua-dev mailing list
>>> [hidden email]
>>> https://lists.berlios.de/mailman/listinfo/elua-dev
>>
>>
>> _______________________________________________
>> eLua-dev mailing list
>> [hidden email]
>> https://lists.berlios.de/mailman/listinfo/elua-dev
>>
>
>
> _______________________________________________
> eLua-dev mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/elua-dev
>
>



--
James Snyder
Biomedical Engineering
Northwestern University
[hidden email]
PGP: http://fanplastic.org/key.txt
Phone: (847) 448-0386
_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev