diff options
author | Exaga <exaga@penthux.net> | 2022-04-06 09:29:13 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-04-09 15:45:48 +0700 |
commit | 1a7269b0e19d2713648f37c46a55b18ae743fb0d (patch) | |
tree | 83e822edec60d9e134f339dbbbdc155fa02eed04 /libraries | |
parent | e7e97a8a8d9a7436c02b32a0d33dd3b10a825717 (diff) | |
download | slackbuilds-1a7269b0e19d2713648f37c46a55b18ae743fb0d.tar.gz |
libraries/cloog: Added (code generation library).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries')
-rw-r--r-- | libraries/cloog/README | 5 | ||||
-rw-r--r-- | libraries/cloog/cloog.SlackBuild | 124 | ||||
-rw-r--r-- | libraries/cloog/cloog.info | 10 | ||||
-rw-r--r-- | libraries/cloog/slack-desc | 19 |
4 files changed, 158 insertions, 0 deletions
diff --git a/libraries/cloog/README b/libraries/cloog/README new file mode 100644 index 0000000000..a70c4f5ad1 --- /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 0000000000..3113be3bba --- /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 0000000000..67383298af --- /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 0000000000..c2b0ec9224 --- /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: |