= LinBox =

== Description ==

From http://linalg.org/: LinBox is a C++ template library for exact,
high-performance linear algebra computation with dense, sparse, and
structured matrices over the integers and over finite fields.

== License ==

LGPL V2 or later

== Upstream Contact ==

 * <linbox-devel@googlegroups.com>
 * <linbox-use@googlegroups.com>

== SPKG Repository ==

 https://bitbucket.org/malb/linbox-spkg

== Dependencies ==

 * GNU patch
 * GMP/MPIR
 * MPFR
 * NTL
 * fpLLL
 * IML
 * M4RI
 * M4RIE
 * Givaro
 * FFLAS/FFPACK
 * ATLAS (non-OSX)/The Accelerate FrameWork (on OSX)
 * ATLAS (non-MacOS X) / The Accelerate FrameWork (on MacOS X), or GSL's CBLAS

== Special Update/Build Instructions ==

TODO:
  - spkg-check is disabled for now, should work in the next release
    after 1.3.2.
  - Check whether `make fullcheck` works/builds, is worth running, and doesn't
    take ages.  (Version 1.1.6 doesn't seem to have such a target.)

== Changelog ==

=== linbox-1.3.2.p0 (Jean-Pierre Flori, 25 November 2012) ===
 * Trac #13755: let LinBox build with MPIR >= 2.5.0.

=== linbox-1.3.2 (Martin Albrecht, Volker Braun, 15 August 2012) ===
 * Trac: 12883: New upstream release
 * split off fflas/ffpack SPKG
 * The whole -fpermissive stuff isn't required any more

=== linbox-1.1.6.p11 (Jeroen Demeyer, 19 June 2012) ===
 * #13118: Don't look at compiler versions, just use the -fpermissive
   flag whenever the compiler supports it.

=== linbox-1.1.6.p10 (Jeroen Demeyer, 25 May 2012) ===
 * #12762 review: Remove the touching of linbox.pyx, since
   Cython knows the dependency of linbox.pyx on linbox-sage.h
 * Only add the -fpermissive workaround on GCC-4.7.x, not other
   compilers.

=== linbox-1.1.6.p9 (Leif Leonhardy, April 7th 2012) ===
 * #12762: Temporarily add `-fpermissive` to `CXXFLAGS` if we're compiling
   with `g++` 4.7.x, since the LinBox sources currently don't conform to
   C++11, so GCC 4.7.x would otherwise reject them.
 * Exit if the build failed.
 * Use `CFLAG64` if it is set (and `SAGE64=yes`).
 * Clean up `spkg-install`, add some messages.
 * Add an `spkg-check` file, which currently runs `make check`. (There's also
   a `fullcheck` target.)
 * Change patch to disable the commentator, as default parameters were missing
   with `-DDISABLE_COMMENTATOR`, such that the test suite wouldn't build.
   Also, one must not unconditionally use `extern` for the global (dummy)
   commentator since this is C++, and doing so also breaks the test suite.
 * Fix (i.e. patch) the sources such that the test suite (`make check`) builds,
   also with GCC 4.7.0.
 * Add the "Special Update/Build Instructions" section.

=== linbox-1.1.6.p8 (William Stein, 18 March 2012) ===
 * Trac #10281: Multimodular echelon form over cyclotomic fields fails

=== linbox-1.1.6.p7 (Jeroen Demeyer, 5 March 2012) ===
 * Trac #12629: *always* disable the commentator.  There are problems
   om some systems (e.g. OS X 10.4 with GCC 4.6.3) when parts of LinBox
   are compiled with the commentator and parts without.
 * Backport patch disable_commentator.patch from LinBox-1.2.2 to enable
   LinBox to be built with the commentator disabled.
 * Remove all -I and -L compiler flags from spkg-install, ./configure
   should detect these.
 * Use $MAKE instead of make.
 * Use patch for patching.

=== linbox-1.1.6.p6 (Simon King, December 10th, 2011) ===
 * #12131: Use --libdir, to make the package work on openSUSE.

=== linbox-1.1.6.p5 (Martin Albrecht, October 10th, 2011) ===
 * removed spkg-rebuild
 * removed spkg-debian and the dist directory
 * removed "linbox" from .hgignore
 * added patch for file file patches/commentator.C

=== linbox-1.1.6.p4 (Martin Albrecht, August 23rd, 2011) ===
 * add NonZeroRandIter to modular-float.h (fixed in 1.1.7)

=== linbox-1.1.6.p3 (Jaap Spies, Jan 25th, 2010) ===

=== linbox-1.1.6.p2 (William Stein, ?) ===
 * ????

=== linbox-1.1.6.p1 (William Stein, Sept 21, 2009) ===
 * Use systemwide lapack on windows.

=== linbox-1.1.6.p0 (Mike Hansen, June 20th, 2008) ===
 * Applied Peter Jeremy's FreeBSD fix at #5870.

=== linbox-1.1.6 (Clement Pernet, Sept 18th, 2008) ===
 * Upgrade to 1.1.6 release upstream
 * including the fixes of bugs related to cygwin (gcc-3.4, linking parameter
 order,...)

=== linbox-1.1.6rc1 (Clement Pernet, Aug 12th, 2008) ===
 * Fix bug in Charpoly and revert to the "good" algorithm. See #3671
 * upstream linbox-1.1.6rc1
 * uniformize source directory name (linbox->src)

=== linbox-1.1.6.p0 (Michael Abshoff, July 21st, 2008) ===
 * Integrate patch by Clement Pernet fixing #3671
 * miscellaneous cleanup

=== linbox-1.1.6 (Clement Pernet, June 14th, 2008) ===
 * Upstream 1.1.6 linbox version
 * merge former linbox_wrap in linbox/interface
 * no more gmp++ in LinBox
 * several bug fixes

=== linbox-1.1.5.p6 (Michael Abshoff, May 18th, 2008) ===
 * fix 64 bit OSX support

=== linbox-1.1.5.p5 (Michael Abshoff/William Stein, May 16, 2008) ===
 * add support for cygwin

=== linbox-1.1.5.p4 (Michael Abshoff, April 15th, 2008) ===
 * reenable optimization on all platforms because the detection was broken (fixes #3041)

=== linbox-1.1.5.p3 (Michael Abshoff, April 15th, 2008) ===
 * apply gcc 4.3 build patch

=== linbox-1.1.5.p2 (Michael Abshoff, April 9th, 2008) ===
 * Apply Clement Pernet's commentator fix (#2833)
 * clean up spkg-install some more and remove unneeded and faulty gmp++ copying

=== linbox-1.1.5.p1 (Clement Pernet, April 4th, 2008) ===
 * Revert charpoly method to LUK, waiting to investigate further the bug in ArithProg method (ticket #2804)

=== linbox-1.1.5 (Clement Pernet, April 2nd, 2008) ===
 * Remove every patch
 * Put upstream final 1.1.5 release of LinBox
 * Remove useless patches in dist/debian/linbox-debian

=== linbox-1.1.5rc2.p7 (Michael Abshoff, April 1st, 2008) ===
 * Copyright files for Debian packages (Tim Abbott, #2199)
 * linbox updates for Debian gfortran transition (Tim Abbott, #2758)

=== linbox-1.1.5rc2.p6 (Michael Abshoff, March 22nd, 2008) ===
 * integrate Debian build infrastructure (Tim Abbott, #2647)
 * clean up SPKG.txt
 * commit all outstanding changes

=== linbox-1.1.5rc2.p5 (William Stein, March 17th, 2008) ===
 * bump version number to force rebuild on upgrade due to updated Givaro

=== linbox-1.1.5rc2.p4 (Clement Pernet) ===
 * revert to a better commentator.h, which now works on PPC, and still uses static

=== linbox-1.1.5rc2.p3 (Clement Pernet, William Stein, March 10th, 2008) ===
 * fix the bug with static_initialization of commentator on PPC. (ticket 2463)

=== linbox-1.1.5rc2.p2 (Michael Abshoff, March 10th, 2008) ===
 * remove buggy case in libcblas detect (#2458)

=== linbox-1.1.5rc2.p1 (Clement Pernet, March 4th, 2008) ===
 * Update full rank submatrix wrapper
 * Set default alg for charpoly to ArithProg, thus avoiding Darwin-static initialization gcc bug (which still has to be addressed)

=== linbox-1.1.5rc2.p0 (Michael Abshoff, March 3rd, 2008) ===
 * Apply Clement Pernet's PID_Integer patch (fixed #915)

=== linbox-1.1.5rc2 (Clement Pernet, March 2nd, 2008) ===
 * updated to upstream 1.1.5rc2
 * added additional funcionality in linbox_wrap

=== 2007-12-16 (Michael Abshoff) ===
 * detect internal ATLAS and link against it per default on non-OSX

=== 2007-11-13 (Michael Abshoff) ===
 * Apply Clement Pernet's charpoly leak fix, i.e. the dreaded BLAS:MatrixHom

=== 2007-10-29: (Michael Abshoff) ===
 * added fix for #1026
 * add "-g" to CXXFLAGS and CFLAGS for better valgrind output
 * add .hgignore
 *  add all files under patches and linbox_wrap to hg repo

=== 2007-09-03 (Michael Abshoff) ===
 * merged LinBox ChangeSet 2803, which fixes #498 without the performance regression of the initial workaround

