aboutsummaryrefslogtreecommitdiff
path: root/libraries/cloog
diff options
context:
space:
mode:
authorExaga <exaga@penthux.net>2022-04-06 09:29:13 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-04-09 15:45:48 +0700
commit1a7269b0e19d2713648f37c46a55b18ae743fb0d (patch)
tree83e822edec60d9e134f339dbbbdc155fa02eed04 /libraries/cloog
parente7e97a8a8d9a7436c02b32a0d33dd3b10a825717 (diff)
libraries/cloog: Added (code generation library).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries/cloog')
-rw-r--r--libraries/cloog/README5
-rw-r--r--libraries/cloog/cloog.SlackBuild124
-rw-r--r--libraries/cloog/cloog.info10
-rw-r--r--libraries/cloog/slack-desc19
4 files changed, 158 insertions, 0 deletions
diff --git a/libraries/cloog/README b/libraries/cloog/README
new file mode 100644
index 000000000000..a70c4f5ad170
--- /dev/null
+++ b/libraries/cloog/README
@@ -0,0 +1,5 @@
+CLooG is a free software library to generate code for
+scanning Z-polyhedra which is designed to avoid control
+overhead and produce a very effective code.
+CLooG is a code generation library that is used in
+the Graphite loop transforms pass of GCC.
diff --git a/libraries/cloog/cloog.SlackBuild b/libraries/cloog/cloog.SlackBuild
new file mode 100644
index 000000000000..3113be3bba11
--- /dev/null
+++ b/libraries/cloog/cloog.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/bash
+
+# SlackBuild script for CLooG
+#
+# Copyright 2016 Exaga - penthux.net
+# All rights reserved.
+#
+# - 15 Sep 2016 [Progenitor]
+# - 03 Apr 2022 [updated for Slackware AArch64]
+#
+# # Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=cloog
+VERSION=${VERSION:-0.18.1}
+BUILD=${BUILD:-1}
+TAG="${TAG:-_SBo}"
+PKGTYPE="${PKGTYPE:-tgz}"
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+# PKG build dir vars
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+# Determine HOST ARCH
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ aarch64) ARCH=aarch64 ;;
+ arm*) ARCH=arm ;;
+ # Else use 'uname -m' for all other ARCH
+ *) ARCH=$(uname -m) ;;
+ esac
+fi
+
+# Set ARCH CFLAGS
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "aarch64" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+# Start clean
+rm -rf "$PKG"
+mkdir -p "$TMP" "$PKG" "$OUTPUT"
+cd "$TMP"
+rm -rf $PRGNAM-"$VERSION"
+tar xvf "$CWD"/$PRGNAM-"$VERSION".tar.gz
+
+# Configure params
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../$PRGNAM-"$VERSION"/configure \
+ --prefix=/usr \
+ --libdir=/usr/lib"${LIBDIRSUFFIX}" \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --disable-static \
+ --build="$ARCH"-slackware-linux \
+ --host="$ARCH"-slackware-linux
+
+# Compile PKG
+make
+make install DESTDIR="$PKG"
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip some libraries and binaries
+find "$PKG" | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Copy PKG docs
+mkdir -p "$PKG"/usr/doc/$PRGNAM-"$VERSION" "$PKG"/install
+cp -a LICENSE README "$PKG"/usr/doc/$PRGNAM-"$VERSION"
+# Copy PRGNAM.SlackBuild to PKG docs
+cat "$CWD"/$PRGNAM.SlackBuild > "$PKG"/usr/doc/$PRGNAM-"$VERSION"/$PRGNAM.SlackBuild
+# Copy PKG slack-desc
+cat "$CWD"/slack-desc > "$PKG"/install/slack-desc
+
+# Build PKG
+cd "$PKG"
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/libraries/cloog/cloog.info b/libraries/cloog/cloog.info
new file mode 100644
index 000000000000..67383298af0c
--- /dev/null
+++ b/libraries/cloog/cloog.info
@@ -0,0 +1,10 @@
+PRGNAM="cloog"
+VERSION="0.18.1"
+HOMEPAGE="https://gcc.gnu.org/wiki/CLooG"
+DOWNLOAD="https://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.18.1.tar.gz"
+MD5SUM="e34fca0540d840e5d0f6427e98c92252"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Exaga"
+EMAIL="exaga@penthux.net"
diff --git a/libraries/cloog/slack-desc b/libraries/cloog/slack-desc
new file mode 100644
index 000000000000..c2b0ec922465
--- /dev/null
+++ b/libraries/cloog/slack-desc
@@ -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------------------------------------------------------|
+cloog: cloog (code generation library)
+cloog:
+cloog: CLooG is a free software library to generate code for scanning
+cloog: Z-polyhedra which is designed to avoid control overhead and to
+cloog: produce a very effective code. CLooG is a code generation library
+cloog: that is used in the Graphite loop transforms pass of GCC.
+cloog:
+cloog:
+cloog:
+cloog: Project Homepage: http://cloog.org/
+cloog: