summaryrefslogtreecommitdiffstats
path: root/development/afl/afl.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/afl/afl.SlackBuild')
-rw-r--r--development/afl/afl.SlackBuild148
1 files changed, 0 insertions, 148 deletions
diff --git a/development/afl/afl.SlackBuild b/development/afl/afl.SlackBuild
deleted file mode 100644
index 079fe11846..0000000000
--- a/development/afl/afl.SlackBuild
+++ /dev/null
@@ -1,148 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for afl
-
-# Written by B. Watson (yalhcru@gmail.com)
-
-# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
-
-# 20200217 bkw: BUILD=2.
-# - fix afl-clang-fast
-# - include README.llvm and optional README.qemu in doc dir
-# - update README slightly
-# 20180709 bkw: updated for v2.52b.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PRGNAM=afl
-VERSION=${VERSION:-2.52b}
-BUILD=${BUILD:-2}
-TAG=${TAG:-_SBo}
-PKGTYPE=${PKGTYPE:-tgz}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
-fi
-
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-set -e
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tgz
-cd $PRGNAM-$VERSION
-chown -R root:root .
-find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
- \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
-
-# apply slack cflags, tell gcc to create stripped binaries
-sed -i "/^CFLAGS/s|-O3.*|$SLKCFLAGS -Wl,-s|" Makefile llvm_mode/Makefile
-sed -i "/^CFLAGS/s|-O3|$SLKCFLAGS|" qemu_mode/build_qemu_support.sh
-
-PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
-
-make \
- DESTDIR=$PKG \
- PREFIX=/usr \
- HELPER_PATH=/usr/lib$LIBDIRSUFFIX/$PRGNAM \
- DOC_PATH=/usr/doc/$PRGNAM-$VERSION \
- all \
- install
-
-# llvm fast mode looks useful, include it.
-# comment this out if you're building on slack 14.1, its llvm is too old.
-make -C llvm_mode \
- PREFIX=/usr \
- HELPER_PATH=/usr/lib$LIBDIRSUFFIX/$PRGNAM
-
-# no 'make install' support, manual install.
-install -s -m0755 -oroot -groot afl-clang-fast $PKG/usr/bin
-ln -s afl-clang-fast $PKG/usr/bin/afl-clang-fast++
-
-# 20200217 bkw: clang fast mode support libraries. Thanks to mity for
-# a very detailed bug report.
-CLANGLIB=$PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
-install -s -m0755 -oroot -groot afl-llvm-pass.so $CLANGLIB
-# no -s here, stripping this would be bad:
-install -m0644 -oroot -groot afl-llvm-rt*.o $CLANGLIB
-
-# replace identical .o files with symlinks
-baseobj=$CLANGLIB/afl-llvm-rt.o
-for bits in 32 64; do
- bitobj=$CLANGLIB/afl-llvm-rt-$bits.o
- if [ -e $bitobj ] && cmp $bitobj $baseobj; then
- rm -f $bitobj
- ln -s afl-llvm-rt.o $bitobj
- fi
-done
-
-WITHQEMU="without"
-
-# figure out the qemu source tarball name. N.B. update the README
-# when this changes!
-( egrep "^(VERSION|QEMU_URL)=" qemu_mode/build_qemu_support.sh > 1.sh
- source ./1.sh
- echo "$QEMU_URL" > qemu.url )
-QEMU_SRC="$( basename "$( cat qemu.url )" )"
-
-# optional qemu support, needed for fuzzing binary-only stuff,
-# only built if $CWD contains the qemu source.
-if [ -e "$CWD/$QEMU_SRC" ]; then
- echo "=== qemu source \$CWD/$QEMU_SRC found"
- cp "$CWD/$QEMU_SRC" qemu_mode
-
- cd qemu_mode
- sh build_qemu_support.sh
- cp -a README.qemu $PKGDOC
- cd -
-
- install -s -m0755 -oroot -groot afl-qemu-trace $PKG/usr/bin
- WITHQEMU="with"
-else
- echo "!!! qemu source \$CWD/$QEMU_SRC not found"
- echo "!!! wget $( cat qemu.url )"
- # grep for the !!! in the log to find the URL, when updating afl
-fi
-
-# 'make install' already put the docs where they belong.
-# the experimental/ stuff is sample source code, include in docs.
-# since llvm_mode has no 'make install', we install its doc here.
-cp -a llvm_mode/README.llvm experimental $PKGDOC
-cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-sed "s,@WITHQEMU@,$WITHQEMU," $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE