On 1/22/2012 2:47 AM, Konstantin Tokarev wrote:
>
> 22.01.2012, 12:07, "Jason McKesson"<korv...@gmail.com>:
>> On 1/21/2012 8:59 AM, Konstantin Tokarev wrote:
>>
>>>   21.01.2012, 19:00, "Gour"<g...@atmarama.net>:
>>>>   On Sat, 21 Jan 2012 08:40:16 -0500
>>>>   Jason Perkins
>>>>   <star...@industriousone.com>    wrote:
>>>>>     They solve different problems. Lake builds your software, like rake
>>>>>     or make. Premake generates the input files for tools that build your
>>>>>     software.
>>>>   Thank you.
>>>>
>>>>   Now it's clear we want/need premake. ;)
>>>   However, it would be great if we had some form of "build tasks" defined 
>>> in Lua
>>>   in Premake. Some common operations (e.g., copying/renaming/symlinking 
>>> files,
>>>   creating directories) cannot be defined in portable manner using only 
>>> underlying
>>>   build tool. I hope that my patch allowing to define chains of actions 
>>> linked by
>>>   dependencies [1] can improve this situation, however solution of Lake may
>>>   appear to be more powerful.
>>>
>>>   There are a few other things that Lake does better:
>>>
>>>   1. It uses LuaFileSystem instead of custom code for file operations.
>>>   2. It's more oriented on being usable as Lua module
>>>   3. It includes some built-in support for pkg-config (we doesn't do it 
>>> beyond
>>>   generic os.outputof())
>>>
>>>   [1] 
>>> http://sourceforge.net/tracker/?func=detail&aid=3465239&group_id=71616&atid=531880
>> Premake exists to be able to build build files for existing build
>> systems. It should not be used to actually build the project or do any
>> kind of pre-processing build setup work.
> I don't get this point. What do you propose for build setup? Autoconf from 
> Stone Age?
What do you mean by "build setup"? Selecting particular attributes of 
builds (which libraries to include, etc) are perfectly possible in 
Premake. But pkg-config stuff is too platform-specific for a 
cross-platform tool like Premake.

What I mean is doing things like executing ANT/NANT-style tasks. 
Anything that would be called a "build task" is something Premake should 
not be doing. Premake shouldn't be creating files, renaming things, 
moving directories around. Premake scripts should be searching for 
stuff, and setting up a build system that will use that stuff.

Creating things, moving stuff around, etc, should be done by the output 
build files, not by Premake. A Makefile can do all of that stuff just fine.
>> Using LFS means requiring LFS, which means having a dependency. Which
>> means that it's not a simple "download-and-go" system, but instead
>> requires installation. That's bad.
> I don't get this too.
> 1. LFS is not something big and it doesn't have external dependencies. It can 
> be
> easily included into Premake, replacing custom code.
> 2. Ignoring well-tested and widely used 3rd party code is just NIH syndrome.
1. LFS is still extra. It's external to Premake. You now have a 
premake4.exe and a lfs.dll to worry about, instead of a single file you 
can download and use.

2. NIH is perfectly valid, depending on the circumstances. In the case 
of Premake, it makes sense. Premake implements things that LFS doesn't 
come close to. And Premake doesn't implement things like creating 
symlinks, etc, because those are not things Premake scripts ought to be 
doing.

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Premake-users mailing list
Premake-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/premake-users

Reply via email to