#!/bin/sh

LIBS="-L/usr/lib -lpastix -lgfortran -lm -lrt -L/usr/lib -lptscotch -lscotch -lptscotcherrexit -L/usr/lib -lhwloc -lpthread";
INC="-I/usr/include";
CC="mpicc -Wall";
CXX="mpic++ -Wall"
CCOPT="-O3 -fPIC -DINTSSIZE64  -DCUDA_SM_VERSION=20 -I/usr/include/scotch -DDISTRIBUTED -DWITH_SCOTCH -I/usr/include/hwloc -DWITH_HWLOC  -DVERSION='5.2.2.22' -DX_ARCHi686_pc_linux -DDOF_CONSTANT";
CXXOPT="-O3";
CL="mpicc -Wall";
FC="mpif90 -ffree-form -x f95-cpp-input";
FCOPT="";
FL="mpif90 ";
OPTS="-DINTSSIZE64  -DPREC_DOUBLE  -DCUDA_SM_VERSION=20 -I/usr/include/scotch -DDISTRIBUTED -DWITH_SCOTCH -I/usr/include/hwloc -DWITH_HWLOC";
BLAS="-lblas";
VERSION="5.2.2.22";
LIBS_MURGE=`echo $LIBS | sed -e 's/-lpastix/-lpastix_murge -lpastix/g'`

usage="usage : $0 [options] - Shows PaStiX libs, includes and compiler\n";
usage="$usage    options : \n";
usage="$usage        --libs               - prints librairies\n";
usage="$usage        --libs_murge         - prints librairies\n";
usage="$usage        --incs               - prints includes\n";
usage="$usage        --cc                 - prints C compiler\n";
usage="$usage        --ccopts             - prints C compiler options\n";
usage="$usage        --cxx                - prints C++ compiler\n";
usage="$usage        --cxxcopts           - prints C++ compiler options\n";
usage="$usage        --cl                 - prints C linker\n";
usage="$usage        --fc                 - prints fortran compiler\n";
usage="$usage        --fcopts             - prints fortran compiler options\n";
usage="$usage        --fl                 - prints fortran linker\n";
usage="$usage        --opts               - prints PaStiX compiling options\n";
usage="$usage        --vers               - prints PaStiX version\n";
usage="$usage        --blas               - prints blas choosen in config.in\n";

if [ $# = 0 ]
then
    echo "Librairies               : $LIBS" ;
    echo "Librairies with murge    : $LIBS_MURGE";
    echo "Incs                     : $INC" ;
    echo "C Compiler               : $CC" ;
    echo "C Compiler options       : $CCOPT" ;
    echo "C++ Compiler             : $CXX" ;
    echo "C++ Compiler options     : $CXXOPT" ;
    echo "Fortran Compiler         : $FC" ;
    echo "Fortran Compiler options : $FCOPT" ;
    echo "C Linker                 : $CL" ;
    echo "Fortran Linker           : $FL" ;
    echo "Options                  : $OPTS" ;
    echo "Version                  : $VERSION" ;
    echo "Blas                     : $BLAS" ;
elif [ $# = 1 ]
then
    case $1 in
        --libs)
            echo $LIBS;;
        --libs_murge)
            echo $LIBS_MURGE;;
        --incs)
            echo $INC;;
        --cc)
            echo $CC;;
        --ccopts)
            echo $CCOPT;;
        --cxx)
            echo $CXX;;
        --cxxopts)
            echo $CXXOPT;;
        --fc)
            echo $FC;;
        --fcopts)
            echo $FCOPT;;
        --cl)
            echo $CL;;
        --fl)
            echo $FL;;
        --opts)
            echo $OPTS;;
        --blas)
            echo $BLAS;;
        --vers)
            echo $VERSION;;

        *)
            echo -e $usage
    esac;
else
    echo -e $usage
fi;
