summaryrefslogtreecommitdiff
path: root/sci-libs/gsl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/gsl
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/gsl')
-rw-r--r--sci-libs/gsl/Manifest16
-rw-r--r--sci-libs/gsl/files/cblas.pc.in12
-rw-r--r--sci-libs/gsl/files/eselect.cblas.gsl5
-rw-r--r--sci-libs/gsl/files/gsl-1.16-cblas.patch294
-rw-r--r--sci-libs/gsl/files/gsl-2.1-cblas.patch326
-rw-r--r--sci-libs/gsl/files/gsl-2.3-cblas.patch1485
-rw-r--r--sci-libs/gsl/gsl-1.16.ebuild106
-rw-r--r--sci-libs/gsl/gsl-2.1.ebuild108
-rw-r--r--sci-libs/gsl/gsl-2.3.ebuild111
-rw-r--r--sci-libs/gsl/gsl-2.4.ebuild111
-rw-r--r--sci-libs/gsl/metadata.xml26
11 files changed, 2600 insertions, 0 deletions
diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest
new file mode 100644
index 000000000000..82d239affbdd
--- /dev/null
+++ b/sci-libs/gsl/Manifest
@@ -0,0 +1,16 @@
+AUX cblas.pc.in 290 SHA256 f47133de2f49a5ff53c8e295d03fbe8923c79cd0978cedb903cfdf7e57a873a1 SHA512 2a1dc22097e2a50fd4a797c446b32202b74e9d754c8b61c51a3789c3eb42372adcc7fb25901c468d604cc4e7961d7f11e0e5883179894047948e46879fc04719 WHIRLPOOL f8e93aa2c61d3ac08664c3162f0e754c1d6cefca0a4d4ab8ee8f763e6ec46049ff5537c7f9266200856b58ffab88fb9af115eb4be32deb99ed6d2005abcb13ec
+AUX eselect.cblas.gsl 216 SHA256 2be1ba93a0bafa73df52913f54d1c7fd299aa1cd0a98c5fbe4eac894073ebac7 SHA512 e5cd92f4e9829538642a0fed54fdf75bc579c8c20769997ec5a3ce0287993476e68fbeefec8e46162d05ea908d2e79187c15ebdd00f6558ecbd25de21ece64dc WHIRLPOOL 1a0591e670a1ca51fa6cc4b2883931a49f3da59c2c673d786f6acdb72b50b7fee22ee30f2d3c6ac864c149381c23ca5c41ba586f159830cdeff97b86cf6a03f3
+AUX gsl-1.16-cblas.patch 17458 SHA256 568f6bf06b9441f741c028eaf7b12edb0e96093a16ea7a2d975e0cbde261c083 SHA512 70cae5682bfc7788e6f67ec355b52e291f32c2500b9baf9dd336d7cbb42b5eac4d89ecafeb23c4b478836d3c137d40d47dd17d375708df3c2dd41781a78f56bf WHIRLPOOL a7a5e6b52dc0466ad180853f5824d071d715743ef850ec808c7615fcc3b4f98d940c6f896faf44647c8e0915a6e5b6b7575ff9b66a59e337e04cd18d94cc7807
+AUX gsl-2.1-cblas.patch 17467 SHA256 757e70d883241097b5625e40233d448ad2c5c7cd6e60a920158d4e88475b2124 SHA512 e22ece09ac7f846a4b8e4bec123b974d994a66e47a728b732ebbe9493bbb28be16b2e598504068a6a014fc2921df74e03dc9d8bf418e94be1bd8ce7cf662162c WHIRLPOOL 85df5d3413a041ea192e454b9438c3b6003197820e338b8cca7ce174d539705be0df750e20b793d1221307f6e90ba38051f243de2c57e2a661d5449002a81363
+AUX gsl-2.3-cblas.patch 58225 SHA256 41dc907c042631f810739c10058efc5b814b0e3907203c5b5d7292e3e35484bc SHA512 08cd7b0416b8510823e77a73e664d0223e91e2726a45c36f61c79125f919aed0f81fca59aa8121fce1466b7312d0dddd88b95ae92b44ddb9d2d9c00e4afef6d7 WHIRLPOOL fa252eb088facbaa109ad13c1b3d5082d308262061d04a6479bed054b80797acd0c654dfceaaf25b4b5cfb2c50b8d4ff086e88fb48ca7385c286fe148baea916
+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
+DIST gsl-2.4.tar.gz 5916715 SHA256 4d46d07b946e7b31c19bbf33dda6204d7bedc2f5462a1bae1d4013426cd1ce9b SHA512 12442b023dd959e8b22a9c486646b5cedec7fdba0daf2604cda365cf96d10d99aefdec2b42e59c536cc071da1525373454e5ed6f4b15293b305ca9b1dc6db130 WHIRLPOOL 5703de11ec8e8ba6a204ff87c0f3b695e7363d1f2322eb2fe13686b315ef922d3d1b64959c8a7d59d73aafbe716ba02f14265f9c37edd4569f8d02b06c32229f
+EBUILD gsl-1.16.ebuild 3029 SHA256 62fe2c0ad1c439f5b5fbf2aed55620dabb4cbfdd584abe74f4f70a9fbdb0b41e SHA512 d78ce45caf5879c4b059de54e0aa31706a16f10dccdd30c761b683d55c0a45ab8f96c600e959a2c1bd20b5c0780bf4e389757028cce23126840e1d0a9d84fb60 WHIRLPOOL 11ac18f622b4a01683e5bcf8e965950a43608d724a799304b687f18cbfac3be550d9c88f01fed6c4bdd28bb4f67f2d0165ac4dd9a9ca7fef4040d4e08b19f8e5
+EBUILD gsl-2.1.ebuild 3014 SHA256 072d83b6c37361093715bdfdce3f253616c2bde7dd5c55cc5ac98621deba2f05 SHA512 6afe40abe12fe25cd6811e2d189369cea098d9943780021e4f298780a8a11f278a2910e47736e9adca39a6521320d7f12ba2e7156e5ccd075f0837b6b9a6cd83 WHIRLPOOL eefb487c3c003700222ca6a7c2c664d0cbcc8f3826631cf1183886b0a46274f04b6b79ed7620dabfb41a02d11c652743acc7f02944208ff7106722fc4046e47a
+EBUILD gsl-2.3.ebuild 3127 SHA256 f30cd15c87575ef5d484812c7b12376b628fa559810659ad37080652a6202935 SHA512 fc380378b8b18fd1bd9484a8f118924b6e13e03c5cc6e6caf8943b88eb78892a965990d9236e2c66e217d9f057bf7050790283a8167682c14b5acd74c0937e58 WHIRLPOOL a5084fdc5c5a7acd152d4c89f85c2cc746b1626848cf368380a06eaff9aac313dc376946e71a09a8acfaf3abdd845fdde892905fb08b53ede8b6564caf20b51f
+EBUILD gsl-2.4.ebuild 3139 SHA256 2fc52e7210b68971f7c94ccb94c2665572a115387bf82f390fcd6f7111d56e85 SHA512 a95655ff57d9c5d044cc44b8f146b0f0c91472d28017e486b8e059d820e804f10d2855520e803a53d37241e04dff10af54f3d8e2012b857a613a13b4f5b3be56 WHIRLPOOL eca6734206ddff207a81c4a5e57b13048a94a0f739cef9e3a3e6ca4e5873cd6c41fe6f3ef4defaa5b32114eccf7a659b3b3ee7b4828c4c94589ccd8259d94edf
+MISC ChangeLog 4886 SHA256 592b822f836f55a4edf868dbbeb6421ceab2c4af0ddafafc80dd3e1a673ad047 SHA512 4dcf559512968882a0b24c6cdfe444ecd13073a07a0f7d5d0c193e5a78fa96a8fce6f7813ea6c9466cf5037211212b6eedbbf2899dd9b757e337e1cddc37f03c WHIRLPOOL a8f36e0729691f36dfce354e415172671a3eccb7cf31a9f73ac70589901ab251550718c24ea29b51d3cece67ce03942863d559e80e8f7c7b74cdb1a29834ab2a
+MISC ChangeLog-2015 13742 SHA256 a458deacb59f40e9d52dc9ee082ccc820664f067a2c36e3f135e17128576a00b SHA512 b82cd0aaee623fbd9fc56e75ac6b62d0e43153cbbd01b325e884c4afece61f56a55989ca67e66c045515832dc61ecc032707586669680774de99405287d95265 WHIRLPOOL e381d5a7ce245eb5a5155bd70e9ed4271a1790c4d59ceb678cdc961ce67b674d3312f2f184411eaf6b80a906949bb116961e978f5c75e257fb3312ddeb4f2594
+MISC metadata.xml 1190 SHA256 6a43c1db8ec42ab4f9dda359182480f19fe55ad70cc19c870ad6b8433dca056d SHA512 f56ec87aeb8f257480a631748db79c78193797e1ecd586dbbd78f31a01fbbd3341fa67ffd3244e5dba352478ee552184d6a1d9b5ef5d54d67b038215090eca00 WHIRLPOOL ac94a92dc6aaa68c8823a457a15adefd390bbd89e7078f41412a2029e516664aa6953dbdf6ee624d86612b41a36b9a847d18a2c975aef1b8ec98722318d6191f
diff --git a/sci-libs/gsl/files/cblas.pc.in b/sci-libs/gsl/files/cblas.pc.in
new file mode 100644
index 000000000000..a2580f85e6e8
--- /dev/null
+++ b/sci-libs/gsl/files/cblas.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=${prefix}/include
+
+Name: cblas
+Description: GSL C Implementation of the Basic Linear Algebra Subprograms
+Version: @PV@
+URL: http://www.gnu.org/software/gsl
+Libs: -L${libdir} -lcblas
+Libs.private: -lm
+Cflags: -I${includedir}
diff --git a/sci-libs/gsl/files/eselect.cblas.gsl b/sci-libs/gsl/files/eselect.cblas.gsl
new file mode 100644
index 000000000000..af6fee51fef9
--- /dev/null
+++ b/sci-libs/gsl/files/eselect.cblas.gsl
@@ -0,0 +1,5 @@
+libgslcblas.so /usr/@LIBDIR@/libcblas.so
+libgslcblas.so.0 /usr/@LIBDIR@/libcblas.so.0
+libgslcblas.a /usr/@LIBDIR@/libcblas.a
+../blas/gsl/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
+gsl/gsl_cblas.h /usr/include/cblas.h
diff --git a/sci-libs/gsl/files/gsl-1.16-cblas.patch b/sci-libs/gsl/files/gsl-1.16-cblas.patch
new file mode 100644
index 000000000000..c29ef5294717
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-1.16-cblas.patch
@@ -0,0 +1,294 @@
+diff -Nur gsl-1.16.orig/ax_cblas.m4 gsl-1.16/ax_cblas.m4
+--- gsl-1.16.orig/ax_cblas.m4 1969-12-31 16:00:00.000000000 -0800
++++ gsl-1.16/ax_cblas.m4 2013-08-19 15:48:54.376300825 -0700
+@@ -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 -Nur gsl-1.16.orig/bspline/Makefile.am gsl-1.16/bspline/Makefile.am
+--- gsl-1.16.orig/bspline/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/bspline/Makefile.am 2013-08-19 15:25:27.728497742 -0700
+@@ -12,6 +12,6 @@
+
+ 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 -Nur gsl-1.16.orig/configure.ac gsl-1.16/configure.ac
+--- gsl-1.16.orig/configure.ac 2013-07-19 08:14:45.000000000 -0700
++++ gsl-1.16/configure.ac 2013-08-19 15:28:24.172640793 -0700
+@@ -191,6 +191,16 @@
+ 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 -Nur gsl-1.16.orig/eigen/Makefile.am gsl-1.16/eigen/Makefile.am
+--- gsl-1.16.orig/eigen/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/eigen/Makefile.am 2013-08-19 15:25:27.728497742 -0700
+@@ -11,7 +11,7 @@
+
+ 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 -Nur gsl-1.16.orig/gsl-config.in gsl-1.16/gsl-config.in
+--- gsl-1.16.orig/gsl-config.in 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/gsl-config.in 2013-08-19 15:25:27.728497742 -0700
+@@ -58,11 +58,11 @@
+ ;;
+
+ --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 -Nur gsl-1.16.orig/gsl.pc.in gsl-1.16/gsl.pc.in
+--- gsl-1.16.orig/gsl.pc.in 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/gsl.pc.in 2013-08-19 15:25:27.728497742 -0700
+@@ -2,7 +2,7 @@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+-GSL_CBLAS_LIB=-lgslcblas
++GSL_CBLAS_LIB=@CBLAS_LIBS@
+
+ Name: GSL
+ Description: GNU Scientific Library
+diff -Nur gsl-1.16.orig/interpolation/Makefile.am gsl-1.16/interpolation/Makefile.am
+--- gsl-1.16.orig/interpolation/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/interpolation/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -10,7 +10,7 @@
+
+ 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 -Nur gsl-1.16.orig/linalg/Makefile.am gsl-1.16/linalg/Makefile.am
+--- gsl-1.16.orig/linalg/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/linalg/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-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
++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
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.16.orig/Makefile.am gsl-1.16/Makefile.am
+--- gsl-1.16.orig/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -19,13 +19,12 @@
+
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(SUBLIBS)
++libgsl_la_LIBADD = $(SUBLIBS) @CBLAS_LINK_LIBS@
+ libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h build.h
+
+ MINGW32_HOST = @MINGW32_HOST@
+ if MINGW32_HOST
+-libgsl_la_LIBADD += cblas/libgslcblas.la
+ libgsl_la_LDFLAGS += -no-undefined
+ endif
+
+@@ -35,10 +34,10 @@
+ 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
+@@ -57,6 +56,8 @@
+ -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'
+
+--- gsl-1.16.orig/multifit/Makefile.am 2013-07-18 06:04:26.000000000 +1000
++++ gsl-1.16/multifit/Makefile.am 2013-11-22 16:57:26.170330257 +1100
+@@ -13,8 +13,8 @@
+ 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
++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
+
+ #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 -Nur gsl-1.16.orig/multimin/Makefile.am gsl-1.16/multimin/Makefile.am
+--- gsl-1.16.orig/multimin/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/multimin/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -13,8 +13,8 @@
+ 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 -Nur gsl-1.16.orig/multiroots/Makefile.am gsl-1.16/multiroots/Makefile.am
+--- gsl-1.16.orig/multiroots/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/multiroots/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -15,5 +15,5 @@
+ 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 -Nur gsl-1.16.orig/ode-initval/Makefile.am gsl-1.16/ode-initval/Makefile.am
+--- gsl-1.16.orig/ode-initval/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/ode-initval/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -12,7 +12,7 @@
+
+ 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 -Nur gsl-1.16.orig/poly/Makefile.am gsl-1.16/poly/Makefile.am
+--- gsl-1.16.orig/poly/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/poly/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -10,7 +10,7 @@
+
+ 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 -Nur gsl-1.16.orig/specfunc/Makefile.am gsl-1.16/specfunc/Makefile.am
+--- gsl-1.16.orig/specfunc/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/specfunc/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -12,7 +12,7 @@
+
+ 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 ../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 ../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 -Nur gsl-1.16.orig/wavelet/Makefile.am gsl-1.16/wavelet/Makefile.am
+--- gsl-1.16.orig/wavelet/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/wavelet/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -10,7 +10,7 @@
+
+ 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/sci-libs/gsl/files/gsl-2.1-cblas.patch b/sci-libs/gsl/files/gsl-2.1-cblas.patch
new file mode 100644
index 000000000000..54cc8802c594
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-2.1-cblas.patch
@@ -0,0 +1,326 @@
+ Makefile.am | 8 +++---
+ ax_cblas.m4 | 69 +++++++++++++++++++++++++++++++++++++++++++++++
+ bspline/Makefile.am | 2 +-
+ configure.ac | 10 +++++++
+ eigen/Makefile.am | 2 +-
+ gsl-config.in | 4 +--
+ gsl.pc.in | 2 +-
+ interpolation/Makefile.am | 2 +-
+ linalg/Makefile.am | 2 +-
+ multifit/Makefile.am | 4 +--
+ multimin/Makefile.am | 4 +--
+ multiroots/Makefile.am | 2 +-
+ ode-initval/Makefile.am | 2 +-
+ poly/Makefile.am | 2 +-
+ specfunc/Makefile.am | 2 +-
+ wavelet/Makefile.am | 2 +-
+ 16 files changed, 100 insertions(+), 19 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 278dcd9..a75418c 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/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/configure.ac b/configure.ac
+index d6b673f..c642454 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -205,6 +205,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/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/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.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/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/linalg/Makefile.am b/linalg/Makefile.am
+index 8fb6e7c..90d22e0 100644
+--- a/linalg/Makefile.am
++++ b/linalg/Makefile.am
+@@ -12,7 +12,7 @@ TESTS = $(check_PROGRAMS)
+
+ check_PROGRAMS = test
+
+-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
++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
+
+ test_SOURCES = test.c
+
+diff --git a/multifit/Makefile.am b/multifit/Makefile.am
+index 891964b..b33f71e 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
++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
+
+ #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/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/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/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/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/specfunc/Makefile.am b/specfunc/Makefile.am
+index 0a7e672..d1361d0 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 ../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 ../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/sci-libs/gsl/files/gsl-2.3-cblas.patch b/sci-libs/gsl/files/gsl-2.3-cblas.patch
new file mode 100644
index 000000000000..7e12b370b0dc
--- /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-1.16.ebuild b/sci-libs/gsl/gsl-1.16.ebuild
new file mode 100644
index 000000000000..a26b3b72f776
--- /dev/null
+++ b/sci-libs/gsl/gsl-1.16.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic autotools 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"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~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"
+
+DOCS=( AUTHORS BUGS ChangeLog NEWS README THANKS TODO )
+
+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
+
+ epatch "${FILESDIR}"/${P}-cblas.patch
+ eautoreconf
+
+ cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/ || die
+ 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() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -exec rm -f {} + || die
+
+ # 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
+}
diff --git a/sci-libs/gsl/gsl-2.1.ebuild b/sci-libs/gsl/gsl-2.1.ebuild
new file mode 100644
index 000000000000..b380fcc5bb81
--- /dev/null
+++ b/sci-libs/gsl/gsl-2.1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~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
+}
diff --git a/sci-libs/gsl/gsl-2.3.ebuild b/sci-libs/gsl/gsl-2.3.ebuild
new file mode 100644
index 000000000000..9e70befa7198
--- /dev/null
+++ b/sci-libs/gsl/gsl-2.3.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cblas-external +deprecated 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
+ if use deprecated; then
+ sed -i -e "/GSL_DISABLE_DEPRECATED/,+2d" configure.ac || die
+ fi
+ eautoreconf
+
+ cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/ || die
+ 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
+}
diff --git a/sci-libs/gsl/gsl-2.4.ebuild b/sci-libs/gsl/gsl-2.4.ebuild
new file mode 100644
index 000000000000..659ed95f7978
--- /dev/null
+++ b/sci-libs/gsl/gsl-2.4.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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/23"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cblas-external +deprecated static-libs"
+
+RDEPEND="cblas-external? ( virtual/cblas:= )"
+DEPEND="${RDEPEND}
+ app-eselect/eselect-cblas
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.3-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
+ if use deprecated; then
+ sed -i -e "/GSL_DISABLE_DEPRECATED/,+2d" configure.ac || die
+ fi
+ eautoreconf
+
+ cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/ || die
+ 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
+}
diff --git a/sci-libs/gsl/metadata.xml b/sci-libs/gsl/metadata.xml
new file mode 100644
index 000000000000..4a8296b2f944
--- /dev/null
+++ b/sci-libs/gsl/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The GNU Scientific Library (GSL) is a collection of routines for
+ numerical analysis. The routines are written from scratch by the GSL
+ team in C, and present a modern API for C programmers, while allowing
+ wrappers to be written for very high level languages.
+
+ GSL includes data types and routines for complex numbers, vectors,
+ matrices, basic linear algebra subroutines (BLAS), eigensystems,
+ simulated annealing, minimization, root finding, pseudo-random
+ numbers, least-squares fitting, fast Fourier transforms (FFT),
+ differential equations, quadrature, Monte Carlo integration, special
+ functions, physical constants, and much more.
+</longdescription>
+ <use>
+ <flag name="cblas-external">Link gsl with external cblas provided by
+ (<pkg>virtual/cblas</pkg>) instead of shipped internal version</flag>
+ <flag name="deprecated">Enable deprecated functions</flag>
+ </use>
+</pkgmetadata>