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
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 :
Elkhound and Elsa
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-end
This 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.
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,