< ROSE Compiler Framework
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
# 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
$ 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
# 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
$ 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)" # 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
$ 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
# 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
$ 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
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.