ROSE Compiler Framework/Real-World Applications

cherokee
$ tar xvzf cherokee-1.2.101.tar.gz $ cd cherokee-1.2.101

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

dbus
Prerequisites:


 * Autoconf >= 2.63
 * CMake

$ tar xzvf dbus-1.6.4.tar.gz $ cd dbus-1.6.4

$ mkdir dbus-build-dir $ cd dbus-build-dir

$ CC=identityTranslator cmake -G "Unix Makefiles" ../cmake/ $ make $ make install

epiphany
$ unxz epiphany-3.0.4.tar.xz $ tar xvf epiphany-3.0.4.tar $ cd epiphany-3.0.4

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

exim
$ tar xzvf exim-4.66.tar.gz $ cd exim-4.66


 * 1) Create main Makefile
 * 2) cat src/EDITME | sed 's/\(EXIM_USER=\)/\1'$USER'/g' > Local/Makefile

$ cp src/EDITME Local/Makefile (   echo "CC=identityTranslator"    echo "CFLAGS=-I$(pwd)/build-Linux-x86_64"    echo "EXIM_USER=$USER"    echo "BIN_DIRECTORY=$(pwd)/install_tree/bin"    echo "CONFIGURE_FILE=$(pwd)/install_tree/configure" ) 2>&1 >> Local/Makefile [ ${PIPESTATUS[0]} -ne 0 ] && exit 1 || true

$ cp exim_monitor/EDITME Local/eximon.conf
 * 1) Create eximon configuration

$ cat src/pcre/config.h | sed 's/#include "..\/os.h"/#include "os.h"/g' > src/pcre/config.h-new $ cp src/pcre/config.h src/pcre/config.h-old $ cp src/pcre/config.h-new src/pcre/config.h

files="$(grep -rn "#include \"cnumber.h\"" * | awk '{print $1}' | sed 's/:.*:.*//g')" cnumber="6" for f in $files; do echo "Hacking file '$f' to replace '#include \"cnumber.h\"' with the actual contents '${cnumber}'..." mv $f $f-old cat "${f}-old" | sed 's/#include "cnumber\.h"/'${cnumber}'/g' > "$f" done
 * 1) Hack: Replace #include "cnumber.h" with the actual number contained in
 * 2) that header file:
 * 3) // DQ (10/23/2012): Modified source code to avoid this classic source-to-source
 * 4) // issue (represented by ROSE test code test2012_78.c).
 * 1) // issue (represented by ROSE test code test2012_78.c).
 * 1) Generated by Make
 * 2) cnumber_file="$(find . -iname "*cnumber\.h")"
 * 3) cnumber="$(cat "$cnumber_file")"

$ make

grep
$ unxz grep-2.14.tar.xz $ tar xvf grep-2.14.tar $ cd grep-2.14

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

irssi
$ tar xzvf irssi-0.8.15.tar.gz $ cd irssi-0.8.15

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

mutt
$ tar xzvf mutt-1.4.2.3.tar.gz $ cd mutt-1.4.2.3

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

nginx
tar xzvf nginx-1.2.3.tar.gz cd nginx-1.2.3

files="$(grep -rn "\-I " * | awk '{print $1}' | sed 's/:.*:.*//g')" for f in $files; do echo "Hacking file '$f' to remove space in -I header file include paths..." mv $f $f-old cat "${f}-old" | sed 's/-I /-I/g' > "$f" done
 * 1) Hack: Replace space in header file include paths: "-I "to> "-I":

files="$(grep -rn "\-Werror" * | awk '{print $1}' | sed 's/:.*:.*//g')" for f in $files; do echo "Hacking file '$f' to remove the -Werror CFLAG..." mv $f $f-old cat "${f}-old" | sed 's/-Werror//g' > "$f" done
 * 1) Hack: Remove "-Werror" so warnings won't be treated as errors:

CC=identityTranslator ./configure --prefix=$(pwd)/install_tree make make install

openssl
$ tar xzvf openssl-1.0.1c.tar.gz $ cd openssl-1.0.1c

$ CC=identityTranslator ./config --prefix=$(pwd)/install_tree $ make $ make test $ make install

postfix
$ tar xvzf postfix-2.9.4.tar.gz $ cd postfix-2.9.4

$ make makefiles CC=identityTranslator $ make $ make install

sudo
$ tar xzvf sudo-1.8.6.tar.gz $ cd sudo-1.8.6

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

tcpdump
Prerequisites:


 * PCAP (we use v1.3.0)

$ export WORKSPACE_HOME="$(pwd)"

$ tar xzvf libpcap-1.3.0.tar.gz $ cd libpcap-1.3.0
 * 1) Build dependency pcap at same directory level as tcpdump

$ export PCAP_INSTALL=$(pwd)/install_tree $ ./configure --prefix="$PCAP_INSTALL" $ make -j16 install

cd "$WORKSPACE_HOME" $ tar xzvf tcpdump-4.3.0.tar.gz $ cd tcpdump-4.3.0

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

w3c libwww
$ tar xvzf w3c-libwww-5.4.0.tgz $ cd w3c-libwww-5.4.0

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

wget
$ tar xvzf wget-1.14.tar.gz $ cd wget-1.14

f="src/gnutls.c" echo "Hacking file '$f' to change 'GNUTLS_TLS1_2' to 'GNUTLS_TLS1_1'..." mv $f $f-old cat "${f}-old" | sed 's/GNUTLS_TLS1_2/GNUTLS_TLS1_1/g' > "$f"
 * 1) Hack: Replace "GNUTLS_TLS1_2" by "GNUTLS_TLS1_1" so it will compile
 * 2) on our operating systems

cp lib/utimens.c lib/utimens.c-old cat lib/utimens.c-old | sed 's/#include /#include "sys\/stat.h"/g' > lib/utimens.c
 * 1) Hack: Change include to be local instead of system:
 * 2)  to "sys/stat.h"

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install

zsh
$ tar xzvf zsh-5.0.0.tar.gz $ cd zsh-5.0.0

$ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree --without-tcsetpgrp $ make $ make install
 * 1) Use "--without-tcsetpgrp", otherwise error "no controlling TTY" when run in Jenkins