PSARC/2015/404 ISL v0.12.2: Integer Set Library
authorStefan Teleman <stefan.teleman@oracle.com>
Tue, 17 Nov 2015 12:35:41 -0800
changeset 5099 a14d6941c0c9
parent 5098 77b8086c6247
child 5100 fec60e047e04
PSARC/2015/404 ISL v0.12.2: Integer Set Library 21459198 introduce ISL in Solaris
components/isl/Makefile
components/isl/Solaris/isl.pc
components/isl/isl.license
components/isl/isl.p5m
components/isl/patches/000-codegen_test.sh.in.patch
components/isl/patches/001-ltmain.sh.patch
components/isl/test/results-isl.master
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/isl/Makefile	Tue Nov 17 12:35:41 2015 -0800
@@ -0,0 +1,173 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+include ../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=         isl
+COMPONENT_VERSION=      0.12.2
+COMPONENT_SRC=          $(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_PROJECT_URL=  http://freecode.com/projects/isl
+COMPONENT_ARCHIVE=      $(COMPONENT_SRC).tar.bz2
+COMPONENT_ARCHIVE_HASH= \
+	sha256:f4b3dbee9712850006e44f0db2103441ab3d13b406f77996d1df19ee89d11fb4
+COMPONENT_ARCHIVE_URL=  http://isl.gforge.inria.fr/$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=        utility/gnu-compiler
+
+TPNO=			23799
+
+include $(WS_MAKE_RULES)/prep.mk
+include $(WS_MAKE_RULES)/configure.mk
+include $(WS_MAKE_RULES)/ips.mk
+
+# For the DEBUG_BUILD macro please see RFE/Bug 22185118:
+# https://bug.oraclecorp.com/pls/bug/webbug_edit.edit_info_top?rptno=22185118
+# For the GCC CFLAGS/CXXFLAGS please see:
+# - RFE/Bug 22185134:
+# https://bug.oraclecorp.com/pls/bug/webbug_edit.edit_info_top?rptno=22185134
+# - RFE/Bug 22185167:
+# https://bug.oraclecorp.com/pls/bug/webbug_edit.edit_info_top?rptno=22185167
+
+COMPILER = gcc
+
+PATCH_LEVEL = 0
+DEBUG_BUILD := 0
+PATH="/usr/gnu/bin:/usr/perl5/bin:/usr/bin:/usr/sbin"
+
+ISL_GCC_ARCH_i386 = -mtune=opteron -march=opteron
+ISL_GCC_ARCH_i386 += -fno-strict-aliasing -fno-omit-frame-pointer
+ISL_GCC_ARCH_sparc = -mtune=ultrasparc3 -mcpu=ultrasparc3 -mvis2 -mhard-float
+ISL_GCC_ARCH_sparc += -fno-strict-aliasing -mno-unaligned-doubles -mimpure-text
+ISL_GCC_ARCH = $(ISL_GCC_ARCH_$(MACH))
+ISL_GCC_ARCH += -Wall -Wextra -Wcast-qual -Wcast-align
+
+CFLAGS += $(CC_BITS)
+ifeq ($(DEBUG_BUILD),1)
+  CFLAGS += -g
+endif
+CFLAGS += -std=c99
+CFLAGS += -D__C99FEATURES__
+CFLAGS += -D_STDC_C99
+CFLAGS += $(CPP_XPG6MODE)
+CFLAGS += $(ISL_GCC_ARCH)
+
+CXXFLAGS += $(CC_BITS)
+ifeq ($(DEBUG_BUILD),1)
+  CXXFLAGS += -g
+endif
+CXXFLAGS += -std=c++03
+CXXFLAGS += $(CPP_XPG5MODE)
+CXXFLAGS += $(ISL_GCC_ARCH)
+
+CPPFLAGS += $(CPP_LARGEFILES)
+CPPFLAGS += $(CPP_POSIX)
+CPPFLAGS += `pkg-config --cflags libgmp`
+CPPFLAGS += `pkg-config --cflags libmpfr`
+
+CONFIGURE_ENV +=	CFLAGS="$(CFLAGS)"
+CONFIGURE_ENV +=	CXXFLAGS="$(CXXFLAGS)"
+CONFIGURE_ENV +=	CPPFLAGS="$(CPPFLAGS)"
+CONFIGURE_ENV +=	LDFLAGS="$(LDFLAGS)"
+CONFIGURE_ENV +=	LD_OPTIONS="$(LD_OPTIONS)"
+CONFIGURE_ENV +=	CCLD="$(CC) $(CFLAGS) $(LDFLAGS)"
+CONFIGURE_ENV +=	LIBS="$(LIBS)"
+CONFIGURE_ENV +=	PATH="$(PATH)"
+
+CONFIGURE_OPTIONS  +=		--localstatedir=/var
+CONFIGURE_OPTIONS  +=		--infodir=$(CONFIGURE_INFODIR)
+CONFIGURE_OPTIONS  +=		--disable-option-checking
+CONFIGURE_OPTIONS  +=		--disable-silent-rules
+CONFIGURE_OPTIONS  +=		--enable-shared=yes
+CONFIGURE_OPTIONS  +=		--enable-static=no
+CONFIGURE_OPTIONS  +=		--disable-libtool-lock
+CONFIGURE_OPTIONS  +=		--with-gcc-arch="$(ISL_GCC_ARCH)"
+CONFIGURE_OPTIONS  +=		--with-pic
+CONFIGURE_OPTIONS  +=		--with-int=gmp
+CONFIGURE_OPTIONS  +=		--with-gmp=system
+CONFIGURE_OPTIONS  +=		--with-gmp-prefix=$(CONFIGURE_PREFIX)
+CONFIGURE_OPTIONS  +=		--with-clang=no
+
+COMPONENT_TEST_ENV +=	libtool_install_magic='%%%MAGIC variable%%%'
+COMPONENT_TEST_ENV +=	libtool_execute_magic='%%%MAGIC variable%%%'
+COMPONENT_TEST_ENV +=	PATH="$(GNUBIN):$(PATH)"
+
+COMPONENT_POST_INSTALL_ACTION = \
+	( cd $(PROTOUSRDIR) ; \
+	  $(PYTHON) -m compileall . ; \
+	  $(MKDIR) $(PROTOUSRLIBDIR)/pkgconfig ; \
+	  $(CP) $(COMPONENT_DIR)/Solaris/isl.pc \
+	    $(PROTOUSRLIBDIR)/pkgconfig/ ; \
+	  $(GSED) -i 's^LIBDIR^$(USRLIBDIR)^g' \
+	    $(PROTOUSRLIBDIR)/pkgconfig/isl.pc ; \
+	  $(MKDIR) $(PROTOUSRLIBDIR64)/pkgconfig ; \
+	  $(CP) $(COMPONENT_DIR)/Solaris/isl.pc \
+	    $(PROTOUSRLIBDIR64)/pkgconfig/ ; \
+	  $(GSED) -i 's^LIBDIR^$(USRLIBDIR64)^g' \
+	    $(PROTOUSRLIBDIR64)/pkgconfig/isl.pc )
+
+COMPONENT_TEST_MASTER = \
+	$(COMPONENT_TEST_RESULTS_DIR)/results-isl.master
+
+COMPONENT_TEST_TRANSFORMS += \
+     '-e "/libtool/d"' \
+     '-e "/-m32/d"' \
+     '-e "/-m64/d"' \
+     '-e "/ld: warning/d"' \
+     '-e "/warning/d"' \
+     '-e "/prototype:/d"' \
+     '-e "/argument/d"' \
+     '-e "/Entering/d"' \
+     '-e "/Leaving/d"' \
+     '-e "/check-TESTS/d"' \
+     '-e "/all-recursive/d"' \
+     '-e "/test_input/d"' \
+     '-e "/\.pip$$/d"' \
+     '-e "/\.pwqp$$/d"' \
+     '-e "/Making all/d"' \
+     '-e "/Making check/d"' \
+     '-e "/Nothing to be done/d"' \
+     '-e "s/[0-9]\{1,\}\.[0-9]\{1,\} s, //g"' \
+     '-e "s^[0-9]\{1,\} kB/s^^g"'  \
+     '-e "s^[0-9]\{1,\}  kB/s^^g"'  \
+     '-e "s^[0-9]\{1,\}\.[0-9]\{1,\}  MB/s^^g"' \
+     '-e "s^[0-9]\{1,\}\.[0-9]\{1,\} MB/s^^g"' \
+     '-e "s/([0-9]\{1,\} B)//g"' \
+     '-e "s/([0-9]\{1,\}  B)//g"' \
+     '-e "s/copied,/copied/g"'  \
+     '-e "s/ \{1,\}copied/ copied/g"'  \
+     '-e "s/copied $$/copied/g"'  \
+     '-e "s/copied [0-9]\{1,\}\./copied/g"'
+
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+
+configure:	$(CONFIGURE_32_and_64)
+
+build:		$(BUILD_32_and_64)
+
+install:	$(INSTALL_32_and_64)
+
+test:		$(TEST_32_and_64)
+
+system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+
+REQUIRED_PACKAGES += library/gmp
+REQUIRED_PACKAGES += system/library
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/isl/Solaris/isl.pc	Tue Nov 17 12:35:41 2015 -0800
@@ -0,0 +1,18 @@
+prefix=/usr
+exec_prefix=${prefix}
+bindir=/usr/bin
+libdir=LIBDIR
+datarootdir=${prefix}/share
+datadir=${datarootdir}
+sysconfdir=${prefix}/etc
+includedir=${prefix}/include
+package=isl
+suffix=
+
+Name: isl
+Description: The Integer Set Library
+Version: 0.12.2
+Requires: 
+Libs: -lisl -lgmp
+Cflags: -I${includedir}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/isl/isl.license	Tue Nov 17 12:35:41 2015 -0800
@@ -0,0 +1,24 @@
+Copyright 2005-2012 Universiteit Leiden
+Copyright 2008-2009 Katholieke Universiteit Leuven
+Copyright 2010-2011 INRIA Saclay
+Copyright 2012-2013 Ecole Normale Superieure
+Copyright 2011 Sven Verdoolaege
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/isl/isl.p5m	Tue Nov 17 12:35:41 2015 -0800
@@ -0,0 +1,98 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+set name=pkg.fmri \
+    value=pkg:/library/isl@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="ISL - The Integer Set Library"
+set name=pkg.description \
+    value="a Library for manipulating sets and relations of integer points bounded by affine constraints"
+set name=com.oracle.info.description \
+    value="a Library for manipulating sets and relations of integer points"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value=org.opensolaris.category.2008:System/Libraries
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2015/404
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/include/isl/aff.h
+file path=usr/include/isl/aff_type.h
+file path=usr/include/isl/arg.h
+file path=usr/include/isl/ast.h
+file path=usr/include/isl/ast_build.h
+file path=usr/include/isl/band.h
+file path=usr/include/isl/blk.h
+file path=usr/include/isl/config.h
+file path=usr/include/isl/constraint.h
+file path=usr/include/isl/ctx.h
+file path=usr/include/isl/dim.h
+file path=usr/include/isl/flow.h
+file path=usr/include/isl/hash.h
+file path=usr/include/isl/id.h
+file path=usr/include/isl/ilp.h
+file path=usr/include/isl/int.h
+file path=usr/include/isl/list.h
+file path=usr/include/isl/local_space.h
+file path=usr/include/isl/lp.h
+file path=usr/include/isl/map.h
+file path=usr/include/isl/map_type.h
+file path=usr/include/isl/mat.h
+file path=usr/include/isl/multi.h
+file path=usr/include/isl/obj.h
+file path=usr/include/isl/options.h
+file path=usr/include/isl/point.h
+file path=usr/include/isl/polynomial.h
+file path=usr/include/isl/polynomial_type.h
+file path=usr/include/isl/printer.h
+file path=usr/include/isl/schedule.h
+file path=usr/include/isl/seq.h
+file path=usr/include/isl/set.h
+file path=usr/include/isl/set_type.h
+file path=usr/include/isl/space.h
+file path=usr/include/isl/stdint.h
+file path=usr/include/isl/stream.h
+file path=usr/include/isl/union_map.h
+file path=usr/include/isl/union_map_type.h
+file path=usr/include/isl/union_set.h
+file path=usr/include/isl/union_set_type.h
+file path=usr/include/isl/val.h
+file path=usr/include/isl/val_gmp.h
+file path=usr/include/isl/val_int.h
+file path=usr/include/isl/vec.h
+file path=usr/include/isl/version.h
+file path=usr/include/isl/vertices.h
+link path=usr/lib/$(MACH64)/libisl.so target=libisl.so.10.2.2
+link path=usr/lib/$(MACH64)/libisl.so.10 target=libisl.so.10.2.2
+file path=usr/lib/$(MACH64)/libisl.so.10.2.2
+file path=usr/lib/$(MACH64)/pkgconfig/isl.pc
+link path=usr/lib/libisl.so target=libisl.so.10.2.2
+link path=usr/lib/libisl.so.10 target=libisl.so.10.2.2
+file path=usr/lib/libisl.so.10.2.2
+file path=usr/lib/pkgconfig/isl.pc
+file usr/lib/$(MACH64)/libisl.so.10.2.2-gdb.py \
+    path=usr/share/gdb/auto-load/usr/lib/$(MACH64)/libisl.so.10.2.2-gdb.py
+file usr/lib/libisl.so.10.2.2-gdb.py \
+    path=usr/share/gdb/auto-load/usr/lib/libisl.so.10.2.2-gdb.py
+license isl.license license=MIT
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/isl/patches/000-codegen_test.sh.in.patch	Tue Nov 17 12:35:41 2015 -0800
@@ -0,0 +1,23 @@
+# These two env vars are needed for running the ISL test harness
+# and making it do the "right thing".
+# bash --noprofile is documented.
+# Not for upstream. They don't run their test harness the way we do.
+--- codegen_test.sh.in	2013-09-13 10:23:28.000000000 -0700
++++ codegen_test.sh.in	2015-07-23 08:12:25.013762502 -0700
+@@ -1,10 +1,15 @@
+-#!/bin/sh
++#!/bin/bash --noprofile
++
++set -o posix
+ 
+ EXEEXT=@EXEEXT@
+ srcdir=@srcdir@
+ 
+ failed=0
+ 
++export libtool_install_magic='not set'
++export libtool_execute_magic='not set'
++
+ for i in $srcdir/test_inputs/codegen/*.in \
+ 		$srcdir/test_inputs/codegen/cloog/*.in \
+ 		$srcdir/test_inputs/codegen/omega/*.in \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/isl/patches/001-ltmain.sh.patch	Tue Nov 17 12:35:41 2015 -0800
@@ -0,0 +1,26 @@
+# Set the LD_LIBRARY_PATH to an empty string because it affects
+# the way the test harness scripts are being run.
+# bash --noprofile is documented.
+# Not for upstream. They don't run their test harness the way we do.
+--- ltmain.sh	2014-10-26 00:35:44.000000000 -0700
++++ ltmain.sh	2015-07-16 09:51:16.867440561 -0700
+@@ -5094,7 +5094,9 @@
+ 	func_emit_wrapper_arg1=${1-no}
+ 
+ 	$ECHO "\
+-#! $SHELL
++#!/bin/bash --noprofile
++
++set -o posix
+ 
+ # $output - temporary wrapper script for $objdir/$outputname
+ # Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+@@ -5123,6 +5125,8 @@
+ BIN_SH=xpg4; export BIN_SH # for Tru64
+ DUALCASE=1; export DUALCASE # for MKS sh
+ 
++export LD_LIBRARY_PATH=""
++
+ # The HP-UX ksh and POSIX shell print the target directory to stdout
+ # if CDPATH is set.
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/isl/test/results-isl.master	Tue Nov 17 12:35:41 2015 -0800
@@ -0,0 +1,7 @@
+PASS: isl_test
+PASS: codegen_test.sh
+PASS: pip_test.sh
+PASS: bound_test.sh
+==================
+All 4 tests passed
+==================