#!/bin/bash

LIBS="-L/usr/src/tmp/pastix-buildroot/usr/lib64 -lpastix -lgfortran -lm -lrt -Wl,-R/usr/lib64/openmpi/lib -L/usr/lib -lmetis0  -L/usr/lib -lscotch -lscotcherrexit    -L/usr/lib -lptscotch -lscotcherrexit -lpthread";
INC="-I/usr/include -I/usr/lib64/pastix/include"
CC="mpicc -Wall -g";
CCOPT="_CCOPT_";
CL="mpicc -Wall -g";
FC="mpif90 -g -ffree-form -x f95-cpp-input -pipe -Wall -fPIC -DPIC";
FCOPT="_FCOPT_";
FL="mpif90 -g ";
OPTS="-DFORCE_LONG -DLONG -DFORCE_DOUBLE -DPREC_DOUBLE   -DTHREAD_COMM -DNUMA_ALLOC -DMETIS -DWITH_SCOTCH -I/usr/include/metis0 -I/usr/src/RPM/BUILD/pastix-3725/src/common/src -I/usr/include			      -I/usr/include -DDISTRIBUTED	     ";
BLAS="-lblas";
VERSION="3725";
LIBS_MURGE=`echo $LIBS | sed -e 's/-lpastix/-lpastix_murge -lpastix/g'`

echo $OPTS | grep \\\-DDISTRIBUTED >/dev/null

if [ $? -ne 0 ]
then
    LIBS_MURGE="-DMURGE_MESSAGE=\"To use Murge interface"
    LIBS_MURGE="$LIBS_MURGE compile with -DDISTRIBUTED\"";
fi


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        --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 -n "Librairies               : " ;
    echo $LIBS;
    echo -n "Librairies with murge    : ";
    echo $LIBS_MURGE
    echo -n "Incs                     : " ;
    echo $INC;
    echo -n "C Compiler               : " ;
    echo $CC;
    echo -n "C Compiler options       : " ;
    echo $CCOPT;
    echo -n "Fortran Compiler         : " ;
    echo $FC;
    echo -n "Fortran Compiler options : " ;
    echo $FCOPT;
    echo -n "C Linker                 : " ;
    echo $CL;
    echo -n "Fortran Linker           : " ;
    echo $FL;
    echo -n "Options                  : " ;
    echo $OPTS;
    echo -n "Version                  : " ;
    echo $VERSION;
    echo -n "Blas                     : " ;
    echo $BLAS;
elif [ $# = 1 ]
then
    case $1 in
        --libs)
            echo $LIBS;;
        --libs_murge)
            echo $LIBS_MURGE;;
        --incs)
            echo $INC;;
        --cc)
            echo $CC;;
        --ccopts)
            echo $CCOPT;;
        --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;
