ROSE Compiler Framework/Real-World Applications
Appearance
cherokee
[edit | edit source]$ tar xvzf cherokee-1.2.101.tar.gz $ cd cherokee-1.2.101 $ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install
dbus
[edit | edit source]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
[edit | edit source]$ 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
[edit | edit source]$ tar xzvf exim-4.66.tar.gz $ cd exim-4.66 # Create main Makefile #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 # Create eximon configuration $ cp exim_monitor/EDITME Local/eximon.conf $ 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 # Hack: Replace #include "cnumber.h" with the actual number contained in # that header file: # # // DQ (10/23/2012): Modified source code to avoid this classic source-to-source # // issue (represented by ROSE test code test2012_78.c). files="$(grep -rn "#include \"cnumber.h\"" * | awk '{print $1}' | sed 's/:.*:.*//g')" # Generated by Make #cnumber_file="$(find . -iname "*cnumber\.h")" #cnumber="$(cat "$cnumber_file")" 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 $ make
grep
[edit | edit source]$ 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
[edit | edit source]$ tar xzvf irssi-0.8.15.tar.gz $ cd irssi-0.8.15 $ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install
mutt
[edit | edit source]$ 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
[edit | edit source]tar xzvf nginx-1.2.3.tar.gz cd nginx-1.2.3 # Hack: Replace space in header file include paths: "-I "to> "-I": 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 # Hack: Remove "-Werror" so warnings won't be treated as errors: 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 CC=identityTranslator ./configure --prefix=$(pwd)/install_tree make make install
openssl
[edit | edit source]$ 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
[edit | edit source]$ tar xvzf postfix-2.9.4.tar.gz $ cd postfix-2.9.4 $ make makefiles CC=identityTranslator $ make $ make install
sudo
[edit | edit source]$ tar xzvf sudo-1.8.6.tar.gz $ cd sudo-1.8.6 $ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install
tcpdump
[edit | edit source]Prerequisites:
- PCAP (we use v1.3.0)
$ export WORKSPACE_HOME="$(pwd)" # Build dependency pcap at same directory level as tcpdump $ tar xzvf libpcap-1.3.0.tar.gz $ cd libpcap-1.3.0 $ 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
[edit | edit source]$ 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
[edit | edit source]$ tar xvzf wget-1.14.tar.gz $ cd wget-1.14 # Hack: Replace "GNUTLS_TLS1_2" by "GNUTLS_TLS1_1" so it will compile # on our operating systems 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" # Hack: Change include to be local instead of system: # <sys/stat.h> to "sys/stat.h" # cp lib/utimens.c lib/utimens.c-old cat lib/utimens.c-old | sed 's/#include <sys\/stat.h>/#include "sys\/stat.h"/g' > lib/utimens.c $ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree $ make $ make install
zsh
[edit | edit source]$ tar xzvf zsh-5.0.0.tar.gz $ cd zsh-5.0.0 # Use "--without-tcsetpgrp", otherwise error "no controlling TTY" when run in Jenkins $ CC=identityTranslator ./configure --prefix=$(pwd)/install_tree --without-tcsetpgrp $ make $ make install