Permalink
Browse files

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
  • Loading branch information...
1 parent 4dd7092 commit 680064b42c29d0abf6f517bf9ddd5a6a27d64fa5 @b4n b4n committed Oct 6, 2011
Showing with 51 additions and 37 deletions.
  1. +3 −0 ChangeLog
  2. +1 −1 autogen.sh
  3. +2 −36 configure.ac
  4. +45 −0 m4/geany-revision.m4
View
@@ -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>
View
@@ -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
View
@@ -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
View
@@ -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])
+])

0 comments on commit 680064b

Please sign in to comment.