https://github.com/Soft/rainbowpath
Program for making paths pretty 

C++

Install development dependencies (tce-load -i compiletc automake cmake pkg-config pcre-dev liblzma-dev intltool

export CFLAGS="-flto -fuse-linker-plugin -mtune=generic -Os -pipe"
export CXXFLAGS="-flto -fuse-linker-plugin -mtune=generic -Os -pipe -fno-exceptions -fno-rtti"

git clone https://github.com/Soft/rainbowpath.git

./autogen.sh 
./configure --prefix=/usr/local --localstatedir=/var
find . -name Makefile -type f -exec sed -i 's/-O2//g' {} \;
sudo make -j4 install-strip

find . -name Makefile -type f -exec sed -i 's/-O2//g' {} \;
make

Runtime dependencies: none

submitqc --color --libs --fix --strip ./rainbowpath.tcz
submitqc --color --libs --fix --strip ./rainbowpath-doc.tcz

# get the extension files dates the same as tcz
for file in rainbowpath.tcz.*; do touch --no-create --reference=rainbowpath.tcz $file; done
for file in rainbowpath-doc.tcz.*; do touch --no-create --reference=rainbowpath-doc.tcz $file; done

# set the permissions
for file in rainbowpath.*; do chmod 666 $file; done
for file in rainbowpath-doc.*; do chmod 666 $file; done

#tar all necessary and optional files, example:
tar cvzf ./rainbowpath.tar.gz ./rainbowpath/
tar cvzf ./rainbowpath-doc.tar.gz ./rainbowpath-doc/

add something like this to your bashrc:

function reset-prompt {
  #PS1="\u@\h $(rainbowpath -b) \$ "
  #PS1="\[${MAGENTA}\][\[${BLUE}\]\w\[${MAGENTA}\]]\[${COLOR_YEL}\]{\\$"?"=\$?}\[${COLOR_RED}\]\$(date '+%a %b %d')\[${COLOR_GRE}\] \$(date +%T) \[${WHITE}\]>\[${NORMAL}\] "
  PS1="\[${MAGENTA}\][\[${BLUE}\]$(rainbowpath -b)\[${MAGENTA}\]]\[${COLOR_YEL}\]{\\$"?"=\$?}\[${COLOR_RED}\]\$(date '+%a %b %d')\[${COLOR_GRE}\] \$(date +%T) \[${WHITE}\]>\[${NORMAL}\] "
}

PROMPT_COMMAND=reset-prompt

save this file as compile_rainbowpath
