OASISFormat:      0.4
Name:             gsl
Version:          1.19.1
Synopsis:         GSL - Bindings to the GNU Scientific Library
Description:      gsl-ocaml branched off from Olivier Andrieu's distribution
                  (ocamlgsl) and includes bug fixes as well as numerous
                  API improvements.
Authors:          Olivier Andrieu <oandrieu@gmail.com>,
                  Markus Mottl <markus.mottl@gmail.com>
Copyrights:       (C) 2002-2012 Olivier Andrieu <oandrieu@gmail.com>
                  (C) 2009-2015 Markus Mottl <markus.mottl@gmail.com>
Maintainers:      Markus Mottl <markus.mottl@gmail.com>
LicenseFile:      COPYING.txt
License:          GPL-3+
OCamlVersion:     >= 3.12
FindlibVersion:   >= 1.3.1
Homepage:         http://mmottl.github.io/gsl-ocaml
#Categories:
FilesAB:          lib/gsl_version.ml.ab

Plugins:          META (0.4), StdFiles (0.4), DevFiles (0.4)
XStdFilesREADME:  false

PostConfCommand:  make post-conf

PreBuildCommand:  mkdir -p _build/lib;
                  cp lib/mlgsl_matrix.c lib/mlgsl_vector.c _build/lib

BuildTools:       ocamlbuild, ocamldoc

Flag strict
  Description:    Strict compile-time checks
  Default:        true

Library gsl
  Path:           lib
  Modules:
                  Gsl,
                  Gsl_blas,
                  Gsl_blas_flat,
                  Gsl_blas_gen,
                  Gsl_bspline,
                  Gsl_cdf,
                  Gsl_cheb,
                  Gsl_combi,
                  Gsl_const,
                  Gsl_deriv,
                  Gsl_eigen,
                  Gsl_error,
                  Gsl_fft,
                  Gsl_fit,
                  Gsl_fun,
                  Gsl_complex,
                  Gsl_sort,
                  Gsl_histo,
                  Gsl_ieee,
                  Gsl_integration,
                  Gsl_interp,
                  Gsl_linalg,
                  Gsl_math,
                  Gsl_matrix,
                  Gsl_matrix_complex,
                  Gsl_matrix_complex_flat,
                  Gsl_matrix_flat,
                  Gsl_min,
                  Gsl_misc,
                  Gsl_monte,
                  Gsl_multifit,
                  Gsl_multifit_nlin,
                  Gsl_multimin,
                  Gsl_multiroot,
                  Gsl_odeiv,
                  Gsl_permut,
                  Gsl_poly,
                  Gsl_qrng,
                  Gsl_randist,
                  Gsl_rng,
                  Gsl_root,
                  Gsl_sf,
                  Gsl_siman,
                  Gsl_stats,
                  Gsl_sum,
                  Gsl_vectmat,
                  Gsl_vector,
                  Gsl_vector_complex,
                  Gsl_vector_complex_flat,
                  Gsl_vector_flat,
                  Gsl_version,
                  Gsl_wavelet
  CSources:       mlgsl_blas.c,
                  mlgsl_blas_complex.c,
                  mlgsl_blas_complex_float.c,
                  mlgsl_blas_float.c,
                  mlgsl_bspline.c,
                  mlgsl_cdf.c,
                  mlgsl_cheb.c,
                  mlgsl_combi.c,
                  mlgsl_complex.c,
                  mlgsl_deriv.c,
                  mlgsl_eigen.c,
                  mlgsl_error.c,
                  mlgsl_fft.c,
                  mlgsl_fit.c,
                  mlgsl_fun.c,
                  mlgsl_histo.c,
                  mlgsl_ieee.c,
                  mlgsl_integration.c,
                  mlgsl_interp.c,
                  mlgsl_linalg.c,
                  mlgsl_linalg_complex.c,
                  mlgsl_math.c,
                  mlgsl_matrix_complex.c,
                  mlgsl_matrix_complex_float.c,
                  mlgsl_matrix_double.c,
                  mlgsl_matrix_float.c,
                  mlgsl_min.c,
                  mlgsl_monte.c,
                  mlgsl_multifit.c,
                  mlgsl_multimin.c,
                  mlgsl_multiroots.c,
                  mlgsl_odeiv.c,
                  mlgsl_permut.c,
                  mlgsl_poly.c,
                  mlgsl_qrng.c,
                  mlgsl_randist.c,
                  mlgsl_rng.c,
                  mlgsl_roots.c,
                  mlgsl_sf.c,
                  mlgsl_sort.c,
                  mlgsl_stats.c,
                  mlgsl_sum.c,
                  mlgsl_vector_double.c,
                  mlgsl_vector_float.c,
                  mlgsl_wavelet.c,
                  io.h,
                  mlgsl_blas.h,
                  mlgsl_complex.h,
                  mlgsl_fun.h,
                  mlgsl_matrix.h,
                  mlgsl_matrix_complex.h,
                  mlgsl_matrix_complex_float.h,
                  mlgsl_matrix_double.h,
                  mlgsl_matrix_float.h,
                  mlgsl_permut.h,
                  mlgsl_rng.h,
                  mlgsl_vector.h,
                  mlgsl_vector_complex.h,
                  mlgsl_vector_complex_float.h,
                  mlgsl_vector_double.h,
                  mlgsl_vector_float.h,
                  wrappers.h
  BuildDepends:   bigarray
  CCOpt:          -g -O2 -fPIC -DPIC
  if flag(strict) && ccomp_type(cc)
# FIXME: eliminate all pedantic and extra warnings
#    CCOpt+:       -Wall -pedantic -Wextra -Wunused -Wno-long-long
    CCOpt+:       -Wall -Wunused -Wno-long-long
  if system(macosx)
    CCLib:        -framework Accelerate


# Examples

Flag examples
  Description:    Build examples
  Default:        true

Flag camlp4
  Description:    Allow building of examples using camlp4
  Default:        false

Executable blas_ex
  Path:           examples
  MainIs:         blas_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable blas_speed_test
  Path:           examples
  MainIs:         blas_speed_test.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable bspline_ex
  Path:           examples
  MainIs:         bspline_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable cheb_ex
  Path:           examples
  MainIs:         cheb_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable combi_ex
  Path:           examples
  MainIs:         combi_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable const_ex
  Path:           examples
  MainIs:         const_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable deriv_ex
  Path:           examples
  MainIs:         deriv_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable eigen_ex
  Path:           examples
  MainIs:         eigen_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable fft_c
  Path:           examples
  MainIs:         fft_c.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable fft_c2
  Path:           examples
  MainIs:         fft_c2.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable fft_hc
  Path:           examples
  MainIs:         fft_hc.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable fit_ex
  Path:           examples
  MainIs:         fit_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable histo_ex
  Path:           examples
  MainIs:         histo_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable integration_ex
  Path:           examples
  MainIs:         integration_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable interp_ex
  Path:           examples
  MainIs:         interp_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable linalg_ex
  Path:           examples
  MainIs:         linalg_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable min_ex
  Path:           examples
  MainIs:         min_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable monte_ex
  Path:           examples
  MainIs:         monte_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable "multifit_data_ex"
  Path:           examples
  MainIs:         multifit_data_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable multifit_ex
  Path:           examples
  MainIs:         multifit_ex.ml
  Build$:         flag(examples) && flag(camlp4)
  BuildDepends:   gsl, camlp4
  Install:        false
  CompiledObject: best

Executable multifit_nlin_ex
  Path:           examples
  MainIs:         multifit_nlin_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable multimin_ex
  Path:           examples
  MainIs:         multimin_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable multiroot_ex
  Path:           examples
  MainIs:         multiroot_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable odeiv_ex
  Path:           examples
  MainIs:         odeiv_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable permut_ex
  Path:           examples
  MainIs:         permut_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable qrng_ex
  Path:           examples
  MainIs:         qrng_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable rng_ex
  Path:           examples
  MainIs:         rng_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable root_ex
  Path:           examples
  MainIs:         root_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable siman_ex
  Path:           examples
  MainIs:         siman_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable siman_tsp_ex
  Path:           examples
  MainIs:         siman_tsp_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable stats_ex
  Path:           examples
  MainIs:         stats_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable sum_ex
  Path:           examples
  MainIs:         sum_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

Executable wavelet_ex
  Path:           examples
  MainIs:         wavelet_ex.ml
  Build$:         flag(examples)
  BuildDepends:   gsl
  Install:        false
  CompiledObject: best

#

Document API
  Title:                API reference for GSL
  Type:                 OCamlbuild (0.4)
  InstallDir:           $docdir/api
  XOCamlbuildPath:      .
  XOCamlbuildLibraries: gsl

SourceRepository head
  Type:       Git
  Location:   https://github.com/mmottl/gsl-ocaml.git
  Browser:    https://github.com/mmottl/gsl-ocaml
  Tag:        v$(pkg_version)
