#!/bin/sh
#
# This file is part of Rheolef.
#
# Copyright (C) 2000-2009 Pierre Saramito 
#
# Rheolef is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# Rheolef is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Rheolef; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# --------------------------------------------------------------------------

#Prog:rheolef-config
#NAME: @code{rheolef-config} -- get installation directories
#@pindex rheolef-config
#@cindex installing
#@cindex configure
#@cindex Makefile
#EXAMPLE: 
#@noindent
#  The following command returns the rheolef libraries directory:
#@example
#	rheolef-config --libdir
#@end example
#@noindent
#  An environment sanity check writes:
#@example
#	rheolef-config --check
#@end example
#DESCRIPTION:       
#  @noindent
#  This command is usefull when linking executables with rheolef:
#  libraries locations are required by the link editor.
#  Such directories are defined while configuring rheolef,
#  before to compile and install @pxref{Installing}.
#  The @code{rheolef-config} command returns
#  these settings.
#
#  @noindent
#  Note that @code{rheolef-config} could be used in Makefiles
#  for the determination of linker flags.
#
#@toindex hpux, operating system
#  @noindent
#  Another usefull feature is the @code{--check} option.
#  When @code{rheolef} is installed in a user directory,
#  i.e. not as root, the sane run-time environment depends
#  upon two environment variables. The first one is the
#  PATH: @code{bkindir} directory may be present in PATH.
#  The second environment variable is related to shared
#  libraries, and its name is system-dependent, e.g.
#  LD_LIBRARY_PATH on most platforms and SHLIB_PATH on HP-UX.
#  Its content may contains @code{bindir}.
#@example
#	rheolef-config --shlibpath-var
#@end example
#@cindex environment sanity check writes
#  @noindent
#  Since it is a common mistake to have incorrect values
#  for these variable, for novice users or for adanced ones,
#  especialy when dealing with several
#  installed versions, the environment sanity check writes:
#@example
#	rheolef-config --check
#@end example
#  @noindent
#  If there is mistakes, a hint is suggested to fix it
#  and the return status is 1. Instead, the return status is 0.
#FILE OPTIONS:
#@table @code
#@itemx --version
#	rheolef version.
#@itemx --help
#	print option summary and exit.
#@itemx --prefix
#	install architecture-independent files location.
#@itemx --exec-prefix
#  	architecture-dependent files location.
#@itemx --includedir
#  	include header directory.
#@itemx --bindir
#  	executables directory.
#@itemx --mandir
#  	man documentation directory.
#@itemx --libdir
#  	object code libraries directory.
#@itemx --datadir
#@itemx --datarootdir
#  	read-only architecture-independent data location.
#@itemx --pkgdatadir
#  	read-only architecture-independent data location; specific for package.
#@itemx --includes
#  	include compiler flags.
#@itemx --libs
#  	library compiler flags.
#@itemx --shlibpath-var
#  	the shared library path variable.
#@itemx --library-interface-version
#  	the library interface version.
#@itemx --hardcode-libdir-flag-spec
#       flag to hardcode a libdir into a binary during linking.
#@itemx --is-distributed
#       true or false: whether it is the distributed version.
#@itemx --have-old-code
#@itemx --have-new-code
#       true or false: whether it is the new/old code branch that is installed.
#@end table
#
#DATE:
#    20 january 2000
#END:

version=6.1
prefix=/usr
exec_prefix=/usr
bindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
pkglibdir=${exec_prefix}/lib/rheolef
datadir=${prefix}/share
datarootdir=${prefix}/share
mandir=/usr/share/man
includedir=${prefix}/include
docdir=/usr/share/doc/rheolef-doc
exampledir=$docdir/examples
includes=" -std=c++11 -Wall -Wno-unused -Werror -Wno-strict-aliasing -O2   -pthread -I/usr/lib/openmpi/include       -I${prefix}/include -I${exec_prefix}/lib"
libs="-L${exec_prefix}/lib -lrheolef -lCGAL_Core -lCGAL -lboost_thread -lgmp    -lptscotchparmetis -lptscotch -lptscotcherrexit -lscotch -lscotcherrexit  -llapack -lblas  -lboost_mpi -lboost_serialization -pthread -L/usr/lib/openmpi/lib -lmpi_cxx -lmpi_f77 -lmpi -lopen-rte -lopen-pal     -Wl,-rpath -Wl,/usr/lib"
ldadd="${exec_prefix}/lib/librheolef.la -lCGAL_Core -lCGAL -lboost_thread -lgmp    -lptscotchparmetis -lptscotch -lptscotcherrexit -lscotch -lscotcherrexit  -llapack -lblas  -lboost_mpi -lboost_serialization -pthread -L/usr/lib/openmpi/lib -lmpi_cxx -lmpi_f77 -lmpi -lopen-rte -lopen-pal     -Wl,-rpath -Wl,/usr/lib"
library_interface_version=6.1
shlibpath_var="LD_LIBRARY_PATH"
hardcode_libdir_flag_spec="-Wl,-rpath -Wl,/usr/lib"
use_distributed="true"
use_new_code="true"
if test x"$use_new_code" = x"true"; then
  use_old_code="false"
else
  use_old_code="true"
fi

usage="rheolef-config
	[--version
	| --help
	| --prefix
	| --exec-prefix
	| --includedir
	| --bindir
	| --libdir
	| --docdir
	| --exampledir
	| --mandir
	| --pkglibdir
	| --datadir
	| --datarootdir
	| --pkgdatadir
	| --includes
	| --libs
	| --ldadd
	| --shlibpath-var
	| --library-interface-version
	| --hardcode-libdir-flag-spec
	| --is-distributed
	| --have-new-code
	| --have-old-code
	| --check]
"

if test $# -eq 0; then
  echo ${usage} >&2
  exit 0
fi

while test $# -ne 0; do
  case $1 in
  --version) echo ${version};;
  --help) echo ${usage} >&2; exit 0;;
  --prefix) echo ${prefix};;
  --exec-prefix) echo ${exec_prefix};;
  --libdir) echo ${libdir};;
  --pkglibdir) echo ${pkglibdir};;
  --bindir) echo ${bindir};;
  --docdir) echo ${docdir};;
  --exampledir) echo ${exampledir};;
  --mandir) echo ${mandir};;
  --datadir) echo ${datarootdir};;
  --datarootdir) echo ${datarootdir};;
  --pkgdatadir) echo ${datarootdir}/rheolef;;
  --includedir) echo ${includedir};;
  --includes) echo ${includes};;
  --libs) echo ${libs};;
  --ldadd) echo ${ldadd};;
  --shlibpath-var) echo ${shlibpath_var};;
  --library-interface-version) echo ${library_interface_version};;
  --hardcode-libdir-flag-spec) echo ${hardcode_libdir_flag_spec};;
  --is-distributed) echo ${use_distributed};;
  --have-new-code) echo ${use_new_code};;
  --have-old-code) echo ${use_old_code};;
  --check) /bin/sh ${datadir}/rheolef/check-shlibpath_var.sh \
  		${shlibpath_var} ${libdir} ${bindir};;
  *) echo ${usage} >&2; exit 1;;
  esac
  shift
done

