#! /bin/sh
#                                               -*- Shell-script -*-
#
#  openturns-config-build.in / openturns-config-build / openturns-config
#
#  (C) Copyright 2005-2011 EDF
#
#  Permission to copy, use, modify, sell and distribute this software
#  is granted provided this copyright notice appears in all copies.
#  This software is provided "as is" without express or implied
#  warranty, and with no claim as to its suitability for any purpose.
#
#
#  Author : $LastChangedBy: dutka $
#  Date : $LastChangedDate: 2008-10-31 16:07:46 +0100 (Fri, 31 Oct 2008) $
#  Id : $Id: openturns-config.in 996 2008-10-31 15:07:46Z dutka $
#
#  This script provides external information on how and where Open TURNS is installed
#

# Set this variable to yes if the script is located in its target directory
installed=yes

# The installation process renames the script (by removing an extra -build to its name)
case $0 in
  *-build) installed=no ;;
esac

abs_top_srcdir=/build/buildd/openturns-0.15/lib
top_srcdir=..
srcdir=.
top_builddir=..

version=0.15
bugreport=bugs@openturns.org
package=openturns

#swig=@SWIG@
R=/usr/bin/R

win32=0

if test $win32 = 1
then
  prefix=c:/openturns
else
  prefix=/usr
fi
exec_prefix=${prefix}
bindir=${exec_prefix}/sbin
sbindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
libexecdir=${prefix}/lib/openturns
sysconfdir=/etc
datarootdir=${prefix}/share/$package
mandir=${prefix}/share/man
localedir=${datarootdir}/locale
infodir=${prefix}/share/info
datadir=${datarootdir}
m4dir=${datarootdir}/m4
includedir=${prefix}/include
localstatedir=/var
sharedstatedir=${prefix}/com

pkgincludedir=$includedir/$package
pkglibdir=$libdir/$package
pkgswigdir=$includedir/$package/swig
wrapperdir=$pkglibdir/wrappers

if test $installed = yes 
then
  cppflags="-I$pkgincludedir  -I/usr/include/libxml2 -I/usr/include"
  if test $win32 = 1
  then
    ldflags="-L$libdir/bin  -L/usr/lib -L/usr/lib"
    libs="-lOT-0  -lxml2 -lc"
  else
    ldflags="-L$pkglibdir  -L/usr/lib -L/usr/lib"
    libs="-lOT  -lxml2 -lc"
  fi
  swigflags="-I$pkgswigdir "
else
  cppflags=`echo ' -I$(top_srcdir)/../lib/include -I$(top_builddir)/../lib/include -I$(top_srcdir)/../lib/src -I$(top_srcdir)/../lib/src/Base -I$(top_srcdir)/../lib/src/Base/Common -I$(top_srcdir)/../lib/src/Base/Diff -I$(top_srcdir)/../lib/src/Base/Diff/Ev3 -I$(top_srcdir)/../lib/src/Base/Func -I$(top_srcdir)/../lib/src/Base/Func/MuParser -I$(top_srcdir)/../lib/src/Base/Func/SpecFunc -I$(top_srcdir)/../lib/src/Base/Graph -I$(top_srcdir)/../lib/src/Base/MetaModel -I$(top_srcdir)/../lib/src/Base/Optim -I$(top_srcdir)/../lib/src/Base/Optim/AbdoRackwitz -I$(top_srcdir)/../lib/src/Base/Optim/Cobyla -I$(top_srcdir)/../lib/src/Base/Optim/TNC -I$(top_srcdir)/../lib/src/Base/Optim/SQP -I$(top_srcdir)/../lib/src/Base/Solver -I$(top_srcdir)/../lib/src/Base/Stat -I$(top_srcdir)/../lib/src/Base/Type -I$(top_srcdir)/../lib/src/Base/Algo -I$(top_srcdir)/../lib/src/Uncertainty -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/Analytical -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/Experiments -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/OrthogonalBasis -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/IsoProbabilisticTransformation -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/IsoProbabilisticTransformation/MarginalTransformation -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/IsoProbabilisticTransformation/NatafEllipticalCopula -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/IsoProbabilisticTransformation/NatafIndependentCopula -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/IsoProbabilisticTransformation/NatafEllipticalDistribution -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/IsoProbabilisticTransformation/Rosenblatt -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/QuadraticCumul -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/MetaModel -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/MetaModel/FunctionalChaos -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/MetaModel/SVMRegression -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/Simulation -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/Simulation/StandardSpaceControlledImportanceSampling -I$(top_srcdir)/../lib/src/Uncertainty/Algorithm/Simulation/StandardSpaceImportanceSampling -I$(top_srcdir)/../lib/src/Uncertainty/Distribution -I$(top_srcdir)/../lib/src/Uncertainty/Model -I$(top_srcdir)/../lib/src/Uncertainty/StatTests  ' | sed -e 's/\$(\([^)]*\))/${\1}/g'`
  ldflags=`echo '  ' | sed -e 's/\$(\([^)]*\))/${\1}/g'`
  libs=`echo ' $(top_builddir)/../lib/src/libOT.la  ' | sed -e 's/\$(\([^)]*\))/${\1}/g'`
fi

CC="x86_64-linux-gnu-gcc"
CXX="x86_64-linux-gnu-g++"
F77="x86_64-linux-gnu-gfortran"

########################################

print_usage()
{
  cat <<EOT
Usage: $0 [option]
where option is:
[misc]
 --help            This help
 --installed       Return non-zero value if project is not installed yet (development version)

[paths]
 --prefix          Print 'prefix' directory
 --exec-prefix     Print 'exec-prefix' directory
 --bindir          Print 'bindir' directory
 --sbindir         Print 'sbindir' directory
 --libdir          Print 'libdir' directory
 --libexecdir      Print 'libexecdir' directory
 --sysconfdir      Print 'sysconfdir' directory
 --datarootdir     Print 'datarootdir' directory
 --mandir          Print 'mandir' directory
 --localedir       Print 'localedir' directory
 --infodir         Print 'infodir' directory
 --datadir         Print 'datadir' directory
 --includedir      Print 'includedir' directory
 --localstatedir   Print 'localstatedir' directory
 --sharedstatedir  Print 'sharedstatedir' directory
 --m4dir           Print autoconf m4 directory
 --wrapperdir      Print wrappers directory

[project]
 --version         Print version number
 --bugreport       Print bug report mail
 --package         Print package name

[tools]
 --R               Print R path
 --R-version       Print R version

[flags]
 --cppflags        Print CPPFLAGS
 --ldflags         Print LDFLAGS
 --libs            Print LIBS
 --swigflags       Print SWIGFLAGS
 --cc              Print CC
 --cxx             Print CXX
 --f77             Print F77

EOT
  return 1
}

print_prefix()
{
  echo ${prefix}
  return 0
}

print_exec_prefix()
{
  echo ${exec_prefix}
  return 0
}

print_bindir()
{
  echo ${bindir}
  return 0
}

print_sbindir()
{
  echo ${sbindir}
  return 0
}

print_libdir()
{
  echo ${libdir}
  return 0
}

print_libexecdir()
{
  echo ${libexecdir}
  return 0
}

print_datarootdir()
{
  echo ${datarootdir}
  return 0
}

print_mandir()
{
  echo ${mandir}
  return 0
}

print_localedir()
{
  echo ${localedir}
  return 0
}

print_infodir()
{
  echo ${infodir}
  return 0
}

print_datadir()
{
  echo ${datadir}
  return 0
}

print_includedir()
{
  echo ${includedir}
  return 0
}

print_sysconfdir()
{
  echo ${sysconfdir}
  return 0
}

print_localstatedir()
{
  echo ${localstatedir}
  return 0
}

print_sharedstatedir()
{
  echo ${sharedstatedir}
  return 0
}

print_m4dir()
{
  echo ${m4dir}
  return 0
}

print_wrapperdir()
{
  echo ${wrapperdir}
  return 0
}

print_version()
{
  echo ${version}
  return 0
}

print_bugreport()
{
  echo ${bugreport}
  return 0
}

print_package()
{
  echo ${package}
  return 0
}

is_installed()
{
  test $installed = yes && return 0
  return 1
}

print_cppflags()
{
  echo ${cppflags}
  return 0
}

print_ldflags()
{
  echo ${ldflags}
  return 0
}

print_libs()
{
  echo ${libs}
  return 0
}

print_swigflags()
{
  echo ${swigflags}
  return 0
}

# print_swig()
# {
#   echo ${swig}
#   return 0
# }

# print_swig_version()
# {
#   test -x ${swig} || return 1
#   ${swig} -version | awk 'BEGIN {IGNORECASE=1;} /version/ && /[0-9]+\.[0-9]+\.[0-9]+/ {match($0,/[0-9]+\.[0-9]+\.[0-9]+/);print substr($0,RSTART,RLENGTH);}'
#   return 0
# }

print_R()
{
  echo ${R}
  return 0
}

print_R_version()
{
  test -x ${R} || return 1
  ${R} --version | awk 'BEGIN {IGNORECASE=1;} /version/ && /[0-9]+\.[0-9]+\.[0-9]+/ {match($0,/[0-9]+\.[0-9]+\.[0-9]+/);print substr($0,RSTART,RLENGTH);}'
  return 0
}

print_CC()
{
  echo ${CC}
  return 0
}

print_CXX()
{
  echo ${CXX}
  return 0
}

print_F77()
{
  echo ${F77}
  return 0
}

########################################

# The return code of this script (0=OK, 1=Error)
rc=0

test $# != 1 && { print_usage ; rc=$? ; exit 1 ; }

opt=$1
case $opt in
  "--help") print_usage ; rc=$? ;;

  "--prefix") print_prefix ; rc=$? ;;
  "--exec-prefix") print_exec_prefix ; rc=$? ;;
  "--bindir") print_bindir ; rc=$? ;;
  "--sbindir") print_sbindir ; rc=$? ;;
  "--libdir") print_libdir ; rc=$? ;;
  "--libexecdir") print_libexecdir ; rc=$? ;;
  "--datarootdir") print_datarootdir ; rc=$? ;;
  "--mandir") print_mandir ; rc=$? ;;
  "--localedir") print_localedir ; rc=$? ;;
  "--infodir") print_infodir ; rc=$? ;;
  "--datadir") print_datadir ; rc=$? ;;
  "--includedir") print_includedir ; rc=$? ;;
  "--sysconfdir") print_sysconfdir ; rc=$? ;;
  "--localstatedir") print_localstatedir ; rc=$? ;;
  "--sharedstatedir") print_sharedstatedir ; rc=$? ;;
  "--m4dir") print_m4dir ; rc=$? ;;
  "--wrapperdir") print_wrapperdir ; rc=$? ;;

  "--version") print_version ; rc=$? ;;
  "--bugreport") print_bugreport ; rc=$? ;;
  "--package") print_package ; rc=$? ;;

  # "--swig") print_swig ; rc=$? ;;
  # "--swig-version") print_swig_version ; rc=$? ;;
  "--R") print_R ; rc=$? ;;
  "--R-version") print_R_version ; rc=$? ;;

  "--installed") is_installed ; rc=$? ;;

  "--cppflags") print_cppflags ; rc=$? ;;
  "--ldflags") print_ldflags ; rc=$? ;;
  "--libs") print_libs ; rc=$? ;;
  "--swigflags") print_swigflags ; rc=$? ;;
  "--cc") print_CC ; rc=$? ;;
  "--cxx") print_CXX ; rc=$? ;;
  "--f77") print_F77 ; rc=$? ;;

 *) print_usage ; rc=$? ; echo "Error: unknown option '$opt'" ;;
esac

exit $rc
