OpenBSD Journal

pcc 1.0 Released

Contributed by jj on from the so-fast-it-compiles-an-infinite-source-in-12-seconds dept.

No April Foolery: The Portable C Compiler version 1.0 was released on April 1st!
As with so many things BSD, this project proves that good code is timeless and can benefit from literally generations of review. It can build the majority of the BSD base systems (C++ code aside) and is undergoing continuous improvement.
Michael Dexter from BSDFund writes:

Thank you Ragge for all of your hard work, NYCBSDCon and Undeadly for setting this project in motion, and all of the awesome donors who made this milestone possible.

Over 100 supporters have brought pcc into the modern era with essential AMD64 support and key GCC compatibility.

Now comes the question of what's next. pcc currently has many architecture targets and features that are in various states of development including an often-requested C++ front end. You will find an ideas page here.

With mobile and embedded devices exploding in popularity, pcc's portability and elegantly-simple nature have never been more important. It's permissive licensing is also attractive to virtually all players involved and it is a logical choice for academic environments.

I am firmly convinced that there is a need for a quality, permissively-licensed software development tool chain and I invite you to do what you can to advance projects like LLVM and pcc.

(Comments are closed)


  1. By Mayuresh Kathe (mayuresh) mayuresh@kathe.in on

    coolness.

    if the good beings in openbsd land had to choose between c++ and java, which would it be? and why?

    1. By Miod Vallat (miod) on

      > if the good beings in openbsd land had to choose between c++ and java, which would it be? and why?

      C#, of course. C# is here to stay, while Java is in a declining phase, and C++ is too complex for its own good.

    1. By Mayuresh Kathe (mayuresh) on

      excellent stuff... :)

      > some historical mentions about pcc - http://www.darwinsys.com/history/hist.html

    1. By Brad (brad) on

      > Wonder how long it takes until they are able to drop gcc

      until the cows come home... and its extremely unlikely to ever be for pcc even if that was possible.

      1. By Daniel Gracia (paladdin) on http://www.mundointeresante.info/

        Thinking about kernel/userland and i386/amd64 wise, I think you are about 95% wrong.

        >
        > until the cows come home... and its extremely unlikely to ever be for pcc even if that was possible.

        1. By Brad (brad) on

          > Thinking about kernel/userland and i386/amd64 wise, I think you are about 95% wrong.

          and compiler changes are made based on quite a few more architecture than just amd64/i386 as well as the requirement to be able to also build xenocara (userland) and a good portion of ports. pcc might be approaching the point of mostly building kernel / src but not xenocara and not very close to being able to truly replace gcc.

          1. By brynet (Brynet) on

            > and compiler changes are made based on quite a few more architecture than just amd64/i386 as well as the requirement to be able to also build xenocara (userland) and a good portion of ports. pcc might be approaching the point of mostly building kernel / src but not xenocara and not very close to being able to truly replace gcc.

            Oh, quit being so optimistic. :)

          2. By Daniel Gracia (paladdin) on http://www.alpuntodesal.com

            I'm not talking about building a Release, but a kernel/userland as stated in FAQ 5.3.

            And as far as other archs are concerned, sure they would get there latter, but i386/amd64 rules the market to a point where most of the current archs are supported for the Good Code's(TM) shake -may not be your case, but it is 95% of time-.

            So, all in all, I think you're right when saying pcc won't totally replace gcc any time soon, but I believe pcc as a soon-to-be serious contender as an OS development and deployment workhorse tool, both in kernel and in userland -understood as the bunch of tools that makes possible the user and his processes communicate with and control the kernel-.

            Keeping away from complex packages/ports apps and other dependencies, I believe a non-X default full working OBSD install -really useful as is!- could be a realistic hope in the near future, so dumping gcc is almost done for me :)


            >
            > and compiler changes are made based on quite a few more architecture than just amd64/i386 as well as the requirement to be able to also build xenocara (userland) and a good portion of ports. pcc might be approaching the point of mostly building kernel / src but not xenocara and not very close to being able to truly replace gcc.

            1. By Brad (brad) on

              > I'm not talking about building a Release, but a kernel/userland as stated in FAQ 5.3.
              >
              > And as far as other archs are concerned, sure they would get there latter, but i386/amd64 rules the market to a point where most of the current archs are supported for the Good Code's(TM) shake -may not be your case, but it is 95% of time-.
              >
              > So, all in all, I think you're right when saying pcc won't totally replace gcc any time soon, but I believe pcc as a soon-to-be serious contender as an OS development and deployment workhorse tool, both in kernel and in userland -understood as the bunch of tools that makes possible the user and his processes communicate with and control the kernel-.
              >
              > Keeping away from complex packages/ports apps and other dependencies, I believe a non-X default full working OBSD install -really useful as is!- could be a realistic hope in the near future, so dumping gcc is almost done for me :)

              Other than for the handful of pcc optimists that isn't useful. pcc does not meet the requirements of the project. You can build whatever you want with any compiler but don't expect pcc to be supported or having it in the base OS anytime soon.

    2. By phessler (phessler) on http://theapt.org

      > Wonder how long it takes until they are able to drop gcc

      the ports tree (and useful things that you insist on using) basically require gcc4. mixing binaries (and libraries) built with differing compilers can sometimes (read: often) produce strange side effects that suck to debug and track down. we had lots of strange issues mixing gcc3 and gcc4.

      Basically, once pcc can compile all of ports, and gives us reasonable firefox4/{open,libre}office/qt4/etc builds, then we can start to think about it.

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]