#!/bin/sh
# $Id: make-vg-version.in 7183 2012-11-20 15:11:13Z cher $
# Copyright (c) 2012 Alexander Chernov <cher@ejudge.ru>

# This is a version script for a generic build system.
# It supports make, ant, scons, etc...
# Compilation of a submit is directed by several
# environment variables.

LANG_CONFIG_DIR="/home/judges/compile/conf/lang.d"

common_config() {
  echo 'long_name="Make (valgrind)"'
  echo 'src_sfx=".tar"'
  echo 'arch="valgrind"'
}

failure() {
  rm -f conftest*
  echo 'version='
  echo 'arg="'"${arg}"'"'
  common_config
  echo 'MAKEPATH=/bin/false'
  [ "${verbose}" = 1 ] && echo "no" >&2
  exit 1
}

unset LANG
unset LC_ALL
unset LC_MESSAGES
unset LANGUAGE

if [ x"$1" = x-v ]
then
  verbose=1
  shift
fi

# recheck the language
if [ x"$1" = x-r ]
then
  arg="$2"

  [ "${verbose}" = 1 ] && echo -n "checking whether make is available... " >&2

  version=`make --version | grep Make | gawk '{print $3}'`
  echo 'version="'"${version}"'"'
  echo 'arg="'"${arg}"'"'
  echo 'binary=1'
  common_config
  echo 'MAKEPATH=/usr/bin/make'
  [ "${verbose}" = 1 ] && echo "yes, ${version}" >&2
  exit 0
fi

if [ x"$1" = x-l ]
then
  echo "Make (valgrind)"
  exit 0
fi

[ "${EJUDGE_LANG_CONFIG}" = "" ] && EJUDGE_LANG_CONFIG="${LANG_CONFIG_DIR}/make-vg.cfg"

if [ -f "${EJUDGE_LANG_CONFIG}" ]
then
  . "${EJUDGE_LANG_CONFIG}"
else
  MAKEPATH="/usr/bin/make"
fi

if [ x"${MAKEPATH}" = x -o x"${MAKEPATH}" = x/bin/false ]
then
  echo "This language is not supported." >&2
  exit 1
fi

if [ x"$1" = x-p ]
then
    echo "${MAKEPATH}"
    exit 0
fi

[ x"$1" = x-f ] && echo -n "Make (valgrind) "

make --version | grep Make | gawk '{print $3}'