Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
49 lines (34 sloc) 1.82 KB


oc is an ooc compiler written in ooc. It focuses on clean design, flexibility and scalability. oc is planned to replace rock, the current standard ooc compiler.

Building & installing

You can install oc easily in only 42 steps:

  • Install boehm-gc, with thread support. If your distribution has libgc by default, you can run:

nm -D /usr/lib/ | grep GC_pthread_create

  • Make yourself a favor and grab hub while you're at it.
  • Then go all like:

export OOC_DIR=~/ooc
mkdir -p $OOC_DIR && cd $OOC_DIR
hub clone nddrylliog/rock && cd rock
make rescue && sudo make install

  • This should end with 'Congrats! You have a rock in bin/rock. If it does nawt, report an issue.
  • Now it's time to get greg and nagaqueen!

hub clone nddrylliog/greg && cd greg
make && sudo make install

hub clone nddrylliog/nagaqueen

  • Now we'll grab oc, along with a frontend and a backend, and compile the shiznit out of it:

hub clone nddrylliog/oc
hub clone nddrylliog/oc-nagaqueen
hub clone nddrylliog/oc-c89
export PREFIX=$OOC_DIR/oc/prefix
cd oc-nagaqueen && ./make && cd ..
cd oc-c89 && ./make && cd ..
cd oc && ./make && sudo make install

  • If everything went fine, you should now be the happy owner of an oc setup!
  • Since oc is entirely modular, feel free to write another frontend, or another backend, and only recompile your code, not the main compiler. Yes, rock has some pretty awesome sides as well.

About the transition

Oh who am I kidding, I'm changing ideas every 15 minutes anyway. We do thoroughly love zeromq lately, though :)