#! /bin/sh
#                                               -*- Shell-script -*-
#
#  openturns-config-build.in / openturns-config-build / openturns-config
#
#  Copyright (C) 2005-2013 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 dutka
#  @date   2008-10-31 16:07:46 +0100 (Fri, 31 Oct 2008)
#  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-1.2
top_srcdir=/build/buildd/openturns-1.2
srcdir=/build/buildd/openturns-1.2/lib/src
top_builddir=/build/buildd/openturns-1.2/obj-i686-linux-gnu

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

#swig=
R=/usr/bin/R

win32=

prefix=/usr
exec_prefix=/usr
bindir=/usr/bin
sbindir=/usr/bin
libdir=/usr/lib
libexecdir=/usr/lib
sysconfdir=/etc/openturns-1.2
datarootdir=/usr/share/$package
mandir=/usr/share
localedir=/usr/share
infodir=/usr/share
datadir=/usr/share
m4dir=/usr/share/m4
includedir=/usr/include/openturns
localstatedir=/usr/share
sharedstatedir=/usr/share

pkgincludedir=/usr/include/openturns
pkglibdir=/usr/lib
pkgswigdir=$pkgincludedir/swig
wrapperdir=/usr/lib/openturns-1.2/wrappers

if test $installed = yes 
then
  cppflags="-I$pkgincludedir  -I/usr/include/libxml2 -I/usr/include/tbb -I/usr/include"

  if test "$win32" = 1
  then
    ldflags="-L$bindir "
  else
    ldflags="-L$pkglibdir "
  fi 
  libs="-lOT -lOTbind "
  swigflags="-I$pkgswigdir "
else
  cppflags=`echo '' | sed -e 's/\$(\([^)]*\))/${\1}/g'`
  ldflags=`echo '' | sed -e 's/\$(\([^)]*\))/${\1}/g'`
  libs=`echo '' | sed -e 's/\$(\([^)]*\))/${\1}/g'`
fi

CC="/usr/bin/gcc"
CXX="/usr/bin/g++"
F77="/usr/bin/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
