summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2016-12-10 11:15:36 +0100
committerJustin Lecher <jlec@gentoo.org>2016-12-10 11:15:45 +0100
commitd5ed0ab57fe91b92c0a38068e44829cc10a54ba7 (patch)
treecc11247d81be3d388a26b8ab2834cc4d733b9839 /sci-libs/gsl
parentwww-client/opera-beta: Old. (diff)
downloadgentoo-d5ed0ab57fe91b92c0a38068e44829cc10a54ba7.tar.gz
gentoo-d5ed0ab57fe91b92c0a38068e44829cc10a54ba7.tar.bz2
gentoo-d5ed0ab57fe91b92c0a38068e44829cc10a54ba7.zip
sci-libs/gsl: Version Bump
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=602200 Package-Manager: portage-2.3.3 Signed-off-by: Justin Lecher <jlec@gentoo.org>
Diffstat (limited to 'sci-libs/gsl')
-rw-r--r--sci-libs/gsl/Manifest1
-rw-r--r--sci-libs/gsl/files/gsl-2.3-cblas.patch1485
-rw-r--r--sci-libs/gsl/gsl-2.3.ebuild109
3 files changed, 1595 insertions, 0 deletions
diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest
index c1ca4bcbbb7..e8d4f655532 100644
--- a/sci-libs/gsl/Manifest
+++ b/sci-libs/gsl/Manifest
@@ -1,3 +1,4 @@
DIST gsl-1.14.tar.gz 3128269 SHA256 3d4a47afd9a1e7c73b97791b4180d8cc4d5f0e5db6027fe06437f1f3f957fafb SHA512 ac8d9ba4d6e3f5d698e86130af4b4218d36b22525e966ba5d7b47d44f7ad1bef19287efa05f6ad63a81e676179bd3a0bd19461f8383e85a4d674835ff69fcc42 WHIRLPOOL ddc6637b95ad5b2c3943f067f9979fc3070204a04a85e82365c8fd6aec6685a2827bea7056138139893f7bb6cc449318797d235dfe5fee525b1b519927148b0b
DIST gsl-1.16.tar.gz 3534080 SHA256 73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53 SHA512 94e998953f30d701e1cd0a5e05d572c5cca7b6f40f0533aa85394ba4218946826408093ffe3049a0ab13d6ba87034fcec1a7d52a67d0b8860dc02b5fd4feb8eb WHIRLPOOL 46bf814c882ca36600d258097642a734b6a6483302cc64c14cab55c0c056ae6116c204495b3b81c57fec1871e145fbc5aa3900006e52e494e9e2fcd34ec06301
DIST gsl-2.1.tar.gz 3827265 SHA256 59ad06837397617f698975c494fe7b2b698739a59e2fcf830b776428938a0c66 SHA512 d63660fdfae9c9ec9f4fd1894b0af705297cefb6169973ef10faacd0b8a3d52f537508e9c07f4f9f4253138cc48e5570bb10ef303538226d7febd92e8fd184b0 WHIRLPOOL 60aa8ea8d19bc88ace49fcb807f63877d3bd32ff5c9bbca0db9d45b55b3929bba93756f82ce8777be852ca9b015e425540b33091a58ea7edac0d74560cbe39a5
+DIST gsl-2.3.tar.gz 4510731 SHA256 562500b789cd599b3a4f88547a7a3280538ab2ff4939504c8b4ac4ca25feadfb SHA512 ada622079f4ac667d95f74b38aa368726fc1b18fd34555bcefe90920d3da93a9289ebff966be43325af806107001bc8973daf9f8418e6c97b866be2296b566ff WHIRLPOOL f6c597f88ccc4b98002f3887a0268f4964c2c6243196e1fd862f3c7360798900a8cfa4d739b9876b13b71481d175904d1577b6b059a31aa16156fe9fc3848ea5
diff --git a/sci-libs/gsl/files/gsl-2.3-cblas.patch b/sci-libs/gsl/files/gsl-2.3-cblas.patch
new file mode 100644
index 00000000000..7e12b370b0d
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-2.3-cblas.patch
@@ -0,0 +1,1485 @@
+ Makefile.am | 8 +-
+ Makefile.am.porig | 66 ++++
+ ax_cblas.m4 | 69 +++++
+ bspline/Makefile.am | 2 +-
+ bspline/Makefile.am.porig | 17 ++
+ configure.ac | 10 +
+ configure.ac.porig | 647 ++++++++++++++++++++++++++++++++++++++++
+ eigen/Makefile.am | 2 +-
+ eigen/Makefile.am.porig | 18 ++
+ gsl-config.in | 4 +-
+ gsl-config.in.porig | 80 +++++
+ gsl.pc.in | 2 +-
+ gsl.pc.in.porig | 11 +
+ interpolation/Makefile.am | 2 +-
+ interpolation/Makefile.am.porig | 18 ++
+ linalg/Makefile.am | 2 +-
+ linalg/Makefile.am.porig | 16 +
+ multifit/Makefile.am | 4 +-
+ multifit/Makefile.am.porig | 74 +++++
+ multimin/Makefile.am | 4 +-
+ multimin/Makefile.am.porig | 20 ++
+ multiroots/Makefile.am | 2 +-
+ multiroots/Makefile.am.porig | 19 ++
+ ode-initval/Makefile.am | 2 +-
+ ode-initval/Makefile.am.porig | 18 ++
+ poly/Makefile.am | 2 +-
+ poly/Makefile.am.porig | 17 ++
+ specfunc/Makefile.am | 2 +-
+ specfunc/Makefile.am.porig | 19 ++
+ wavelet/Makefile.am | 2 +-
+ wavelet/Makefile.am.porig | 17 ++
+ 31 files changed, 1157 insertions(+), 19 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c522001..4513bc8 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -19,7 +19,7 @@ EXTRA_DIST = autogen.sh gsl-config.in gsl.pc.in configure.ac THANKS BUGS gsl.spe
+
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(GSL_LIBADD) $(SUBLIBS)
++libgsl_la_LIBADD = $(GSL_LIBADD) $(SUBLIBS) @CBLAS_LINK_LIBS@
+ libgsl_la_LDFLAGS = $(GSL_LDFLAGS) -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h build.h
+
+@@ -29,10 +29,10 @@ m4data_DATA = gsl.m4
+ bin_PROGRAMS = gsl-randist gsl-histogram
+
+ gsl_randist_SOURCES = gsl-randist.c
+-gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_randist_LDADD = libgsl.la
+
+ gsl_histogram_SOURCES = gsl-histogram.c
+-gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_histogram_LDADD = libgsl.la
+
+ check_SCRIPTS = test_gsl_histogram.sh pkgconfig.test
+ TESTS = test_gsl_histogram.sh pkgconfig.test
+@@ -51,6 +51,8 @@ edit = $(SED) \
+ -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \
+ -e 's|@GSL_LIBM[@]|$(GSL_LIBM)|g' \
+ -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \
++ -e 's|@CBLAS_CFLAGS[@]|$(CBLAS_CFLAGS)|g' \
++ -e 's|@CBLAS_LIBS[@]|$(CBLAS_LIBS)|g' \
+ -e 's|@LIBS[@]|$(LIBS)|g' \
+ -e 's|@VERSION[@]|$(VERSION)|g'
+
+diff --git a/Makefile.am.porig b/Makefile.am.porig
+new file mode 100644
+index 0000000..c522001
+--- /dev/null
++++ b/Makefile.am.porig
+@@ -0,0 +1,66 @@
++## Process this file with automake to produce Makefile.in
++
++# AUTOMAKE_OPTIONS = readme-alpha
++
++SUBDIRS = gsl utils sys test err const complex cheb block vector matrix permutation combination multiset sort ieee-utils cblas blas linalg eigen specfunc dht qrng rng randist fft poly fit multifit multifit_nlinear multilarge multilarge_nlinear rstat statistics siman sum integration interpolation histogram ode-initval ode-initval2 roots multiroots min multimin monte ntuple diff deriv cdf wavelet bspline spblas spmatrix splinalg doc
++
++SUBLIBS = block/libgslblock.la blas/libgslblas.la bspline/libgslbspline.la complex/libgslcomplex.la cheb/libgslcheb.la dht/libgsldht.la diff/libgsldiff.la deriv/libgslderiv.la eigen/libgsleigen.la err/libgslerr.la fft/libgslfft.la fit/libgslfit.la histogram/libgslhistogram.la ieee-utils/libgslieeeutils.la integration/libgslintegration.la interpolation/libgslinterpolation.la linalg/libgsllinalg.la matrix/libgslmatrix.la min/libgslmin.la monte/libgslmonte.la multifit/libgslmultifit.la multifit_nlinear/libgslmultifit_nlinear.la multilarge/libgslmultilarge.la multilarge_nlinear/libgslmultilarge_nlinear.la multimin/libgslmultimin.la multiroots/libgslmultiroots.la ntuple/libgslntuple.la ode-initval/libgslodeiv.la ode-initval2/libgslodeiv2.la permutation/libgslpermutation.la combination/libgslcombination.la multiset/libgslmultiset.la poly/libgslpoly.la qrng/libgslqrng.la randist/libgslrandist.la rng/libgslrng.la roots/libgslroots.la siman/libgslsiman.la sort/libgslsort.la specfunc/libgslspecfunc.la rstat/libgslrstat.la statistics/libgslstatistics.la sum/libgslsum.la sys/libgslsys.la test/libgsltest.la utils/libutils.la vector/libgslvector.la cdf/libgslcdf.la wavelet/libgslwavelet.la spmatrix/libgslspmatrix.la spblas/libgslspblas.la splinalg/libgslsplinalg.la
++
++pkginclude_HEADERS = gsl_math.h gsl_pow_int.h gsl_nan.h gsl_machine.h gsl_mode.h gsl_precision.h gsl_types.h gsl_version.h gsl_minmax.h gsl_inline.h
++
++bin_SCRIPTS = gsl-config
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA= gsl.pc
++
++CLEANFILES = gsl.pc gsl-config
++
++EXTRA_DIST = autogen.sh gsl-config.in gsl.pc.in configure.ac THANKS BUGS gsl.spec.in gsl.m4 test_gsl_histogram.sh pkgconfig.test
++
++lib_LTLIBRARIES = libgsl.la
++libgsl_la_SOURCES = version.c
++libgsl_la_LIBADD = $(GSL_LIBADD) $(SUBLIBS)
++libgsl_la_LDFLAGS = $(GSL_LDFLAGS) -version-info $(GSL_LT_VERSION)
++noinst_HEADERS = templates_on.h templates_off.h build.h
++
++m4datadir = $(datadir)/aclocal
++m4data_DATA = gsl.m4
++
++bin_PROGRAMS = gsl-randist gsl-histogram
++
++gsl_randist_SOURCES = gsl-randist.c
++gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la
++
++gsl_histogram_SOURCES = gsl-histogram.c
++gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la
++
++check_SCRIPTS = test_gsl_histogram.sh pkgconfig.test
++TESTS = test_gsl_histogram.sh pkgconfig.test
++
++#bin_PROGRAMS = main dummy
++#dummy_SOURCES = version.c
++#dummy_LDADD = $(SUBLIBS)
++#main_SOURCES = version.c env.c
++#main_LDADD = libgsl.la
++
++edit = $(SED) \
++ -e 's|@prefix[@]|$(prefix)|g' \
++ -e 's|@exec_prefix[@]|$(exec_prefix)|g' \
++ -e 's|@libdir[@]|$(libdir)|g' \
++ -e 's|@includedir[@]|$(includedir)|g' \
++ -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \
++ -e 's|@GSL_LIBM[@]|$(GSL_LIBM)|g' \
++ -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \
++ -e 's|@LIBS[@]|$(LIBS)|g' \
++ -e 's|@VERSION[@]|$(VERSION)|g'
++
++gsl-config gsl.pc: Makefile
++ @rm -f $@ $@.tmp
++ @$(edit) '$(srcdir)/$@.in' >>$@.tmp
++ @chmod a-w $@.tmp
++ @mv $@.tmp $@
++ @echo creating $@
++
++gsl-config: $(srcdir)/gsl-config.in
++gsl.pc: $(srcdir)/gsl.pc.in
++
+diff --git a/ax_cblas.m4 b/ax_cblas.m4
+new file mode 100644
+index 0000000..6ef143a
+--- /dev/null
++++ b/ax_cblas.m4
+@@ -0,0 +1,69 @@
++AC_DEFUN([AX_CBLAS],[
++
++ ext_cblas=no
++ ext_cblas_libs="-lcblas"
++ ext_cblas_cflags=""
++
++ AC_ARG_WITH(cblas-external,
++ [AS_HELP_STRING([--with-cblas-external],
++ [Use external CBLAS library (default is no)])],
++ [with_ext_cblas=$withval],
++ [with_ext_cblas=no])
++
++ case $with_ext_cblas in
++ no) ext_cblas=no ;;
++ yes) ext_cblas=yes ;;
++ -* | */* | *.a | *.so | *.so.* | *.o)
++ ext_cblas=yes
++ ext_cblas_libs="$with_cblas" ;;
++ *) ext_cblas=yes
++ ext_cblas_libs="-l$with_cblas" ;;
++ esac
++
++ AC_ARG_WITH(cblas-external-libs,
++ [AS_HELP_STRING([--with-cblas-external-libs=<libs>],
++ [External cblas libraries to link with (default is "$ext_cblas_libs")])],
++ [ext_cblas_libs=$withval],
++ [])
++
++ AC_ARG_WITH(cblas-external-cflags,
++ [AS_HELP_STRING([--with-cblas-external-cflags=<flags>],
++ [Pre-processing flags to compile with external cblas ("-I<dir>")])],
++ [ext_cblas_cflags=$withval],
++ [])
++
++ if test x$ext_cblas != xno; then
++ if test "x$CBLAS_LIBS" = x; then
++ CBLAS_LIBS="$ext_cblas_libs"
++ fi
++ if test "x$CBLAS_CFLAGS" = x; then
++ CBLAS_CFLAGS="$ext_cblas_cflags"
++ fi
++
++ CFLAGS_sav="$CFLAGS"
++ CFLAGS="$CFLAGS $CBLAS_CFLAGS"
++ AC_CHECK_HEADER(cblas.h, ,
++ [AC_MSG_ERROR([
++ *** Header file cblas.h not found.
++ *** If you installed cblas header in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-external-cflags="-I<include_dir>"])
++ ])
++ CFLAGS="$CFLAGS_sav"
++
++ LIBS_sav="$LIBS"
++ LIBS="$LIBS $CBLAS_LIBS -lm"
++ AC_MSG_CHECKING([for cblas_sgemm in $CBLAS_LIBS])
++ AC_TRY_LINK_FUNC(cblas_sgemm, [ext_cblas=yes],
++ [AC_MSG_ERROR([
++ *** Linking with cblas with $LIBS failed.
++ *** If you installed cblas library in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-external-libs="-L<lib_dir> -l<lib>"])
++ ])
++ AC_MSG_RESULT($ext_cblas)
++ LIBS="$LIBS_sav"
++ AC_SUBST([CBLAS_CFLAGS])
++ AC_SUBST([CBLAS_LIBS])
++ fi
++])
+diff --git a/bspline/Makefile.am b/bspline/Makefile.am
+index 3f4f950..d413036 100644
+--- a/bspline/Makefile.am
++++ b/bspline/Makefile.am
+@@ -12,6 +12,6 @@ check_PROGRAMS = test
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
+
+ test_SOURCES = test.c
+diff --git a/bspline/Makefile.am.porig b/bspline/Makefile.am.porig
+new file mode 100644
+index 0000000..3f4f950
+--- /dev/null
++++ b/bspline/Makefile.am.porig
+@@ -0,0 +1,17 @@
++noinst_LTLIBRARIES = libgslbspline.la
++
++pkginclude_HEADERS = gsl_bspline.h
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgslbspline_la_SOURCES = bspline.c greville.c
++
++noinst_HEADERS = bspline.h
++
++check_PROGRAMS = test
++
++TESTS = $(check_PROGRAMS)
++
++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
++
++test_SOURCES = test.c
+diff --git a/configure.ac b/configure.ac
+index a26fc1e..564d426 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -208,6 +208,16 @@ if test "x$LIBS" = "x" ; then
+ AC_CHECK_LIB(m, cos)
+ fi
+
++sinclude(ax_cblas.m4)
++AX_CBLAS
++if test "x$CBLAS_LIBS" != "x"; then
++ CBLAS_LINK_LIBS="$CBLAS_LIBS"
++else
++ CBLAS_LINK_LIBS="\$(top_builddir)/cblas/libgslcblas.la"
++ CBLAS_LIBS="-lgslcblas"
++fi
++AC_SUBST(CBLAS_LINK_LIBS)
++
+ dnl Remember to put a definition in acconfig.h for each of these
+ AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1
+ #include <fenv.h>])
+diff --git a/configure.ac.porig b/configure.ac.porig
+new file mode 100644
+index 0000000..a26fc1e
+--- /dev/null
++++ b/configure.ac.porig
+@@ -0,0 +1,647 @@
++dnl Process this file with autoconf to produce a configure script.
++
++AC_INIT([gsl],[2.3])
++AC_CONFIG_SRCDIR(gsl_math.h)
++
++AM_INIT_AUTOMAKE([gnu])
++AC_CONFIG_HEADERS([config.h])
++AM_MAINTAINER_MODE
++
++dnl Library versioning (C:R:A == current:revision:age)
++dnl See the libtool manual for an explanation of the numbers
++dnl
++dnl gsl-1.0 libgsl 0:0:0 libgslcblas 0:0:0
++dnl gsl-1.1 libgsl 1:0:1 libgslcblas 0:0:0
++dnl gsl-1.1.1 libgsl 2:0:2 libgslcblas 0:0:0
++dnl gsl-1.2 libgsl 3:0:3 libgslcblas 0:0:0
++dnl gsl-1.3 libgsl 4:0:4 libgslcblas 0:0:0
++dnl gsl-1.4 libgsl 5:0:5 libgslcblas 0:0:0
++dnl gsl-1.5 libgsl 6:0:6 libgslcblas 0:0:0
++dnl gsl-1.6 libgsl 7:0:7 libgslcblas 0:0:0
++dnl gsl-1.7 libgsl 8:0:8 libgslcblas 0:0:0
++dnl gsl-1.8 libgsl 9:0:9 libgslcblas 0:0:0
++dnl gsl-1.9 libgsl 10:0:10 libgslcblas 0:0:0
++dnl gsl-1.10 libgsl 10:0:10 (*) libgslcblas 0:0:0
++dnl gsl-1.11 libgsl 12:0:12 libgslcblas 0:0:0
++dnl gsl-1.12 libgsl 13:0:13 libgslcblas 0:0:0
++dnl gsl-1.13 libgsl 14:0:14 libgslcblas 0:0:0
++dnl gsl-1.14 libgsl 15:0:15 libgslcblas 0:0:0
++dnl gsl-1.15 libgsl 16:0:16 libgslcblas 0:0:0
++dnl gsl-1.16 libgsl 17:0:17 libgslcblas 0:0:0
++dnl gsl-2.0 libgsl 18:0:18 (**) libgslcblas 0:0:0
++dnl gsl-2.1 libgsl 19:0:0 libgslcblas 0:0:0
++dnl gsl-2.2 libgsl 20:0:1 libgslcblas 0:0:0
++dnl gsl-2.2.1 libgsl 21:0:2 libgslcblas 0:0:0
++dnl gsl-2.3 libgsl 22:0:3 libgslcblas 0:0:0
++dnl
++dnl (*) There was an error on this release. Firstly, the versioning
++dnl numbers were not updated. Secondly, 2 functions were removed, but
++dnl the age not reset--this should have been 11:0:0. However these
++dnl functions were not documented and are regarded as internal, so we
++dnl will assume 11:0:11.
++dnl
++dnl (**) There was an error on this release. Age should have been
++dnl reset to 18:0:0
++dnl
++dnl How to update library version number
++dnl ====================================
++dnl
++dnl C: increment if the interface has additions, changes, removals.
++dnl
++dnl R: increment any time the source changes; set to 0 if you
++dnl incremented CURRENT
++dnl
++dnl A: increment if any interfaces have been added; set to 0 if any
++dnl interfaces have been removed. removal has precedence over adding,
++dnl so set to 0 if both happened.
++dnl
++dnl See https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
++dnl for more detailed info
++
++dnl
++GSL_CURRENT=22
++GSL_REVISION=0
++GSL_AGE=3
++dnl
++CBLAS_CURRENT=0
++CBLAS_REVISION=0
++CBLAS_AGE=0
++
++GSL_LT_VERSION="${GSL_CURRENT}:${GSL_REVISION}:${GSL_AGE}"
++AC_SUBST(GSL_LT_VERSION)
++
++GSL_LT_CBLAS_VERSION="${CBLAS_CURRENT}:${CBLAS_REVISION}:${CBLAS_AGE}"
++AC_SUBST(GSL_LT_CBLAS_VERSION)
++
++case "$VERSION" in
++ *+)
++ ;;
++ *)
++ AC_DEFINE(RELEASED,[],[Defined if this is an official release])
++ ;;
++esac
++
++dnl Split VERSION into GSL_VERSION_MAJOR and GSL_VERSION_MINOR
++dnl Follows AX_SPLIT_VERSION macro from AC-Archive
++dnl Rhys Ulerich <rhys.ulerich@gmail.com>
++AC_PROG_SED
++GSL_MAJOR_VERSION=`echo "$VERSION" | $SED 's/\([[^.]][[^.]]*\).*/\1/'`
++GSL_MINOR_VERSION=`echo "$VERSION" | $SED 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'`
++AC_SUBST(GSL_MAJOR_VERSION)
++AC_SUBST(GSL_MINOR_VERSION)
++
++dnl things required by automake
++dnl AC_ARG_PROGRAM
++AC_PROG_MAKE_SET
++
++dnl Check for which system.
++AC_CANONICAL_HOST
++
++dnl Checks for programs.
++AC_LANG(C)
++AC_PROG_CC
++AC_PROG_CPP
++AC_PROG_INSTALL
++AC_PROG_LN_S
++LT_INIT([win32-dll])
++
++dnl Check compiler features
++AC_TYPE_SIZE_T
++dnl AC_C_CONST
++AC_C_VOLATILE
++AC_C_INLINE
++AC_C_CHAR_UNSIGNED
++
++GSL_CFLAGS="-I$includedir"
++GSL_LIBS="-L$libdir -lgsl"
++dnl macro from libtool - can be replaced with LT_LIB_M when we require libtool 2
++LT_LIB_M
++GSL_LIBM=$LIBM
++
++AC_SUBST(GSL_CFLAGS)
++AC_SUBST(GSL_LIBS)
++AC_SUBST(GSL_LIBM)
++
++if test "$ac_cv_c_inline" != no ; then
++dnl Check for "extern inline", using a modified version of the test
++dnl for AC_C_INLINE from acspecific.mt
++dnl
++ AC_CACHE_CHECK([for GNU-style extern inline], ac_cv_c_extern_inline,
++ [ac_cv_c_extern_inline=no
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[extern $ac_cv_c_inline double foo(double x);
++ extern $ac_cv_c_inline double foo(double x) { return x + 1.0 ; } ;
++ double foo (double x) { return x + 1.0 ; };]], [[ foo(1.0) ]])],[ac_cv_c_extern_inline="yes"],[])
++ ])
++
++ if test "$ac_cv_c_extern_inline" != no ; then
++ AC_DEFINE(HAVE_INLINE,[1],[Define if you have inline])
++ else
++ AC_CACHE_CHECK([for C99-style inline], ac_cv_c_c99inline,
++ [ac_cv_c_c99inline=no
++ dnl next line is a necessary condition
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[extern inline void* foo() { foo(); return &foo ; };]],
++ [[ return foo() != 0 ]])],[ac_cv_c_c99inline="yes"],[])
++ dnl but not sufficient, extern must work but inline on its own should not
++ if test "$ac_cv_c_c99inline" != no ; then
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[inline void* foo() { foo(); return &foo ; };]],
++ [[ return foo() != 0 ]])],[],ac_cv_c_c99inline="no")
++ fi
++ ])
++ if test "$ac_cv_c_c99inline" != no ; then
++ AC_DEFINE(HAVE_INLINE,[1],[Define if you have inline])
++ AC_DEFINE(HAVE_C99_INLINE,[1],[Define if you have inline with C99 behavior])
++ fi
++ fi
++fi
++
++dnl Checks for header files.
++AC_CHECK_HEADERS(ieeefp.h)
++
++dnl Checks for typedefs, structures, and compiler characteristics.
++
++case $host in
++ *-*-cygwin* | *-*-mingw* )
++ if test "$enable_shared" = yes; then
++ GSLCBLAS_LDFLAGS="$GSLCBLAS_LDFLAGS -no-undefined"
++ GSL_LDFLAGS="$GSL_LDFLAGS -no-undefined"
++ GSL_LIBADD="cblas/libgslcblas.la"
++ fi
++ ;;
++esac
++
++AC_SUBST(GSLCBLAS_LDFLAGS)
++AC_SUBST(GSL_LDFLAGS)
++AC_SUBST(GSL_LIBADD)
++
++dnl Checks for library functions.
++
++dnl AC_FUNC_ALLOCA
++AC_FUNC_VPRINTF
++
++dnl strcasecmp, strerror, xmalloc, xrealloc, probably others should be added.
++dnl removed strerror from this list, it's hardcoded in the err/ directory
++dnl Any functions which appear in this list of functions should be provided
++dnl in the utils/ directory
++dnl xmalloc is not used, removed (bjg)
++AC_REPLACE_FUNCS(memcpy memmove strdup strtol strtoul)
++
++AC_CACHE_CHECK(for EXIT_SUCCESS and EXIT_FAILURE,
++ac_cv_decl_exit_success_and_failure,
++AC_EGREP_CPP(yes,
++[
++#include <stdlib.h>
++#ifdef EXIT_SUCCESS
++yes
++#endif
++],
++ac_cv_decl_exit_success_and_failure=yes,
++ac_cv_decl_exit_success_and_failure=no)
++)
++
++if test "$ac_cv_decl_exit_success_and_failure" = yes ; then
++ AC_DEFINE(HAVE_EXIT_SUCCESS_AND_FAILURE,1,[Defined if you have ansi EXIT_SUCCESS and EXIT_FAILURE in stdlib.h])
++fi ;
++
++dnl Use alternate libm if specified by user
++
++if test "x$LIBS" = "x" ; then
++ AC_CHECK_LIB(m, cos)
++fi
++
++dnl Remember to put a definition in acconfig.h for each of these
++AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1
++#include <fenv.h>])
++AC_CHECK_DECLS(fesettrapenable,,,[#define _GNU_SOURCE 1
++#include <fenv.h>])
++AC_CHECK_DECLS(hypot,,,[#include <math.h>])
++AC_CHECK_DECLS(expm1,,,[#include <math.h>])
++AC_CHECK_DECLS(acosh,,,[#include <math.h>])
++AC_CHECK_DECLS(asinh,,,[#include <math.h>])
++AC_CHECK_DECLS(atanh,,,[#include <math.h>])
++AC_CHECK_DECLS(ldexp,,,[#include <math.h>])
++AC_CHECK_DECLS(frexp,,,[#include <math.h>])
++AC_CHECK_DECLS([fprnd_t],[],[],[[#include <float.h>]])
++AC_CHECK_DECLS(isinf,,,[#include <math.h>])
++AC_CHECK_DECLS(isfinite,,,[#include <math.h>])
++AC_CHECK_DECLS(finite,,,[#include <math.h>
++#if HAVE_IEEEFP_H
++#include <ieeefp.h>
++#endif])
++AC_CHECK_DECLS(isnan,,,[#include <math.h>])
++
++dnl OpenBSD has a broken implementation of log1p.
++case "$host" in
++ *-*-*openbsd*)
++ AC_MSG_RESULT([avoiding OpenBSD system log1p - using gsl version])
++ ;;
++ *)
++ AC_CHECK_DECLS(log1p,,,[#include <math.h>])
++ ;;
++esac
++
++AC_CACHE_CHECK([for long double stdio], ac_cv_func_printf_longdouble,
++[AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
++#include <stdio.h>
++int main (void)
++{
++const char * s = "5678.25"; long double x = 1.234 ;
++fprintf(stderr,"%Lg\n",x) ;
++sscanf(s, "%Lg", &x);
++if (x == 5678.25) {exit (0);} else {exit(1); };
++}]])],[ac_cv_func_printf_longdouble="yes"],[ac_cv_func_printf_longdouble="no"],[ac_cv_func_printf_longdouble="no"])])
++
++if test "$ac_cv_func_printf_longdouble" != no; then
++ AC_DEFINE(HAVE_PRINTF_LONGDOUBLE,1,[Define this if printf can handle %Lf for long double])
++fi
++
++AC_CACHE_CHECK([for extended floating point registers],ac_cv_c_extended_fp,
++[case "$host" in
++ *sparc*-*-*)
++ ac_cv_c_extended_fp=no
++ ;;
++ *powerpc*-*-*)
++ ac_cv_c_extended_fp=no
++ ;;
++ *hppa*-*-*)
++ ac_cv_c_extended_fp=no
++ ;;
++ *alpha*-*-*)
++ ac_cv_c_extended_fp=no
++ ;;
++ *68k*-*-*)
++ ac_cv_c_extended_fp=yes
++ ;;
++ *86-*-*)
++ ac_cv_c_extended_fp=yes
++ ;;
++ x86_64-*-*)
++ ac_cv_c_extended_fp=yes
++ ;;
++ *)
++ ac_cv_c_extended_fp=unknown
++ ;;
++esac
++])
++
++if test $ac_cv_c_extended_fp != "no" ; then
++ AC_DEFINE(HAVE_EXTENDED_PRECISION_REGISTERS,1,[Defined on architectures with excess floating-point precision])
++fi
++
++AC_CACHE_CHECK([for IEEE arithmetic interface type], ac_cv_c_ieee_interface,
++[case "$host" in
++ sparc-*-linux*)
++ ac_cv_c_ieee_interface=gnusparc
++ ;;
++ m68k-*-linux*)
++ ac_cv_c_ieee_interface=gnum68k
++ ;;
++ powerpc-*-linux*)
++ ac_cv_c_ieee_interface=gnuppc
++ ;;
++ *86-*-gnu | *86_64-*-gnu | *86-*-linux* | *86_64-*-linux*)
++ ac_cv_c_ieee_interface=gnux86
++ ;;
++ *-*-sunos4*)
++ ac_cv_c_ieee_interface=sunos4
++ ;;
++ *-*-solaris*)
++ ac_cv_c_ieee_interface=solaris
++ ;;
++ *-*-hpux11*)
++ ac_cv_c_ieee_interface=hpux11
++ ;;
++ *-*-hpux*)
++ ac_cv_c_ieee_interface=hpux
++ ;;
++ *-*-osf*)
++ ac_cv_c_ieee_interface=tru64
++ ;;
++ *-*-aix*)
++ ac_cv_c_ieee_interface=aix
++ ;;
++ *-*-irix*)
++ ac_cv_c_ieee_interface=irix
++ ;;
++ powerpc-*-*darwin*)
++ ac_cv_c_ieee_interface=darwin
++ ;;
++ *86-*-*darwin*)
++ ac_cv_c_ieee_interface=darwin86
++ ;;
++ *-*-*netbsd*)
++ ac_cv_c_ieee_interface=netbsd
++ ;;
++ *-*-*openbsd*)
++ ac_cv_c_ieee_interface=openbsd
++ ;;
++ *-*-*bsd*)
++ ac_cv_c_ieee_interface=freebsd
++ ;;
++ *-*-os2*)
++ ac_cv_c_ieee_interface=os2emx
++ ;;
++ *)
++ ac_cv_c_ieee_interface=unknown
++ ;;
++esac
++])
++
++if test "$ac_cv_c_ieee_interface" = "gnux86" ; then
++ AC_CACHE_CHECK([for FPU_SETCW], ac_cv_c_fpu_setcw,
++ [ac_cv_c_fpu_setcw=no
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <fpu_control.h>
++#ifndef _FPU_SETCW
++#include <i386/fpu_control.h>
++#define _FPU_SETCW(cw) __setfpucw(cw)
++#endif
++]], [[ unsigned short mode = 0 ; _FPU_SETCW(mode); ]])],[ac_cv_c_fpu_setcw="yes"],[ac_cv_c_ieee_interface=unknown])
++ ])
++fi
++
++if test "$ac_cv_c_ieee_interface" = "gnux86" ; then
++ AC_CACHE_CHECK([for SSE extensions], ac_cv_c_fpu_sse,
++ [ac_cv_c_fpu_sse=no
++ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
++#include <stdlib.h>
++#define _FPU_SETMXCSR(cw_sse) asm volatile ("ldmxcsr %0" : : "m" (*&cw_sse))
++]], [[ unsigned int mode = 0x1f80 ; _FPU_SETMXCSR(mode); exit(0); ]])],[ac_cv_c_fpu_sse="yes"],[ac_cv_c_fpu_sse="no"],[
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++#include <stdlib.h>
++#define _FPU_SETMXCSR(cw_sse) asm volatile ("ldmxcsr %0" : : "m" (*&cw_sse))
++]], [[ unsigned int mode = 0x1f80 ; _FPU_SETMXCSR(mode); exit(0); ]])],[ac_cv_c_fpu_sse="yes"],[ac_cv_c_fpu_sse="no"])
++])])
++
++ if test $ac_cv_c_fpu_sse = yes; then
++ AC_DEFINE([HAVE_FPU_X86_SSE], 1,
++ [Define if x86 processor has sse extensions.])
++ fi
++fi
++
++ac_tr_ieee_interface=HAVE_`echo $ac_cv_c_ieee_interface | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`_IEEE_INTERFACE
++AC_DEFINE_UNQUOTED($ac_tr_ieee_interface,1,[IEEE Interface Type])
++
++AC_SUBST(HAVE_GNUSPARC_IEEE_INTERFACE)
++AC_SUBST(HAVE_GNUM68K_IEEE_INTERFACE)
++AC_SUBST(HAVE_GNUPPC_IEEE_INTERFACE)
++AC_SUBST(HAVE_GNUX86_IEEE_INTERFACE)
++AC_SUBST(HAVE_SUNOS4_IEEE_INTERFACE)
++AC_SUBST(HAVE_SOLARIS_IEEE_INTERFACE)
++AC_SUBST(HAVE_HPUX11_IEEE_INTERFACE)
++AC_SUBST(HAVE_HPUX_IEEE_INTERFACE)
++AC_SUBST(HAVE_TRU64_IEEE_INTERFACE)
++AC_SUBST(HAVE_IRIX_IEEE_INTERFACE)
++AC_SUBST(HAVE_AIX_IEEE_INTERFACE)
++AC_SUBST(HAVE_FREEBSD_IEEE_INTERFACE)
++AC_SUBST(HAVE_OS2EMX_IEEE_INTERFACE)
++AC_SUBST(HAVE_NETBSD_IEEE_INTERFACE)
++AC_SUBST(HAVE_OPENBSD_IEEE_INTERFACE)
++AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)
++AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)
++
++dnl Check for IEEE control flags
++
++save_cflags="$CFLAGS"
++AC_CACHE_CHECK([for IEEE compiler flags], ac_cv_c_ieee_flags,
++[
++case "$host" in
++ alpha*-*-*)
++ if test X"$GCC" = Xyes ; then
++ ieee_flags='-mieee -mfp-rounding-mode=d'
++ else
++ # This assumes Compaq's C compiler.
++ ieee_flags='-ieee -fprm d'
++ fi
++ ;;
++esac
++if test X"$ieee_flags" != X ; then
++ CFLAGS="$ieee_flags $CFLAGS"
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int foo;]])],[ac_cv_c_ieee_flags="$ieee_flags"],[ac_cv_c_ieee_flags="none"])
++else
++ ac_cv_c_ieee_flags="none"
++fi])
++
++if test "$ac_cv_c_ieee_flags" != "none" ; then
++ CFLAGS="$ac_cv_c_ieee_flags $save_cflags"
++else
++ CFLAGS="$save_cflags"
++fi
++
++dnl Check IEEE comparisons, whether "x != x" is true for NaNs
++dnl
++AC_CACHE_CHECK([for IEEE comparisons], ac_cv_c_ieee_comparisons,
++[AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <math.h>
++int main (void)
++{
++ int status; double inf, nan;
++ inf = exp(1.0e10);
++ nan = inf / inf ;
++ status = (nan == nan);
++ exit (status);
++}]])],[ac_cv_c_ieee_comparisons="yes"],[ac_cv_c_ieee_comparisons="no"],[ac_cv_c_ieee_comparisons="yes"])
++])
++
++if test "$ac_cv_c_ieee_comparisons" != no ; then
++ AC_DEFINE(HAVE_IEEE_COMPARISONS,1,[Define this if IEEE comparisons work correctly (e.g. NaN != NaN)])
++fi
++
++dnl Check for IEEE denormalized arithmetic
++dnl
++AC_CACHE_CHECK([for IEEE denormalized values], ac_cv_c_ieee_denormals,
++[AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <math.h>
++int main (void)
++{
++ int i, status;
++ volatile double z = 1e-308;
++ for (i = 0; i < 5; i++) { z = z / 10.0 ; };
++ for (i = 0; i < 5; i++) { z = z * 10.0 ; };
++ status = (z == 0.0);
++ exit (status);
++}]])],[ac_cv_c_ieee_denormals="yes"],[ac_cv_c_ieee_denormals="no"],[ac_cv_c_ieee_denormals="yes"])
++])
++
++if test "$ac_cv_c_ieee_denormals" != no ; then
++ AC_DEFINE(HAVE_IEEE_DENORMALS,1,[Define this if IEEE denormalized numbers are available])
++fi
++
++AH_TEMPLATE([HIDE_INLINE_STATIC],[Define if you need to hide the static definitions of inline functions])
++
++AH_BOTTOM([/* Use 0 and 1 for EXIT_SUCCESS and EXIT_FAILURE if we don't have them */
++#if !HAVE_EXIT_SUCCESS_AND_FAILURE
++#define EXIT_SUCCESS 0
++#define EXIT_FAILURE 1
++#endif])
++
++AH_BOTTOM([/* Define one of these if you have a known IEEE arithmetic interface */
++#undef HAVE_GNUSPARC_IEEE_INTERFACE
++#undef HAVE_GNUM68K_IEEE_INTERFACE
++#undef HAVE_GNUPPC_IEEE_INTERFACE
++#undef HAVE_GNUX86_IEEE_INTERFACE
++#undef HAVE_SUNOS4_IEEE_INTERFACE
++#undef HAVE_SOLARIS_IEEE_INTERFACE
++#undef HAVE_HPUX11_IEEE_INTERFACE
++#undef HAVE_HPUX_IEEE_INTERFACE
++#undef HAVE_TRU64_IEEE_INTERFACE
++#undef HAVE_IRIX_IEEE_INTERFACE
++#undef HAVE_AIX_IEEE_INTERFACE
++#undef HAVE_FREEBSD_IEEE_INTERFACE
++#undef HAVE_OS2EMX_IEEE_INTERFACE
++#undef HAVE_NETBSD_IEEE_INTERFACE
++#undef HAVE_OPENBSD_IEEE_INTERFACE
++#undef HAVE_DARWIN_IEEE_INTERFACE
++#undef HAVE_DARWIN86_IEEE_INTERFACE])
++
++AH_BOTTOM([/* Define a rounding function which moves extended precision values
++ out of registers and rounds them to double-precision. This should
++ be used *sparingly*, in places where it is necessary to keep
++ double-precision rounding for critical expressions while running in
++ extended precision. For example, the following code should ensure
++ exact equality, even when extended precision registers are in use,
++
++ double q = GSL_COERCE_DBL(3.0/7.0) ;
++ if (q == GSL_COERCE_DBL(3.0/7.0)) { ... } ;
++
++ It carries a penalty even when the program is running in double
++ precision mode unless you compile a separate version of the
++ library with HAVE_EXTENDED_PRECISION_REGISTERS turned off. */
++
++#if HAVE_EXTENDED_PRECISION_REGISTERS
++#define GSL_COERCE_DBL(x) (gsl_coerce_double(x))
++#else
++#define GSL_COERCE_DBL(x) (x)
++#endif])
++
++AH_BOTTOM([/* Substitute gsl functions for missing system functions */
++
++#if !HAVE_DECL_HYPOT
++#define hypot gsl_hypot
++#endif
++
++#if !HAVE_DECL_LOG1P
++#define log1p gsl_log1p
++#endif
++
++#if !HAVE_DECL_EXPM1
++#define expm1 gsl_expm1
++#endif
++
++#if !HAVE_DECL_ACOSH
++#define acosh gsl_acosh
++#endif
++
++#if !HAVE_DECL_ASINH
++#define asinh gsl_asinh
++#endif
++
++#if !HAVE_DECL_ATANH
++#define atanh gsl_atanh
++#endif
++
++#if !HAVE_DECL_LDEXP
++#define ldexp gsl_ldexp
++#endif
++
++#if !HAVE_DECL_FREXP
++#define frexp gsl_frexp
++#endif
++
++#if !HAVE_DECL_ISINF
++#define isinf gsl_isinf
++#endif
++
++#if !HAVE_DECL_ISFINITE
++#define isfinite gsl_finite
++#endif
++
++#if !HAVE_DECL_FINITE
++#define finite gsl_finite
++#endif
++
++#if !HAVE_DECL_ISNAN
++#define isnan gsl_isnan
++#endif])
++
++AH_BOTTOM([#ifdef __GNUC__
++#define DISCARD_POINTER(p) do { ; } while(p ? 0 : 0);
++#else
++#define DISCARD_POINTER(p) /* ignoring discarded pointer */
++#endif])
++
++AH_BOTTOM([#if defined(GSL_RANGE_CHECK_OFF) || !defined(GSL_RANGE_CHECK)
++#define GSL_RANGE_CHECK 0 /* turn off range checking by default internally */
++#endif])
++
++AH_BOTTOM([#define RETURN_IF_NULL(x) if (!x) { return ; }
++])
++
++AH_VERBATIM([GSL_DISABLE_DEPRECATED],
++[/* Disable deprecated functions and enums while building */
++#define GSL_DISABLE_DEPRECATED 1])
++
++dnl
++AC_CONFIG_FILES([ \
++Makefile \
++gsl_version.h \
++gsl.spec \
++blas/Makefile \
++block/Makefile \
++bspline/Makefile \
++cblas/Makefile \
++cdf/Makefile \
++cheb/Makefile \
++combination/Makefile \
++complex/Makefile \
++const/Makefile \
++deriv/Makefile \
++dht/Makefile \
++diff/Makefile \
++doc/Makefile \
++doc/examples/Makefile \
++eigen/Makefile \
++err/Makefile \
++fit/Makefile \
++fft/Makefile \
++gsl/Makefile \
++histogram/Makefile \
++ieee-utils/Makefile \
++integration/Makefile \
++interpolation/Makefile \
++linalg/Makefile \
++matrix/Makefile \
++min/Makefile \
++monte/Makefile \
++multifit/Makefile \
++multifit_nlinear/Makefile \
++multilarge/Makefile \
++multilarge_nlinear/Makefile \
++multimin/Makefile \
++multiroots/Makefile \
++multiset/Makefile \
++ntuple/Makefile \
++ode-initval/Makefile \
++ode-initval2/Makefile \
++permutation/Makefile \
++poly/Makefile \
++qrng/Makefile \
++randist/Makefile \
++rng/Makefile \
++roots/Makefile \
++rstat/Makefile \
++siman/Makefile \
++sort/Makefile \
++spblas/Makefile \
++splinalg/Makefile \
++spmatrix/Makefile \
++specfunc/Makefile \
++statistics/Makefile \
++sum/Makefile \
++sys/Makefile \
++test/Makefile \
++utils/Makefile \
++vector/Makefile \
++wavelet/Makefile \
++])
++
++AC_OUTPUT
+diff --git a/eigen/Makefile.am b/eigen/Makefile.am
+index c28bfde..14197a4 100644
+--- a/eigen/Makefile.am
++++ b/eigen/Makefile.am
+@@ -11,7 +11,7 @@ noinst_HEADERS = qrstep.c
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
++test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
+
+ test_SOURCES = test.c
+
+diff --git a/eigen/Makefile.am.porig b/eigen/Makefile.am.porig
+new file mode 100644
+index 0000000..c28bfde
+--- /dev/null
++++ b/eigen/Makefile.am.porig
+@@ -0,0 +1,18 @@
++noinst_LTLIBRARIES = libgsleigen.la
++
++check_PROGRAMS = test
++
++pkginclude_HEADERS = gsl_eigen.h
++libgsleigen_la_SOURCES = jacobi.c symm.c symmv.c nonsymm.c nonsymmv.c herm.c hermv.c gensymm.c gensymmv.c genherm.c genhermv.c gen.c genv.c sort.c francis.c schur.c
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++noinst_HEADERS = qrstep.c
++
++TESTS = $(check_PROGRAMS)
++
++test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
++
++test_SOURCES = test.c
++
++
+diff --git a/gsl-config.in b/gsl-config.in
+old mode 100755
+new mode 100644
+index 3f3fa61..c9c4262
+--- a/gsl-config.in
++++ b/gsl-config.in
+@@ -58,11 +58,11 @@ while test $# -gt 0; do
+ ;;
+
+ --cflags)
+- echo @GSL_CFLAGS@
++ echo @GSL_CFLAGS@ @CBLAS_CFLAGS@
+ ;;
+
+ --libs)
+- : ${GSL_CBLAS_LIB=-lgslcblas}
++ : ${GSL_CBLAS_LIB=@CBLAS_LIBS@}
+ echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@
+ ;;
+
+diff --git a/gsl-config.in.porig b/gsl-config.in.porig
+new file mode 100755
+index 0000000..3f3fa61
+--- /dev/null
++++ b/gsl-config.in.porig
+@@ -0,0 +1,80 @@
++#! /bin/sh
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++includedir=@includedir@
++
++usage()
++{
++ cat <<EOF
++Usage: gsl-config [OPTION]
++
++Known values for OPTION are:
++
++ --prefix show GSL installation prefix
++ --libs print library linking information, with cblas
++ --libs-without-cblas print library linking information, without cblas
++ --cflags print pre-processor and compiler flags
++ --help display this help and exit
++ --version output version information
++
++An external CBLAS library can be specified using the GSL_CBLAS_LIB
++environment variable. The GSL CBLAS library is used by default.
++
++EOF
++
++ exit $1
++}
++
++if test $# -eq 0; then
++ usage 1
++fi
++
++cflags=false
++libs=false
++
++while test $# -gt 0; do
++ case "$1" in
++ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++ *) optarg= ;;
++ esac
++
++ case "$1" in
++ --prefix=*)
++ prefix=$optarg
++ ;;
++
++ --prefix)
++ echo $prefix
++ ;;
++
++ --version)
++ echo @VERSION@
++ exit 0
++ ;;
++
++ --help)
++ usage 0
++ ;;
++
++ --cflags)
++ echo @GSL_CFLAGS@
++ ;;
++
++ --libs)
++ : ${GSL_CBLAS_LIB=-lgslcblas}
++ echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@
++ ;;
++
++ --libs-without-cblas)
++ echo @GSL_LIBS@ @GSL_LIBM@
++ ;;
++ *)
++ usage
++ exit 1
++ ;;
++ esac
++ shift
++done
++
++exit 0
+diff --git a/gsl.pc.in b/gsl.pc.in
+index 5e9ef21..5a7a0f3 100644
+--- a/gsl.pc.in
++++ b/gsl.pc.in
+@@ -2,7 +2,7 @@ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+-GSL_CBLAS_LIB=-lgslcblas
++GSL_CBLAS_LIB=@CBLAS_LIBS@
+
+ Name: GSL
+ Description: GNU Scientific Library
+diff --git a/gsl.pc.in.porig b/gsl.pc.in.porig
+new file mode 100644
+index 0000000..5e9ef21
+--- /dev/null
++++ b/gsl.pc.in.porig
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++GSL_CBLAS_LIB=-lgslcblas
++
++Name: GSL
++Description: GNU Scientific Library
++Version: @VERSION@
++Libs: @GSL_LIBS@ ${GSL_CBLAS_LIB} @GSL_LIBM@ @LIBS@
++Cflags: @GSL_CFLAGS@
+diff --git a/interpolation/Makefile.am b/interpolation/Makefile.am
+index 1d80755..e45bd51 100644
+--- a/interpolation/Makefile.am
++++ b/interpolation/Makefile.am
+@@ -12,7 +12,7 @@ AM_CPPFLAGS = -I$(top_srcdir)
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff --git a/interpolation/Makefile.am.porig b/interpolation/Makefile.am.porig
+new file mode 100644
+index 0000000..1d80755
+--- /dev/null
++++ b/interpolation/Makefile.am.porig
+@@ -0,0 +1,18 @@
++noinst_LTLIBRARIES = libgslinterpolation.la
++
++check_PROGRAMS = test
++
++pkginclude_HEADERS = gsl_interp.h gsl_spline.h gsl_interp2d.h gsl_spline2d.h
++
++libgslinterpolation_la_SOURCES = accel.c akima.c cspline.c interp.c linear.c integ_eval.h spline.c poly.c steffen.c inline.c interp2d.c bilinear.c bicubic.c spline2d.c
++
++noinst_HEADERS = test2d.c
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++TESTS = $(check_PROGRAMS)
++
++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++
++test_SOURCES = test.c
++
+diff --git a/linalg/Makefile.am b/linalg/Makefile.am
+index a6c15b0..447ebbe 100644
+--- a/linalg/Makefile.am
++++ b/linalg/Makefile.am
+@@ -13,4 +13,4 @@ TESTS = $(check_PROGRAMS)
+ check_PROGRAMS = test
+
+ test_SOURCES = test.c
+-test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../rng/libgslrng.la
++test_LDADD = libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../rng/libgslrng.la
+diff --git a/linalg/Makefile.am.porig b/linalg/Makefile.am.porig
+new file mode 100644
+index 0000000..a6c15b0
+--- /dev/null
++++ b/linalg/Makefile.am.porig
+@@ -0,0 +1,16 @@
++noinst_LTLIBRARIES = libgsllinalg.la
++
++pkginclude_HEADERS = gsl_linalg.h
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgsllinalg_la_SOURCES = cod.c condest.c invtri.c multiply.c exponential.c tridiag.c tridiag.h lu.c luc.c hh.c qr.c qrpt.c lq.c ptlq.c svd.c householder.c householdercomplex.c hessenberg.c hesstri.c cholesky.c choleskyc.c mcholesky.c pcholesky.c symmtd.c hermtd.c bidiag.c balance.c balancemat.c inline.c
++
++noinst_HEADERS = apply_givens.c cholesky_common.c svdstep.c tridiag.h test_cholesky.c
++
++TESTS = $(check_PROGRAMS)
++
++check_PROGRAMS = test
++
++test_SOURCES = test.c
++test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../rng/libgslrng.la
+diff --git a/multifit/Makefile.am b/multifit/Makefile.am
+index 988614e..793b485 100644
+--- a/multifit/Makefile.am
++++ b/multifit/Makefile.am
+@@ -67,8 +67,8 @@ check_PROGRAMS = test #demo
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c
+-test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../sort/libgslsort.la ../statistics/libgslstatistics.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ../rng/libgslrng.la ../specfunc/libgslspecfunc.la ../min/libgslmin.la
++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../sort/libgslsort.la ../statistics/libgslstatistics.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ../rng/libgslrng.la ../specfunc/libgslspecfunc.la ../min/libgslmin.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+diff --git a/multifit/Makefile.am.porig b/multifit/Makefile.am.porig
+new file mode 100644
+index 0000000..988614e
+--- /dev/null
++++ b/multifit/Makefile.am.porig
+@@ -0,0 +1,74 @@
++noinst_LTLIBRARIES = libgslmultifit.la
++
++pkginclude_HEADERS = gsl_multifit.h gsl_multifit_nlin.h
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgslmultifit_la_SOURCES = gcv.c multilinear.c multiwlinear.c work.c lmniel.c lmder.c fsolver.c fdfsolver.c fdfridge.c fdjac.c convergence.c gradient.c covar.c multirobust.c robust_wfun.c multireg.c
++
++noinst_HEADERS = \
++linear_common.c \
++lmutil.c \
++lmpar.c \
++lmset.c \
++lmiterate.c \
++lmmisc.c \
++qrsolv.c \
++test_bard.c \
++test_beale.c \
++test_biggs.c \
++test_box.c \
++test_boxbod.c \
++test_brown1.c \
++test_brown2.c \
++test_brown3.c \
++test_eckerle.c \
++test_enso.c \
++test_estimator.c \
++test_exp1.c \
++test_filip.c \
++test_gaussian.c \
++test_hahn1.c \
++test_helical.c \
++test_jennrich.c \
++test_kirby2.c \
++test_kowalik.c \
++test_lin1.c \
++test_lin2.c \
++test_lin3.c \
++test_linear.c \
++test_longley.c \
++test_meyer.c \
++test_meyerscal.c \
++test_nelson.c \
++test_nonlinear.c \
++test_osborne.c \
++test_penalty1.c \
++test_penalty2.c \
++test_pontius.c \
++test_powell1.c \
++test_powell2.c \
++test_powell3.c \
++test_rat42.c \
++test_rat43.c \
++test_reg.c \
++test_rosenbrock.c \
++test_rosenbrocke.c \
++test_roth.c \
++test_shaw.c \
++test_thurber.c \
++test_vardim.c \
++test_watson.c \
++test_wnlin.c \
++test_wood.c
++
++check_PROGRAMS = test #demo
++
++TESTS = $(check_PROGRAMS)
++
++test_SOURCES = test.c
++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../sort/libgslsort.la ../statistics/libgslstatistics.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ../rng/libgslrng.la ../specfunc/libgslspecfunc.la ../min/libgslmin.la
++
++#demo_SOURCES = demo.c
++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++
+diff --git a/multimin/Makefile.am b/multimin/Makefile.am
+index 7071359..65a488a 100644
+--- a/multimin/Makefile.am
++++ b/multimin/Makefile.am
+@@ -13,8 +13,8 @@ check_PROGRAMS = test #demo
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+diff --git a/multimin/Makefile.am.porig b/multimin/Makefile.am.porig
+new file mode 100644
+index 0000000..7071359
+--- /dev/null
++++ b/multimin/Makefile.am.porig
+@@ -0,0 +1,20 @@
++noinst_LTLIBRARIES = libgslmultimin.la
++
++pkginclude_HEADERS = gsl_multimin.h
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgslmultimin_la_SOURCES = fdfminimizer.c steepest_descent.c conjugate_fr.c conjugate_pr.c convergence.c diff.c vector_bfgs.c vector_bfgs2.c fminimizer.c simplex.c simplex2.c
++
++noinst_HEADERS = directional_minimize.c linear_minimize.c linear_wrapper.c
++
++check_PROGRAMS = test #demo
++
++TESTS = $(check_PROGRAMS)
++
++test_SOURCES = test.c test_funcs.c test_funcs.h
++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++
++#demo_SOURCES = demo.c
++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++
+diff --git a/multiroots/Makefile.am b/multiroots/Makefile.am
+index a351c3f..6178448 100644
+--- a/multiroots/Makefile.am
++++ b/multiroots/Makefile.am
+@@ -15,5 +15,5 @@ check_PROGRAMS = test
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+diff --git a/multiroots/Makefile.am.porig b/multiroots/Makefile.am.porig
+new file mode 100644
+index 0000000..a351c3f
+--- /dev/null
++++ b/multiroots/Makefile.am.porig
+@@ -0,0 +1,19 @@
++# -*-makefile-*-
++
++noinst_LTLIBRARIES = libgslmultiroots.la
++
++pkginclude_HEADERS = gsl_multiroots.h
++
++noinst_HEADERS = enorm.c dogleg.c
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgslmultiroots_la_SOURCES = fdjac.c fsolver.c fdfsolver.c convergence.c newton.c gnewton.c dnewton.c broyden.c hybrid.c hybridj.c
++
++check_PROGRAMS = test
++
++TESTS = $(check_PROGRAMS)
++
++test_SOURCES = test.c test_funcs.c test_funcs.h
++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++
+diff --git a/ode-initval/Makefile.am b/ode-initval/Makefile.am
+index 9c774b5..346c381 100644
+--- a/ode-initval/Makefile.am
++++ b/ode-initval/Makefile.am
+@@ -12,7 +12,7 @@ check_PROGRAMS = test
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff --git a/ode-initval/Makefile.am.porig b/ode-initval/Makefile.am.porig
+new file mode 100644
+index 0000000..9c774b5
+--- /dev/null
++++ b/ode-initval/Makefile.am.porig
+@@ -0,0 +1,18 @@
++noinst_LTLIBRARIES = libgslodeiv.la
++
++pkginclude_HEADERS = gsl_odeiv.h
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgslodeiv_la_SOURCES = control.c cstd.c cscal.c evolve.c step.c rk2.c rk2imp.c rk2simp.c rk4.c rk4imp.c rkf45.c rk8pd.c rkck.c bsimp.c gear1.c gear2.c
++
++noinst_HEADERS = odeiv_util.h
++
++check_PROGRAMS = test
++
++TESTS = $(check_PROGRAMS)
++
++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++
++test_SOURCES = test.c
++
+diff --git a/poly/Makefile.am b/poly/Makefile.am
+index f1dae5d..e0f8e83 100644
+--- a/poly/Makefile.am
++++ b/poly/Makefile.am
+@@ -10,7 +10,7 @@ noinst_HEADERS = balance.c companion.c qr.c
+
+ TESTS = $(check_PROGRAMS)
+
+-check_PROGRAMS = test
++#check_PROGRAMS = test
+
+ test_SOURCES = test.c
+ test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../sort/libgslsort.la
+diff --git a/poly/Makefile.am.porig b/poly/Makefile.am.porig
+new file mode 100644
+index 0000000..f1dae5d
+--- /dev/null
++++ b/poly/Makefile.am.porig
+@@ -0,0 +1,17 @@
++noinst_LTLIBRARIES = libgslpoly.la
++
++pkginclude_HEADERS = gsl_poly.h
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgslpoly_la_SOURCES = dd.c eval.c solve_quadratic.c solve_cubic.c zsolve_quadratic.c zsolve_cubic.c zsolve.c zsolve_init.c deriv.c
++
++noinst_HEADERS = balance.c companion.c qr.c
++
++TESTS = $(check_PROGRAMS)
++
++check_PROGRAMS = test
++
++test_SOURCES = test.c
++test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../sort/libgslsort.la
++
+diff --git a/specfunc/Makefile.am b/specfunc/Makefile.am
+index eba9ab2..772cc7e 100644
+--- a/specfunc/Makefile.am
++++ b/specfunc/Makefile.am
+@@ -12,7 +12,7 @@ TESTS = $(check_PROGRAMS)
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../poly/libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../block/libgslblock.la ../complex/libgslcomplex.la ../poly/libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c
+
+diff --git a/specfunc/Makefile.am.porig b/specfunc/Makefile.am.porig
+new file mode 100644
+index 0000000..eba9ab2
+--- /dev/null
++++ b/specfunc/Makefile.am.porig
+@@ -0,0 +1,19 @@
++noinst_LTLIBRARIES = libgslspecfunc.la
++
++pkginclude_HEADERS = gsl_sf.h gsl_sf_airy.h gsl_sf_bessel.h gsl_sf_clausen.h gsl_sf_coulomb.h gsl_sf_coupling.h gsl_sf_dawson.h gsl_sf_debye.h gsl_sf_dilog.h gsl_sf_elementary.h gsl_sf_ellint.h gsl_sf_elljac.h gsl_sf_erf.h gsl_sf_exp.h gsl_sf_expint.h gsl_sf_fermi_dirac.h gsl_sf_gamma.h gsl_sf_gegenbauer.h gsl_sf_hyperg.h gsl_sf_laguerre.h gsl_sf_lambert.h gsl_sf_legendre.h gsl_sf_log.h gsl_sf_mathieu.h gsl_sf_pow_int.h gsl_sf_psi.h gsl_sf_result.h gsl_sf_synchrotron.h gsl_sf_transport.h gsl_sf_trig.h gsl_sf_zeta.h gsl_specfunc.h
++
++noinst_HEADERS = bessel_amp_phase.h bessel_olver.h bessel_temme.h bessel.h hyperg.h legendre.h eval.h chebyshev.h cheb_eval.c cheb_eval_mode.c check.h error.h legendre_source.c
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgslspecfunc_la_SOURCES = airy.c airy_der.c airy_zero.c atanint.c bessel.c bessel.h bessel_I0.c bessel_I1.c bessel_In.c bessel_Inu.c bessel_J0.c bessel_J1.c bessel_Jn.c bessel_Jnu.c bessel_K0.c bessel_K1.c bessel_Kn.c bessel_Knu.c bessel_Y0.c bessel_Y1.c bessel_Yn.c bessel_Ynu.c bessel_amp_phase.c bessel_amp_phase.h bessel_i.c bessel_j.c bessel_k.c bessel_olver.c bessel_temme.c bessel_y.c bessel_zero.c bessel_sequence.c beta.c beta_inc.c clausen.c coulomb.c coupling.c coulomb_bound.c dawson.c debye.c dilog.c elementary.c ellint.c elljac.c erfc.c exp.c expint.c expint3.c fermi_dirac.c gegenbauer.c gamma.c gamma_inc.c hyperg_0F1.c hyperg_2F0.c hyperg_1F1.c hyperg_2F1.c hyperg_U.c hyperg.c laguerre.c lambert.c legendre_H3d.c legendre_P.c legendre_Qn.c legendre_con.c legendre_poly.c log.c mathieu_angfunc.c mathieu_charv.c mathieu_coeff.c mathieu_radfunc.c mathieu_workspace.c poch.c pow_int.c psi.c recurse.h result.c shint.c sinint.c synchrotron.c transport.c trig.c zeta.c
++
++TESTS = $(check_PROGRAMS)
++
++check_PROGRAMS = test
++
++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../poly/libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++
++test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c
++
++
+diff --git a/wavelet/Makefile.am b/wavelet/Makefile.am
+index 9da20d8..8cdbd77 100644
+--- a/wavelet/Makefile.am
++++ b/wavelet/Makefile.am
+@@ -10,7 +10,7 @@ check_PROGRAMS = test
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslwavelet.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff --git a/wavelet/Makefile.am.porig b/wavelet/Makefile.am.porig
+new file mode 100644
+index 0000000..9da20d8
+--- /dev/null
++++ b/wavelet/Makefile.am.porig
+@@ -0,0 +1,17 @@
++noinst_LTLIBRARIES = libgslwavelet.la
++
++pkginclude_HEADERS = gsl_wavelet.h gsl_wavelet2d.h
++
++AM_CPPFLAGS = -I$(top_srcdir)
++
++libgslwavelet_la_SOURCES = dwt.c wavelet.c bspline.c daubechies.c haar.c
++
++check_PROGRAMS = test
++
++TESTS = $(check_PROGRAMS)
++
++test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++
++test_SOURCES = test.c
++
++
diff --git a/sci-libs/gsl/gsl-2.3.ebuild b/sci-libs/gsl/gsl-2.3.ebuild
new file mode 100644
index 00000000000..1ef88655494
--- /dev/null
+++ b/sci-libs/gsl/gsl-2.3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU Scientific Library"
+HOMEPAGE="https://www.gnu.org/software/gsl/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/19.3"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cblas-external static-libs"
+
+RDEPEND="cblas-external? ( virtual/cblas )"
+DEPEND="${RDEPEND}
+ app-eselect/eselect-cblas
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-cblas.patch )
+
+pkg_pretend() {
+ # prevent to use external cblas from a previously installed gsl
+ local current_lib
+ if use cblas-external; then
+ current_lib=$(eselect cblas show | cut -d' ' -f2)
+ if [[ ${current_lib} == gsl ]]; then
+ ewarn "USE flag cblas-external is set: linking gsl with an external cblas."
+ ewarn "However the current selected external cblas is gsl."
+ ewarn "Please install and/or eselect another cblas"
+ die "Circular gsl dependency"
+ fi
+ fi
+}
+
+src_prepare() {
+ ESELECT_PROF="gsl"
+
+ # bug 349005
+ [[ $(tc-getCC)$ == *gcc* ]] && \
+ [[ $(tc-getCC)$ != *apple* ]] && \
+ [[ $(gcc-major-version)$(gcc-minor-version) -eq 44 ]] \
+ && filter-mfpmath sse
+ filter-flags -ffast-math
+
+ default
+ eautoreconf
+
+ cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/
+ sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.cblas.gsl || die
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \
+ "${T}"/eselect.cblas.gsl || die
+ fi
+}
+
+src_configure() {
+ if use cblas-external; then
+ export CBLAS_LIBS="$($(tc-getPKG_CONFIG) --libs cblas)"
+ export CBLAS_CFLAGS="$($(tc-getPKG_CONFIG) --cflags cblas)"
+ fi
+ econf \
+ --enable-shared \
+ $(use_with cblas-external) \
+ $(use_enable static-libs static)
+}
+
+src_test() {
+ local MAKEOPTS="${MAKEOPTS} -j1"
+ default
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+
+ # take care of pkgconfig file for cblas implementation.
+ sed \
+ -e "s/@LIBDIR@/$(get_libdir)/" \
+ -e "s/@PV@/${PV}/" \
+ -e "/^prefix=/s:=:=${EPREFIX}:" \
+ -e "/^libdir=/s:=:=${EPREFIX}:" \
+ "${FILESDIR}"/cblas.pc.in > cblas.pc \
+ || die "sed cblas.pc failed"
+ insinto /usr/$(get_libdir)/blas/gsl
+ doins cblas.pc
+ eselect cblas add $(get_libdir) "${T}"/eselect.cblas.gsl \
+ ${ESELECT_PROF}
+}
+
+pkg_postinst() {
+ local p=cblas
+ local current_lib=$(eselect ${p} show | cut -d' ' -f2)
+ if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then
+ # work around eselect bug #189942
+ local configfile="${EROOT}"/etc/env.d/${p}/$(get_libdir)/config
+ [[ -e ${configfile} ]] && rm -f ${configfile}
+ eselect ${p} set ${ESELECT_PROF}
+ elog "${p} has been eselected to ${ESELECT_PROF}"
+ else
+ elog "Current eselected ${p} is ${current_lib}"
+ elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
+ elog "\t eselect ${p} set ${ESELECT_PROF}"
+ fi
+}