[LLVMdev] Is there room for another build system?

Kenneth Boyd zaimoni at zaimoni.com
Mon Aug 4 17:13:38 PDT 2008


Óscar Fuentes wrote:
> David Greene <dag at cray.com> writes:
>
>   
>> No problem with Perl either, or Python.  Tcl is much less well-known.
>>
>> Note that I don't particularly like any of these languages but I'm trying
>> not to let personal preference get in the way.  :)
>>     
>
> Neither I do. This sub-thread started with a discussion about the
> feasibility of leaving behing DejaGNU and using `bash' instead or:
>
>   
>>> If a language conceals the differences between POSIX and Microsoftian C
>>> for interprocess control, hides badly non-POSIX filepaths from me, and
>>> has a reasonable track record of forward compatibility, and has a
>>> reasonably universal build process, I'll consider crash-learning the
>>> language if I'm not already working in it.
>>>       
>
> Then I proposed Tcl as an example of such language. Maybe Perl, Python,
> Ruby, Lua and others are okay too, but:
>   
No comment on Ruby (haven't worked in it enough to have an intuition for 
it).  My opinions about Python and Perl are in an earlier reply.

I also have done some minimal work in Lua.  Lua is *very* nice for 
simultaneously interoperating with C while supporting almost Perl-like 
manipulation of functions.  I just don't have a gut reaction of it 
simplifying writing a test suite coordinator. (either embedding in C, or 
using C extension functions from Lua).
>> How many people know Tcl?  That has a direct impact on maintanability.
>>     
>
> DejaGNU is built around Expect, wich is a Tcl extension, so LLVM is
> already using Tcl. Tcl is pretty simple. You can learn Tcl in minutes,
> although there are some very common pitfalls (related to quoting issues,
> etc).
>   
Precisely (expect requires Tcl to build, although the releases I was 
failing to build are for a standalone program).  The expect dependency 
on Tcl means that Tcl is a conservative choice of language.

Kenneth




More information about the llvm-dev mailing list