# HG changeset patch # User Stefan Teleman # Date 1447792541 28800 # Node ID a14d6941c0c9298ededab08c986f40679d846ab1 # Parent 77b8086c62474f68241cdaffdd726e44053e2e3c PSARC/2015/404 ISL v0.12.2: Integer Set Library 21459198 introduce ISL in Solaris diff -r 77b8086c6247 -r a14d6941c0c9 components/isl/Makefile --- /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 + diff -r 77b8086c6247 -r a14d6941c0c9 components/isl/Solaris/isl.pc --- /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} + diff -r 77b8086c6247 -r a14d6941c0c9 components/isl/isl.license --- /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. + diff -r 77b8086c6247 -r a14d6941c0c9 components/isl/isl.p5m --- /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 + diff -r 77b8086c6247 -r a14d6941c0c9 components/isl/patches/000-codegen_test.sh.in.patch --- /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 \ diff -r 77b8086c6247 -r a14d6941c0c9 components/isl/patches/001-ltmain.sh.patch --- /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 diff -r 77b8086c6247 -r a14d6941c0c9 components/isl/test/results-isl.master --- /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 +==================