Hello, I am French Engineer in Informatics and I would want to build a start up to manufacture mobile phones ( OEM level ). I am currently in discussion with investors. We would want to use LLVM as our main compiler but we will need to complete it to have a "commercial grade" one. Here are our goals : -Use a modified Elkhound as C/C++ front-end : http://www.cs.berkeley.edu/~smcpeak/elkhound/ -Complete the ARM back-end -Fix the bugs to be able to compile a complete Cross Linux from scratch for arm with uclibc-nptl. http://trac.cross-lfs.org/milestone/CLFS 3.0.0 We believe that we will be able to speak of LLVM 2.0. :) How many people/much time ( full-time developers) are/is needed to success in this enterprise ? What is the best background they need to have to work on this ? ( C, gcc, lcc ? ) ( we need these informations for our partners ). It's a million dollars project and the stuff will be released under GPL. We look forward to your answer, Best Regards, Guillaume
Hi Guillame, On Wed, 2006-11-01 at 00:24 +0100, Guillaume FORTAINE wrote:> Hello, > > I am French Engineer in Informatics and I would want to build a start > up to manufacture mobile phones ( OEM level ). I am currently in discussion > with investors.Sounds fun! :)> We would want to use LLVM as our main compiler but we will need to complete it > to have a "commercial grade" one.Okay.> Here are our goals : > > -Use a modified Elkhound as C/C++ front-end :That wouldn't be my first choice. Why not use the llvm-gcc4 that exists? Its already very far along the road. The only major missing feature is exception handling and that is being worked on soon.> http://www.cs.berkeley.edu/~smcpeak/elkhound/ > > -Complete the ARM back-endI'm sure Rafael would love the help.> -Fix the bugs to be able to compile a complete Cross Linux from scratch for > arm with uclibc-nptl. > > http://trac.cross-lfs.org/milestone/CLFS 3.0.0 >Okay, there are people working on getting Linux to compile with LLVM now.> We believe that we will be able to speak of LLVM 2.0. :)A lot of changes are already planned for LLVM 2.0. Other than the ARM backend and fixing (mostly inline asm) bugs for Linux compiling, what do you need in LLVM 2.0 that isn't already there?> How many people/much time ( full-time developers) are/is needed to success in > this enterprise ?There isn't enough information here to be able to say. What do you mean by "commercial grade"? LLVM is there or close now by my definition. There are certainly commercial enterprises using it (several actually).> What is the best background they need to have to work on this ? ( C, gcc, > lcc ? )It really depends on what those people will be doing. A GCC background wouldn't hurt but anyone with theoretical compiler background (SSA and transforms), excellent C++, and Unix skills should be able to work on it.> ( we need these informations for our partners ).This, I understand :)> It's a million dollars project and the stuff will be released under GPL.Note that LLVM is released under the UIUC Open Source License which is very similar to the 3 clause BSD license. For many reasons, LLVM will not be released under GPL. We have had discussions at times of releasing it under LGPL but those discussions have gone away since dicussions about the integration of LLVM into GCC subsided.> We look forward to your answer,And we look forward to your participation in LLVM. Welcome! Best Regards, Reid Spencer.
On Wed, 1 Nov 2006, Guillaume FORTAINE wrote:> I am French Engineer in Informatics and I would want to build a start > up to manufacture mobile phones ( OEM level ). I am currently in discussion > with investors.Welcome.> We would want to use LLVM as our main compiler but we will need to complete it > to have a "commercial grade" one.ok.> Here are our goals : > > -Use a modified Elkhound as C/C++ front-end : > http://www.cs.berkeley.edu/~smcpeak/elkhound/As Reid mentioned, using llvm-gcc/g++ would make a lot more sense and be a lot easier to do. If you don't like llvm-gcc/llvm-g++ for some reason, and have the resources, you could also couple the EDG C/C++ front-end to LLVM.> -Complete the ARM back-endThis should not be terribly hard. I believe it is still fairly early in development, but is high quality so far and could be easily/rapidly extended ifdesired.> -Fix the bugs to be able to compile a complete Cross Linux from scratch for > arm with uclibc-nptl. > > http://trac.cross-lfs.org/milestone/CLFS 3.0.0Ok.> We believe that we will be able to speak of LLVM 2.0. :) > > How many people/much time ( full-time developers) are/is needed to success in > this enterprise ?It is hard to estimate specifics. However, LLVM already is robust and is most of the way there. If you choose to use llvm-gcc/llvm-g++4 (which would be wise), the magor missing thing is the ARM backend. LLVM is been used to compile many large projects, including itself (which is ~400,000 lines of C++) and the Qt toolkit (another large C++ library). It has also been used to compile a large quantity of C code as well. LLVM is in use by several commercial organizations.> What is the best background they need to have to work on this ? ( C, gcc, > lcc ? )They need to be familiar with C++ programming, and they need to be familiar with the area they plan to contribute to (e.g. the ARM architecture). The rest is relatively easy to pick up.> It's a million dollars project and the stuff will be released under GPL.Please consider licensing it under the current LLVM license, which is basically the BSD license without the advertising clause: http://llvm.org/releases/1.8/LICENSE.TXT If you choose not to release your code under this license, we will not be able to incorporate it into the mainline LLVM distribution, which would mean that you will incur a significant ongoing maintenance burden. Welcome to the LLVM community, -Chris -- http://nondot.org/sabre/ http://llvm.org/
> -Complete the ARM back-endThanks! Any help would be very good. I am busy in other projects, so the development in slow right now. Currently I am trying to bootstrap gcc (libgcc compiles, so it is possible to build an incomplete cross compiler already). Best Regards, Rafael