gnu: Add ISL and CLooG.
* gnu/packages/gcc.scm (%gcc-infrastructure, isl, cloog): New variables.master
parent
e9c0b9446b
commit
832abc7687
|
@ -26,6 +26,10 @@
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix build-system gnu))
|
#:use-module (guix build-system gnu))
|
||||||
|
|
||||||
|
(define %gcc-infrastructure
|
||||||
|
;; Base URL for GCC's infrastructure.
|
||||||
|
"ftp://gcc.gnu.org/pub/gcc/infrastructure/")
|
||||||
|
|
||||||
(define-public gcc-4.7
|
(define-public gcc-4.7
|
||||||
(let ((stripped? #t)) ; TODO: make this a parameter
|
(let ((stripped? #t)) ; TODO: make this a parameter
|
||||||
(package
|
(package
|
||||||
|
@ -138,3 +142,72 @@ GCC development is a part of the GNU Project, aiming to improve the compiler
|
||||||
used in the GNU system including the GNU/Linux variant.")
|
used in the GNU system including the GNU/Linux variant.")
|
||||||
(license gpl3+)
|
(license gpl3+)
|
||||||
(home-page "http://gcc.gnu.org/"))))
|
(home-page "http://gcc.gnu.org/"))))
|
||||||
|
|
||||||
|
(define-public isl
|
||||||
|
(package
|
||||||
|
(name "isl")
|
||||||
|
(version "0.11.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (list (string-append
|
||||||
|
"ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/isl-"
|
||||||
|
version
|
||||||
|
".tar.bz2")
|
||||||
|
(string-append %gcc-infrastructure
|
||||||
|
name "-" version ".tar.gz")))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(inputs `(("gmp" ,gmp)))
|
||||||
|
(home-page "http://www.kotnet.org/~skimo/isl/")
|
||||||
|
(synopsis
|
||||||
|
"A library for manipulating sets and relations of integer points bounded
|
||||||
|
by linear constraints")
|
||||||
|
(description
|
||||||
|
"isl is a library for manipulating sets and relations of integer points
|
||||||
|
bounded by linear constraints. Supported operations on sets include
|
||||||
|
intersection, union, set difference, emptiness check, convex hull, (integer)
|
||||||
|
affine hull, integer projection, computing the lexicographic minimum using
|
||||||
|
parametric integer programming, coalescing and parametric vertex
|
||||||
|
enumeration. It also includes an ILP solver based on generalized basis
|
||||||
|
reduction, transitive closures on maps (which may encode infinite graphs),
|
||||||
|
dependence analysis and bounds on piecewise step-polynomials.")
|
||||||
|
(license lgpl2.1+)))
|
||||||
|
|
||||||
|
(define-public cloog
|
||||||
|
(package
|
||||||
|
(name "cloog")
|
||||||
|
(version "0.18.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (list (string-append
|
||||||
|
"http://www.bastoul.net/cloog/pages/download/count.php3?url=cloog-"
|
||||||
|
version
|
||||||
|
".tar.gz")
|
||||||
|
(string-append %gcc-infrastructure
|
||||||
|
name "-" version ".tar.gz")))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0a12rwfwp22zd0nlld0xyql11cj390rrq1prw35yjsw8wzfshjhw"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(inputs `(("gmp" ,gmp)
|
||||||
|
("isl" ,isl)))
|
||||||
|
(arguments '(#:configure-flags '("--with-isl=system")))
|
||||||
|
(home-page "http://www.cloog.org/")
|
||||||
|
(synopsis "A library to generate code for scanning Z-polyhedra")
|
||||||
|
(description
|
||||||
|
"CLooG is a free software library to generate code for scanning
|
||||||
|
Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
|
||||||
|
reaches each integral point of one or more parameterized polyhedra.
|
||||||
|
CLooG has been originally written to solve the code generation problem
|
||||||
|
for optimizing compilers based on the polytope model. Nevertheless it
|
||||||
|
is used now in various area e.g., to build control automata for
|
||||||
|
high-level synthesis or to find the best polynomial approximation of a
|
||||||
|
function. CLooG may help in any situation where scanning polyhedra
|
||||||
|
matters. While the user has full control on generated code quality,
|
||||||
|
CLooG is designed to avoid control overhead and to produce a very
|
||||||
|
effective code.")
|
||||||
|
(license gpl2+)))
|
||||||
|
|
Reference in New Issue