= gsl =

== Description ==

Website: http://www.gnu.org/software/gsl/

From the website above: The GNU Scientific Library (GSL) is a numerical
library for C and C++ programmers. It is free software under the GNU General
Public License.

The library provides a wide range of mathematical routines such as random
number generators, special functions and least-squares fitting. There are
over 1000 functions in total with an extensive test suite. If the variable
SAGE_CHECK is exported to the value "yes" when building Sage, GSL's test suite
is run.

== License ==

 * GPL V3

== Upstream Contact ==

 * http://www.gnu.org/software/gsl/

GSL mailing lists:

 * Bug-gsl <bug-gsl@gnu.org> mailing list -- bug reports for the GNU
   Scientific Library should be sent to bug-gsl@gnu.org
 * Help-gsl <help-gsl@gnu.org> users mailing list -- for questions about
   installation, how GSL works and how it is used, or general questions
   concerning GSL.
 * Info-gsl <info-gsl@gnu.org> mailing list -- announcements of new releases
   are made there.

== Dependencies ==

 * None - GSL 1.15 does not depend on any other Sage package to compile,
   link and pass all of GSL's self-tests. Despite that fact, as of
   20th May 2011, ATLAS is listed as a dependency in spkg/standard/deps.
   (It comes with its own CBLAS implementation that is e.g. used when running
   the GSL test suite during installation; however, the Sage library only
   uses it as a fall-back, if e.g. ATLAS's CBLAS library is not present.)

== Special Update/Build Instructions ==
 * Make sure the following patch still apply or remove it if integrated
   upstream.

=== Patches ===
 * cygwin.patch: patch build system so that it builds a shared library on
   Cygwin.

== Changelog ==

=== gsl-1.15.p1 (Jean-Pierre Flori, 12 February 2013) ===
 * #14096: let GSL build a shared library on Cygwin.

=== gsl-1.15.p0 (Simon King, 11th December 2011) ===
 * #12131: Use --libdir, to make this package work on openSUSE

=== gsl-1.15 (David Kirkby, 20th May 2011) ===
 * #11357 Update to the latest version of GSL from the one currently in Sage
   which was the previous version.
   This also fixes bug #10000, as the failure to build on AIX has been fixed
   (my own changes were accepted upstream).

=== gsl-1.14 (David Kirkby, 21st July 2010) ===
 * #9533 Update GSL to the latest upstream release - the previous
   version (1.10) was nearly 3 years old.
 * Reformatted this file for 80 characters width.
 * Added 'exit 1' to spkg-install so the build terminates
   if 'configure' fails to run properly.
 * Same as above, when running 'make'
 * Same as above, when running 'make install'
 * Removed the option --enable-shared from the
   configure script, as the default is to make
   shared libraries (see src/INSTALL)
 * Removed all patches. I doubt they are useful when they are on a version
   of GSL that is nearly 3 years old.  It is better to resolve problems if
   found, rather than try to use patches made against a very outdated
   version of GSL.
   The GSL test suite has passed all tests on systems running Cygwin,
   Linux, HP-UX (PA-RISC processor), OpenSolaris x64, OS X (x86) and
   Solaris (SPARC processor).
 * Used $MAKE for building, as building in parallel is
   reliable.
 * $MAKE is also used in spkg-check for testing GSL in
   parallel. The GSL has been tested on around 50 parallel builds in
   total on Linux, OpenSolaris, OS X and Solaris. Each time
   all the self-tests of GSL pass. From 2 to 1000 threads were
   used.
 * Removed reference to GPL 2 in earlier releases - it is
   irrelevant what licence previous releases of GSL were
   released under.
 * Removed notes about patches on OS X. GSL would appear to
   handle OS X properly.
 * Added the "Special Update/Build Instructions" section to SPKG.txt which
   was previously missing, though currently no special steps are required.
 * Added notes to SPKG.txt about an unnecessary ATLAS dependency in
   $SAGE_ROOT/spkg/standard/deps, and an explanation why GSL does *not*
   depend on ATLAS.
 * Force GSL to be built with no optimisation if SAGE_DEBUG is set to "yes"
 * Check that $SAGE_ROOT is defined both in spkg-install and spkg-check.
 * Exported LDFLAGS and CPPFLAGS when SAGE64 is set to "yes". This environment
   variable would be set to "yes" to create 64-bit binaries on platforms
   which default to 32-bit. These platforms include Solaris and OpenSolaris,
   some versions of OS X and at least versions of HP-UX. Exporting CPPFLAGS
   and LDFLAGS is unnecessary with the current version of GSL, but it may
   become necessary on later revisions, so it is safer to add this now.  On
   platforms where the default it to create 64-bit binaries, there is no
   need to set SAGE64.
 * spkg-install and spkg-check now make use of the environment variable
   CFLAG64 which can be used to specify an alternate compiler flag to
   -m64 when building a 64-bit version of the library.

=== gsl-1.10.p2 (Jaap Spies,  Jan 25th, 2010) ===
 * Made SAGE64=yes work for Open Solaris 64 bit
 * Removed Michael as maintainer

=== gsl-1.10.p1 (Michael Abshoff, April 20th, 2008) ===
 * always use GSL's isinf (fixes #2973)

=== gsl-1.10-p0 (Michael Abshoff, Jan. 26, 2008) ===
 * fix 64 OSX build
 * fix spkg-check target
 * work around isinf bug on OSX

=== gsl-1.10 (Michael Abshoff, Jan. 25, 2008) ===
 * update to gsl 1.10
 * add .hgignore
 * write proper SPKG.txt

=== gsl-1.9 ===
 * initial release

== Build Notes ==
 * None

