#!/bin/sh

GREP=${GREP:-grep}

if test ! -f include/asterisk/buildopts.h ; then
	echo "include/asterisk/buildopts.h is missing"
	exit 1
fi

if test ! -f .flavor ; then
    EXTRA=""
elif test ! -f .version ; then
	aadkflavor=`cat .flavor`
    EXTRA=" (${aadkflavor})"
else
    aadkver=`cat .version`
    aadkflavor=`cat .flavor`
    EXTRA=" (${aadkflavor} ${aadkver})"
fi

if ${GREP} "AST_DEVMODE" makeopts | ${GREP} -q "yes"
then
	BUILDOPTS="AST_DEVMODE"
fi

BUILDOPTS=$(sed -n -r -e 's/#define\s+AST_BUILDOPTS\s+"([^"]+)"/\1/gp' \
	include/asterisk/buildopts.h )

BUILDOPTS_ALL=$(sed -n -r -e 's/#define\s+AST_BUILDOPTS_ALL\s+"([^"]+)"/\1/gp' \
	include/asterisk/buildopts.h )

cat << END
/*
 * version.c
 * Automatically generated
 */

#include "asterisk.h"

#include "asterisk/ast_version.h"

static const char asterisk_version[] = "${ASTERISKVERSION}${EXTRA}";

static const char asterisk_version_num[] = "${ASTERISKVERSIONNUM}";

static const char asterisk_build_opts[] = "${BUILDOPTS}";

static const char asterisk_build_opts_all[] = "${BUILDOPTS_ALL}";

const char *ast_get_version(void)
{
	return asterisk_version;
}

const char *ast_get_version_num(void)
{
	return asterisk_version_num;
}

const char *ast_get_build_opts(void)
{
	return asterisk_build_opts;
}

const char *ast_get_build_opts_all(void)
{
	return asterisk_build_opts_all;
}

END