#!/bin/bash
#/****************************************************************************
#**  CUBE        http://www.scalasca.org/                                   **
#**  SCALASCA    http://www.scalasca.org/                                   **
#*****************************************************************************
#**  Copyright (c) 2011-2011                                                **
#**  Forschungszentrum Juelich, Juelich Supercomputing Centre               **
#**                                                                         **
#**  See the file COPYRIGHT in the package base directory for details       **
#****************************************************************************/
CUBE_EXTENSION="cubex"


CUBE_INSTALL_DIR="/home/psaviank/Soft/CUBE4/branches/RB-4.1/vpath/_install"

WITH_JAVA_READER="yes"
if test "x$WITH_JAVA_READER" = "xyes"; then
XERCES_JAR="/usr/share/java/xercesImpl.jar" 
JCUBER_JAR=$CUBE_INSTALL_DIR/lib/CubeReader.jar
fi



CUBE_DIR_HEADERS="$CUBE_INSTALL_DIR/include/cube"
CUBE_HEADERS_DIR="$CUBE_DIR_HEADERS"
CUBE_HEADERS_INCLUDE=""

for i in $CUBE_HEADERS_DIR; do
CUBE_HEADERS_INCLUDE="$CUBE_HEADERS_INCLUDE -I$i"
done

source $CUBE_INSTALL_DIR/bin/cube-config-frontend
source $CUBE_INSTALL_DIR/bin/cube-config-backend


PATCH=

function run_cases
{
    case "$1" in
    --writer-cppflags)
        echo -n "-I$CUBE_INSTALL_DIR/include/cubew"
        ;;
    --writer-ldflags)
        if test "x$2" = "x--backend"; then
            echo -n "-L$CUBE_INSTALL_DIR$CUBE_BACKEND_LIB_DIR"
        else
            echo -n "-L$CUBE_INSTALL_DIR/lib"
        fi
        ;;
    --writer-libs)
        echo -n "-lcube4w -lcubewriter4"
        ;;

    --reader-cppflags)
        echo -n "-I$CUBE_INSTALL_DIR/include/cube $FRONTEND_LIBZ_HEADERS"
        ;;
    --reader-ldflags)
        # reader gets build on the frontend only.
        echo -n "-L$CUBE_INSTALL_DIR/lib"
        ;;
    --reader-libs)
        echo -n "-lcube4 $FRONTEND_LIBZ_LD -lm"
        ;;
    --reader-cxx)
        echo -n "$FRONTEND_CXX"
        ;;
    --interface-version)
        echo -n "$LIBRARY_INTERFACE_VERSION"
        ;;

    --name)
#undocumented option, used in configurations scripts to check presence of previous cube installations
        echo -n "CUBE" 
        ;;
    --version)
        echo -n "$NAME $VERSION $CODENAME (rev. $REVISION) " 
        ;;
    --cube-extension)
        echo -n "$CUBE_EXTENSION"
        ;;
    --cube-dir)
        echo -n "$CUBE_INSTALL_DIR"
        ;;



    --cube-cxxflags)
        echo -n "$CUBE_CXXFLAGS"
        ;;
    --cube-ldflags)
        echo -n "$CUBE_LDFLAGS"
        ;;
    --cube-library)
        echo -n "$CUBE_LIBRARY"
        ;;
    --cube-shared_library)
        echo -n "$CUBE_SHARED_LIBRARY"
        ;;
    --cube-shared-ldflags)
        echo -n "$CUBE_SHLDFLAGS"
        ;;


    --cubew-dir)
        echo -n "$BACKEND_CUBEW_LIBS_DIR"
        ;;
    --cubew-cxxflags)
        echo -n "$BACKEND_CUBEW_CXXFLAGS $BACKEND_CUBE_WRITER_CXXFLAGS $BACKEND_APP_CUBEW_CFLAGS"
        ;;
    --cubew-ldlib)
        echo -n "$BACKEND_CUBEW_LD_LIB $BACKEND_CUBE_WRITER_LD_LIB $BACKEND_APP_CUBEW_LDFLAGS "
        ;;
    --cubew-ldflags)
        echo -n "$BACKEND_CUBEW_LDFLAGS $BACKEND_CUBE_WRITER_LDFLAGS  $BACKEND_APP_ADD_LDFLAGS "
        ;;
    --cubew-library)
        echo -n "$BACKEND_CUBEW_LIBRARY"
        ;;
    --cubew-writer-library)
        echo -n "$BACKEND_CUBEW_WRITER_LIBRARY"
        ;;
    --cubew-shared-library)
        echo -n "$BACKEND_CUBEW_SHARED_LIBRARY"
        ;;
    --cubew-shared-ldflags)
        echo -n "$BACKEND_CUBEW_SHLDFLAGS"
        ;;

    --backend-cubew-dir)
        echo -n "$BACKEND_CUBEW_LIBS_DIR"
        ;;
    --backend-cubew-cxxflags)
        echo -n "$BACKEND_CUBEW_CXXFLAGS $BACKEND_CUBE_WRITER_CXXFLAGS $BACKEND_APP_CUBEW_CFLAGS"
        ;;
    --backend-cubew-ldlib)
        echo -n "$BACKEND_CUBEW_LD_LIB $BACKEND_CUBE_WRITER_LD_LIB $BACKEND_APP_CUBEW_LDFLAGS "
        ;;
    --backend-cubew-ldflags)
        echo -n "$BACKEND_CUBEW_LDFLAGS $BACKEND_CUBE_WRITER_LDFLAGS  $BACKEND_APP_ADD_LDFLAGS "
        ;;
    --backend-cubew-library)
        echo -n "$BACKEND_CUBEW_LIBRARY"
        ;;
    --backend-cubew-writer-library)
        echo -n "$BACKEND_CUBEW_WRITER_LIBRARY"
        ;;
    --backend-cubew-shared-library)
        echo -n "$BACKEND_CUBEW_SHARED_LIBRARY"
        ;;
    --backend-cubew-shared-ldflags)
        echo -n "$BACKEND_CUBEW_SHLDFLAGS"
        ;;


    --frontend-cubew-dir)
        echo -n "$FRONTEND_CUBEW_LIBS_DIR"
        ;;
    --frontend-cubew-cxxflags)
        echo -n "$FRONTEND_CUBEW_CXXFLAGS $FRONTEND_CUBE_WRITER_CXXFLAGS $FRONTEND_APP_CUBEW_CFLAGS"
        ;;
    --frontend-cubew-ldlib)
        echo -n "$FRONTEND_CUBEW_LD_LIB $FRONTEND_CUBE_WRITER_LD_LIB $FRONTEND_APP_CUBEW_LDFLAGS "
        ;;
    --frontend-cubew-ldflags)
        echo -n "$FRONTEND_CUBEW_LDFLAGS $FRONTEND_CUBE_WRITER_LDFLAGS $FRONTEND_APP_ADD_LDFLAGS "
        ;;
    --frontend-cubew-library)
        echo -n "$FRONTEND_CUBEW_LIBRARY"
        ;;
    --frontend-cubew-writer-library)
        echo -n "$FRONTEND_CUBEW_WRITER_LIBRARY"
        ;;
    --frontend-cubew-shared-library)
        echo -n "$FRONTEND_CUBEW_SHARED_LIBRARY"
        ;;
    --frontend-cubew-shared-ldflags)
        echo -n "$FRONTEND_CUBEW_SHLDFLAGS"
        ;;

    --frontend-app-cubew-ldflags)
        echo -n "$FRONTEND_APP_CUBEW_LDFLAGS"
        ;;
    --frontend-app-cube-ldflags)
        echo -n "$FRONTEND_APP_CUBE_LDFLAGS"
        ;;
    --frontend-app-cubew-cxxflags)
        echo -n "$FRONTEND_APP_CUBEW_CXXFLAGS"
        ;;
    --frontend-app-cube-cxxflags)
        echo -n "$FRONTEND_APP_CUBE_CXXFLAGS"
        ;;
    --frontend-add-ldflags)
        echo -n "$FRONTEND_APP_ADD_LDFLAGS"
        ;;
    --frontend-add-cxxflags)
        echo -n "$FRONTEND_APP_ADD_CXXFLAGS"
        ;;

    --backend-app-cubew-ldflags)
        echo -n "$BACKEND_APP_CUBEW_LDFLAGS"
        ;;
    --backend-app-cube-ldflags)
        echo -n "$BACKEND_APP_CUBE_LDFLAGS"
        ;;
    --backend-app-cubew-cxxflags)
        echo -n "$BACKEND_APP_CUBEW_CXXFLAGS"
        ;;
    --backend-app-cube-cxxflags)
        echo -n "$BACKEND_APP_CUBE_CXXFLAGS"
        ;;
    --backend-add-ldflags)
        echo -n "$BACKEND_APP_ADD_LDFLAGS"
        ;;
    --backend-add-cxxflags)
        echo -n "$BACKEND_APP_ADD_CXXFLAGS"
        ;;

    --app-cubew-ldflags)
        echo -n "$BACKEND_APP_CUBEW_LDFLAGS"
        ;;
    --app-cube-ldflags)
        echo -n "$BACKEND_APP_CUBE_LDFLAGS"
        ;;
    --app-cubew-cxxflags)
        echo -n "$BACKEND_APP_CUBEW_CXXFLAGS"
        ;;
    --app-cube-cxxflags)
        echo -n "$BACKEND_APP_CUBE_CXXFLAGS"
        ;;
    --add-ldflags)
        echo -n "$BACKEND_APP_ADD_LDFLAGS"
        ;;
    --add-cxxflags)
        echo -n "$BACKEND_APP_ADD_CXXFLAGS"
        ;;

    --cubeqt-dir)
        echo -n "$CUBE_FOR_QT_INCLUDE"
        ;;
    --cubeqt-lib)
        echo -n "$CUBE_FOR_QT_LIBRARY"
        ;;
    --cube-remap)
        echo -n "$CUBE_REMAPPER"
        ;;
    --cube-merge)
        echo -n "$CUBE_MERGE"
        ;;
    --cube-score)
        echo -n "$CUBE_SCORE"
        ;;
    --cube-gui)
        echo -n "$CUBE_GUI"
        ;;
    --classpath)
        echo -n "$JCUBER_JAR:$XERCES_JAR"
        ;;
    "" | --help)
	echo "cube-config  options"
	echo "options are:"
	echo "      --version                 : Returns the version of CUBE"
	echo "      --cube-extension          : Returns the extension for the CUBE report (or its anchor file)"
	echo "      --cube-dir                : Returns the directory with the CUBE library"
	echo "      --cube-cxxflags           : Returns compilation flags for CUBE library"
	echo "      --cube-ldflags            : Returns linking flags for CUBE library"
	echo "      --cube-library            : Returns full path to the CUBE library"
	echo "      --cube-shared-ldflags     : Returns flags to create CUBE library as a shared object"
	echo "      --cube-shared-library     : Returns full path to the CUBE shared library "
	echo "                                  (it might be missing, if not created during installation)"	
	echo "      --cubew-dir               : Returns the directory with the CUBE C-writer "
	echo "      --cubew-cxxflags          : Returns compilation flags for CUBE C-writer "
	echo "      --cubew-ldflags           : Returns linking flags for CUBE C-writer "
	echo "      --cubew-library           : Returns full path to the CUBE C-writer"
	echo "      --cubew-shared-ldflags    : Returns flags to create CUBE C-writer  as a shared object"
	echo "      --cubew-shared-library    : Returns full path to the CUBE shared C-writer"	
	echo "                                  (it might be missing, if not created during installation)"	
	echo "      --cubeqt-dir              : Returns path to the CUBE4 GUI"
	echo "      --cubeqt-lib              : Returns pathes to compile the CUBE4 GUI"
	echo "      --cube-remap              : Returns the name of the CUBE \"remap\" tool"
	echo "      --cube-merge              : Returns the name of the CUBE \"merge\" tool"
	echo "      --cube-score              : Returns the name of the CUBE \"score\" tool"
	echo "      --cube-gui                : Returns the name of the CUBE GUI"
	if test "x$WITH_JAVA_READER" = "xyes"; then 
	echo "      --classpath               : Returns the path to the CubeReader.jar to be used in java application"
	fi
	;;
   esac
}



run_cases $1



