Move configure logic that checks for SVN revision to its own file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6001 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
parent
4dd7092726
commit
680064b42c
@ -2,6 +2,9 @@
|
||||
|
||||
* autogen.sh, configure.ac:
|
||||
Modernize configure.ac a bit.
|
||||
* configure.ac, m4/geany-revision.m4:
|
||||
Extract some configure logic to a separate file for better
|
||||
readability.
|
||||
|
||||
|
||||
2011-10-05 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
|
||||
|
@ -87,7 +87,7 @@ test -d build-aux || mkdir build-aux
|
||||
echo "no" | glib-gettextize --force --copy
|
||||
intltoolize --copy --force --automake
|
||||
libtoolize --copy --force || glibtoolize --copy --force
|
||||
aclocal
|
||||
aclocal -I m4
|
||||
autoheader
|
||||
automake --add-missing --copy --gnu
|
||||
autoconf
|
||||
|
38
configure.ac
38
configure.ac
@ -50,42 +50,8 @@ AC_CHECK_FUNCS([gethostname ftruncate fgetpos mkstemp strerror strstr])
|
||||
|
||||
|
||||
# check for SVN revision
|
||||
REVISION="r0"
|
||||
|
||||
AC_MSG_CHECKING([for SVN revision])
|
||||
# try Git first
|
||||
GIT=`which git 2>/dev/null`
|
||||
if test -d ".git" -a "x${GIT}" != "x" -a -x "${GIT}"
|
||||
then
|
||||
# check for git-svn repo first - find-rev (v1.5.4.1) doesn't always fail with git-only repo
|
||||
git svn info &>/dev/null
|
||||
if test "x$?" == "x0"; then
|
||||
REVISION=r`git svn find-rev origin/trunk 2>/dev/null ||
|
||||
git svn find-rev trunk 2>/dev/null ||
|
||||
git svn find-rev HEAD 2>/dev/null ||
|
||||
git svn find-rev master 2>/dev/null ||
|
||||
echo 0`
|
||||
fi
|
||||
fi
|
||||
# then check for SVN
|
||||
if test "x${REVISION}" = "xr0"
|
||||
then
|
||||
SVN=`which svn 2>/dev/null`
|
||||
if test -d ".svn" -a "x${SVN}" != "x" -a -x "${SVN}"
|
||||
then
|
||||
REVISION=r`$SVN info|grep 'Last Changed Rev'|cut -d' ' -f4`
|
||||
fi
|
||||
fi
|
||||
if test "x${REVISION}" != "xr0"
|
||||
then
|
||||
# force debug mode for a SVN working copy
|
||||
CFLAGS="-g -DGEANY_DEBUG $CFLAGS"
|
||||
AC_MSG_RESULT([$REVISION])
|
||||
else
|
||||
REVISION="-1"
|
||||
AC_MSG_RESULT([none])
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([REVISION], "$REVISION", [subversion revision number])
|
||||
GEANY_CHECK_REVISION([dnl force debug mode for a SVN working copy
|
||||
CFLAGS="-g -DGEANY_DEBUG $CFLAGS"])
|
||||
|
||||
|
||||
# Check for binary relocation support
|
||||
|
45
m4/geany-revision.m4
Normal file
45
m4/geany-revision.m4
Normal file
@ -0,0 +1,45 @@
|
||||
dnl GEANY_CHECK_REVISION([action-if-found], [action-if-not-found])
|
||||
dnl Check for the Git-SVN or SVN revision and set REVISION to
|
||||
dnl "r<revnum>" or to "-1" if the revision can't be found
|
||||
dnl Also AC_DEFINEs REVISION
|
||||
AC_DEFUN([GEANY_CHECK_REVISION],
|
||||
[
|
||||
REVISION="r0"
|
||||
|
||||
AC_MSG_CHECKING([for SVN revision])
|
||||
# try Git first
|
||||
GIT=`which git 2>/dev/null`
|
||||
if test -d ".git" -a "x${GIT}" != "x" -a -x "${GIT}"; then
|
||||
# check for git-svn repo first - find-rev (v1.5.4.1) doesn't always fail with git-only repo
|
||||
git svn info &>/dev/null
|
||||
if test "x$?" == "x0"; then
|
||||
REVISION=r`git svn find-rev origin/trunk 2>/dev/null ||
|
||||
git svn find-rev trunk 2>/dev/null ||
|
||||
git svn find-rev HEAD 2>/dev/null ||
|
||||
git svn find-rev master 2>/dev/null ||
|
||||
echo 0`
|
||||
fi
|
||||
fi
|
||||
# then check for SVN
|
||||
if test "x${REVISION}" = "xr0"; then
|
||||
SVN=`which svn 2>/dev/null`
|
||||
if test -d ".svn" -a "x${SVN}" != "x" -a -x "${SVN}"; then
|
||||
REVISION=r`$SVN info|grep 'Last Changed Rev'|cut -d' ' -f4`
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x${REVISION}" != "xr0"; then
|
||||
AC_MSG_RESULT([$REVISION])
|
||||
|
||||
# call action-if-found
|
||||
$1
|
||||
else
|
||||
REVISION="-1"
|
||||
AC_MSG_RESULT([none])
|
||||
|
||||
# call action-if-not-found
|
||||
$2
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([REVISION], "$REVISION", [subversion revision number])
|
||||
])
|
Loading…
x
Reference in New Issue
Block a user