X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fiw.git;a=blobdiff_plain;f=version.sh;h=9ef607d79cf34cebbd11111afa91a2a28de74b4d;hp=90a7c7251d5dc862d567ef3add74cb76008cbbda;hb=feea0ff28c8ca01d832b8dd36af2d196fbfee772;hpb=bc66ac99d3b47cb6b91d6f0d63284e7073f5fa2d diff --git a/version.sh b/version.sh index 90a7c72..9ef607d 100755 --- a/version.sh +++ b/version.sh @@ -1,22 +1,41 @@ #!/bin/sh -VERSION="0.9.8" -OUT="version.h" +VERSION="4.7" +OUT="$1" -if head=`git rev-parse --verify HEAD 2>/dev/null`; then - git update-index --refresh --unmerged > /dev/null - descr=$(git describe) +# get the absolute path for the OUT file +OUT_NAME=$(basename ${OUT}) +OUT_DIR=$(cd $(dirname ${OUT}); pwd) +OUT="${OUT_DIR}/${OUT_NAME}" - # on git builds check that the version number above - # is correct... - [ "${descr%%-*}" = "v$VERSION" ] || exit 2 - - echo -n '#define IW_VERSION "' > "$OUT" - echo -n "${descr#v}" >> "$OUT" - if git diff-index --name-only HEAD | read dummy ; then - echo -n "-dirty" >> "$OUT" - fi - echo '"' >> "$OUT" -else -echo "#define IW_VERSION \"$VERSION-nogit\"" > "$OUT" +# the version check should be under the source directory +# where this script is located, instead of the currect directory +# where this script is excuted. +SRC_DIR=$(dirname $0) +SRC_DIR=$(cd ${SRC_DIR}; pwd) +cd "${SRC_DIR}" + +v="" +if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then + git update-index --refresh --unmerged > /dev/null + descr=$(git describe --match=v* 2>/dev/null) + if [ $? -eq 0 ]; then + # on git builds check that the version number above + # is correct... + if [ "${descr%%-*}" = "v$VERSION" ]; then + v="${descr#v}" + if git diff-index --name-only HEAD | read dummy ; then + v="$v"-dirty + fi + fi + fi +fi + +# set to the default version when failed to get the version +# information with git +if [ -z "${v}" ]; then + v="$VERSION" fi + +echo '#include "iw.h"' > "$OUT" +echo "const char iw_version[] = \"$v\";" >> "$OUT"