[LLVMdev] win32 assemblers and linkers for llvm

Owen Anderson resistor at mac.com
Tue May 13 06:30:35 PDT 2008


Razvan,

You're somewhat misinterpreting the GPL license.  Using binutils as a  
dependency of LLVM does not require that they be linked into any  
distributable that might contain proprietary code.  They can be  
shipped as separate, purely-GPL'd executables that are called via the  
command line, thereby avoiding the whole "infection" problem.

This is, for instance, how Apple's developer tools can include a non- 
open source IDE like XCode which can still invoke gas.

--Owen

On May 13, 2008, at 7:59 AM, Razvan Aciu wrote:

> Yes, you are right. During my testings, I tried the llvm produced .S  
> files
> with the gcc frontend and it compiled and linked them to the final
> executable.
>
> The problem is with the gcc and binutils licence. This is GPL and  
> while this
> is ok for open source or for academic purposes, it can't be used on
> commercial projects. In fact one of the strong points of llvm (and  
> clang) is
> its BSD like license. To quote from (
> http://clang.llvm.org/features.html#enduser ):
>
> "We actively indend for clang (and a LLVM as a whole) to be used for
> commercial projects, and the BSD license is the simplest way to  
> allow this.
> We feel that the license encourages contributors to pick up the  
> source and
> work with it, and believe that those individuals and organizations  
> will
> contribute back their work if they do not want to have to maintain a  
> fork
> forever (which is time consuming and expensive when merges are  
> involved).
> Further, nobody makes money on compilers these days, but many people  
> need
> them to get bigger goals accomplished: it makes sense for everyone  
> to work
> together."
>
> To design the native code generators of llvm to work only with  
> software
> under much more restrictive licenses like GPL or the MASM license,  
> means to
> throw away this goal and simply make llvm and clang only another  
> open source
> project, not suitable for many commercial applications (the ones who  
> can't
> use the JIT interpreter).
>
> There is also another licensing issue: there are some discussions  
> what means
> for GPL "work based on project" or "work derived from project". The  
> tendency
> is that if an independent project fully depends for its work on a GPL
> project (like a code generator which only generates code for GAS) to  
> be
> considered a "work based on project" or even "work derived from  
> project", so
> the intent is to also apply the GPL license to it, even this means  
> lawsuits.
>
> Even if right now the need for a native code generator for a *free  
> as llvm*
> assembler maybe is not really perceived, I think it will arise  
> sharply when
> the clang will be production ready. In that respect, if someone can  
> adapt
> the MASM templates to produce NASM directives (it is the only thing  
> that
> needs to be changed), these updates will be more than welcome.
>
> Razvan
>
>
> ----- Original Message -----
> From: "Anton Korobeynikov" <asl at math.spbu.ru>
> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Tuesday, May 13, 2008 8:19 AM
> Subject: Re: [LLVMdev] win32 assemblers and linkers for llvm
>
>
>>> There's also then entire GNU toolchain, through MinGW and/or Cygwin.
>> Which works perfectly right now without any extra tweaking :)
>>
>> -- 
>> With best regards, Anton Korobeynikov.
>>
>> Faculty of Mathematics & Mechanics, Saint Petersburg State  
>> University.
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4260 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080513/dc934c92/attachment.bin>


More information about the llvm-dev mailing list