#!/bin/sh
#
# Usage: set-version <executable>
# Read the version information from ./patchlevel.h and set the BeOS
# versionflags of <executable> accordingly.

#--------------------------------------------------------------------------
#                         ---------- MAIN ----------

if [ $# -ne 1 ]; then
    cat << __USAGE__
Usage: set-version <executable>
  Read the version information from ./patchlevel.h and set the BeOS
  versionflags of <executable> accordingly.
__USAGE__
    exit 1;
fi

# Determine the version variables
reldate=$(sed -e 's/#define RELEASE_DATE ".*, \(..\) \(...\) \(....\) .*/\1. \2 \3/p' -e D patchlevel.h)
reldatedash=$(sed -e 's/#define RELEASE_DATE ".*, \(..\) \(...\) \(....\) .*/\1-\2-\3/p' -e D patchlevel.h)
projversion=$(sed -e 's/#define PROJ_VERSION "\(.*\)"/\1/p' -e D patchlevel.h)
version_major=$(sed -e 's/#define VERSION_MAJOR "\(.*\)"/\1/p' -e D patchlevel.h)
version_minor=$(sed -e 's/#define VERSION_MINOR "\(.*\)"/\1/p' -e D patchlevel.h)
version_micro=$(sed -e 's/#define VERSION_MICRO "\(.*\)"/\1/p' -e D patchlevel.h)
version_patch=$(sed -e 's/#define VERSION_PATCH "\(.*\)"/\1/p' -e D patchlevel.h)
release_type=$(sed -e 's/#define RELEASE_TYPE "\(.*\)"/\1/p' -e D patchlevel.h)

if [ $((${version_minor} % 2)) -eq 0 ]; then

    # --- Stable versions ---

    setverflags="-app $version_major $version_minor $version_micro"

    if [ "${release_type}" = "rel" ]; then
        #  --- Stable version ---
          setverflags="${setverflags} f"
          vstring="${version_major}.${version_minor}.${version_micro}"
    fi 

    if [ "${release_type}" = "pre" ]; then
        #  --- Pre-release version ---
          setverflags="${setverflags} d ${version_patch}"
          vstring="${version_major}.${version_minor}.${version_micro}-pre.${version_patch}"
    fi 

    if [ "${release_type}" = "dev" ]; then
        #  --- Current version ---
          setverflags="${setverflags} d ${version_patch}"
          vstring="${version_major}.${version_minor}.${version_micro}-dev.${version_patch}"
    fi 

else

    # --- Development Versions ---

    setverflags="-app ${version_major} ${version_minor} ${version_patch}"
    setverflags="${setverflags} f"
    vstring="${version_major}.${version_minor}.${version_patch}"

fi

# Do it

echo "setversion $1 ${setverflags} -short \"${vstring}\" -long \"LDMud ${vstring} - a LPMud Gamedriver\""
setversion $1 ${setverflags} -short "${vstring}" -long "LDMud ${vstring} - a LPMud Gamedriver"

exit 0
