Clang support for debian infrastructure.

Dhananjay M Balan

Short description: The project aims to integrate clang into the debian infrastructure especially in the build services. Also this will provide a generic interface for using alternate compilers.

  • Contact/Email:

Name: Dhananjay M Balan

Country: India

School and degree: U.G Student, Computer Science & Engineering.

            College Of Engineering, Trivandrum.

            Kerala, India.

            http://cet.ac.in

    Email: mb DOT dhananjay AT gmail.com

 

handles: gtalk mb.dhananjay@gmail.com

    dhananjay at OFTC Freenode

    @dhananjaynav AT twitter.

 

  • Background:

I am a sixth semester U.G Student in Computer Science and Engineering, College Of Engineering Trivandrum, India. I have been volunteering and developing with the free software community for the past seven years. Last summer I participated in the Google Summer of code 2011 under Google Open Source Programs Office. This was a GSoC project first proposed in the debian wiki and then moved to GOSPO because of its uniqueness of the domain and debatable deliverability to debian as an operating system. However I had a chance to work closely with debian during the last soc and I still keep that connection and work with my package.  

I am interested in GNU/Linux internals and system administration and I have knowledge in debian packaging and system internals.

  • Project title: clang support for build services
  • Project details: Provide debian build framework a switch back for using llvm/clang.
  • Synopsis: The project will increase the options for a maintainer to build his package.
  • Benefits to Debian
    • Using a different compiler itself gives tremendous benefits to a big project like debian.
      • Better code conformity to the standards.
      • Will provide a switch back for emergency situations. etc etc
    • And clang itself comes with a lot good news
      • A better neatly written easily hackable code base, promising a much better compiler in future than what we have now
      • Clang produces much better diagnostic information.
      • I could not observe much performance improvement when switching to clang but definitely have a low memory footprint. But its the point one debian should really be excited about.

 

  • Deliverables:
    • A compiler switching framework for debian build services and integrating clang to it. (time permitting - include other compilers)
    • Streamlined way to switch gcc/clang for the general distribution.
    • Integrate clang to package building workflows. (Most packages, come configured to build with gcc. Provide tools to handle them in the package repository itself.)
    • I would like to stay back and work towards a fully clang built debian (My actual vacations are in Nov/Dec), but I cant complete it during the SoC.

 

  • Project schedule:
    • April 25 - 1 may Getting to know the build services and designing the system.
    • 1 - 25 cannot work. Exams.
    • June : Work on integrating the package building workflows to integrate clang. Start working on the debian build services.
    • Mid term: Working switching system for local systems and a framework for  build tool to use clang.
    • August: Extend the build tool to generalize the binding developed for different compilers.

 

  • Exams and other commitments: I have exams from may 1 to 25. Other than that I am free.
  • Other summer plans: Its not summer around here. I am obliged to take regular classes from mid - july onwards.

 

  • Why Debian?: I love the community, the ecosystem and I use it as my main distro.
  • Are you applying for other projects in SoC? Yes. I am applying to Berkman Center for Internet & Society at Harvard University