development/unifdef: Added (processes C conditional compilation).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2014-05-03 03:15:16 +07:00 committed by Willy Sudiarto Raharjo
parent 74a6b3a65e
commit feb364a422
4 changed files with 117 additions and 0 deletions

View file

@ -0,0 +1,13 @@
unifdef (selectively processes C conditional compilation)
The unifdef utility selectively processes conditional C preprocessor #if
and #ifdef directives. It removes from a file both the directives and the
additional text that they delimit, while otherwise leaving the file alone.
It is useful for avoiding distractions when studying code that uses
#ifdef heavily for portability: the author's original motivation was to
understand xterm's pty handling code. It can be used as a lightweight
preprocessor; for example the Linux kernel uses unifdef to strip out
#ifdef __KERNEL__ sections from the headers it exports to userland. You
can use unifdef with languages other than C; for example UIT, a publisher
in Cambridge, uses unifdef with LaTeX.

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
unifdef: unifdef (selectively processes C conditional compilation)
unifdef:
unifdef: The unifdef utility selectively processes conditional C preprocessor
unifdef: #if and #ifdef directives. It removes from a file both the directives
unifdef: and the additional text that they delimit, while otherwise leaving
unifdef: the file alone.
unifdef:
unifdef:
unifdef:
unifdef:
unifdef:

View file

@ -0,0 +1,75 @@
#!/bin/sh
# Slackware build script for unifdef
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=unifdef
VERSION=${VERSION:-2.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -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.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
make CFLAGS="$SLKCFLAGS" DESTDIR=$PKG
mkdir -p $PKG/usr/bin $PKG/usr/man/man1
# manual install = less code than hacking 'make install'
install -s -m0755 $PRGNAM $PKG/usr/bin
install -m0755 ${PRGNAM}all.sh $PKG/usr/bin/${PRGNAM}all
gzip -9c < $PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
ln -s $PRGNAM.1.gz $PKG/usr/man/man1/${PRGNAM}all.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
gzip -9 Changelog # it's bloody enormous
cp -a COPYING README Changelog.gz $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="unifdef"
VERSION="2.10"
HOMEPAGE="http://dotat.at/prog/unifdef/"
DOWNLOAD="http://dotat.at/prog/unifdef/unifdef-2.10.tar.xz"
MD5SUM="bb5d895e5ebbba5c5cc0c2771cf97ebe"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"