Summary: Integer point manipulation library Name: isl Version: 0.24 License: MIT Group: System Environment/Libraries URL: http://isl.gforge.inria.fr/ %global libmajor 23 %global libversion %{libmajor}.1.0 # Please set buildid below when building a private version of this rpm to # differentiate it from the stock rpm. # # % global buildid .local Release: 2%{?_dist_release} BuildRequires: gmp-devel BuildRequires: pkgconfig Source0: http://isl.gforge.inria.fr/isl-%{version}.tar.xz Vendor: OSX WorkShop Distribution: OSX WorkShop BuildArch: fat %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. %package devel Summary: Development for building integer point manipulation library Requires: isl%{?_isa} == %{version}-%{release} Requires: gmp-devel Group: Development/Libraries %description devel 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. %prep %setup -q -c %{name}-%{version} mv %{name}-%{version} ARM64 pushd ARM64 #%patch0 -b .sec #glibtoolize -c -f #aclocal #automake #autoconf popd cp -a ARM64 X86_64 %build pushd ARM64 export CFLAGS="-O3 -arch arm64 -I%{_includedir}" export CPPFLAGS="-arch arm64 -I%{_includedir}" export CXXFLAGS="$CFLAGS" export FFLAGS="$CFLAGS" export FCFLAGS="$CFLAGS" export LDFLAGS="-arch arm64 -L%{_libdir}" %configure \ --host=%{_rpm_platform_arm64} \ --build=%{_rpm_platform_arm64} \ --target=%{_rpm_platform_arm64} \ --with-gmp-prefix=%{_prefix} make %{?_smp_mflags} V=1 popd pushd X86_64 export CFLAGS="-O3 -arch x86_64 -I%{_includedir}" export CPPFLAGS="-arch x86_64 -I%{_includedir}" export CXXFLAGS="$CFLAGS" export FFLAGS="$CFLAGS" export FCFLAGS="$CFLAGS" export LDFLAGS="-arch x86_64 -L%{_libdir}" %configure \ --host=%{_rpm_platform_x86_64} \ --build=%{_rpm_platform_x86_64} \ --target=%{_rpm_platform_x86_64} \ --with-gmp-prefix=%{_prefix} make %{?_smp_mflags} V=1 popd %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf $RPM_BUILD_ROOT PWD=`pwd` pushd ARM64 rm -rf ${PWD}-root mkdir -p ${PWD}-root make install INSTALL="install -p" DESTDIR=${PWD}-root popd pushd X86_64 rm -rf ${PWD}-root mkdir -p ${PWD}-root make install INSTALL="install -p" DESTDIR=${PWD}-root popd ## Make Universal Binaries filelist=$(find ./ARM64-root -type f | xargs file | sed -e 's,^\./ARM64-root/,,g' | \ grep -E \(Mach-O\)\|\(ar\ archive\) |sed -e 's,:.*,,g' -e '/\for\ architecture/d') for i in $filelist do /usr/bin/lipo -create ARM64-root/$i X86_64-root/$i -output `basename $i` && \ (cp -f `basename $i` ARM64-root/$i) || : done # check header files for i in `find ARM64-root -name "*.h" -type f` do TARGET=`echo $i | sed -e "s,.*ARM64-root,,"` TEMP=`diff -u ARM64-root/$TARGET X86_64-root/$TARGET > /dev/null || echo different` if [ -n "$TEMP" ]; then mv X86_64-root/$TARGET ARM64-root/${TARGET%.*}-x86_64.h mv ARM64-root/$TARGET ARM64-root/${TARGET%.*}-arm64.h FILE=${TARGET##*/} FILE=${FILE%.*} cat < ARM64-root/$TARGET #if defined (__arm64__) #include "${FILE}-arm64.h" #elif defined( __x86_64__ ) #include "${FILE}-x86_64.h" #endif EOF fi done # install mkdir -p %{buildroot} tar cf - -C ARM64-root . | tar xpf - -C %{buildroot} rm -f %{buildroot}/%{_libdir}/libisl.a rm -f %{buildroot}/%{_libdir}/libisl.la mkdir -p %{buildroot}/%{_datadir} %global gdbprettydir %{_datadir}/gdb/auto-load/%{_libdir} mkdir -p %{buildroot}/%{gdbprettydir} mv %{buildroot}/%{_libdir}/*-gdb.py* %{buildroot}/%{gdbprettydir} #%%check #make check %files %{_libdir}/libisl.%{libmajor}.dylib #%{_libdir}/libisl.%{libversion}.dylib %{gdbprettydir}/* %doc AUTHORS ChangeLog LICENSE README %files devel %{_includedir}/* %{_libdir}/libisl.dylib %{_libdir}/pkgconfig/isl.pc %doc doc/manual.pdf %changelog * Sat Feb 26 2022 KOBAYASHI Taizo - 0.24-2 - rebuilt on MacOS 12 - removed %{?_isa} from Requires for devel. * The Aug 05 2021 KOBAYASHI Taizo - 0.24-1 - new upstream release - modified for OSXWS-11 fat * Fri Dec 13 2019 KOBAYASHI Taizo - 0.22-1 - new upstream release - modified for OSXWS-10.14 * Sat Dec 16 2017 KOBAYASHI Taizo - 0.18-1 - new upstream release - modified for OSXWS-10.13 * Sat Dec 03 2016 KOBAYASHI Taizo - 0.17.1-1 - new upstream release - modified for OSXWS-10.12 * Thu Dec 10 2015 KOBAYASHI Taizo - 0.15-1 - new upstream release - modified for OSXWS-10.11 * Wed Jun 17 2015 Fedora Release Engineering - 0.14-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Jan 5 2015 David Howells - 0.14-3 - Initial packaging.