Add --with-build-number configure argument and support in debian/rules.
authorBen Pfaff <blp@nicira.com>
Fri, 7 Nov 2008 01:26:42 +0000 (17:26 -0800)
committerBen Pfaff <blp@nicira.com>
Fri, 7 Nov 2008 17:22:05 +0000 (09:22 -0800)
debian/rules
m4/nx-build.m4

index a9c3717..705f83f 100755 (executable)
@@ -29,6 +29,9 @@ MA_DIR ?= /usr/share/modass
 
 DATAPATH_CONFIGURE_OPTS = --enable-snat
 
+# Official build number.  Leave set to 0 if not an official build.
+BUILD_NUMBER = 0
+
 configure: configure-stamp
 configure-stamp:
        dh_testdir
@@ -37,6 +40,7 @@ configure-stamp:
        cd _debian && ( \
                test -e Makefile || \
                ../configure --prefix=/usr --localstatedir=/var --enable-ssl \
+                       --with-build-number=$(BUILD_NUMBER) \
                        $(DATAPATH_CONFIGURE_OPTS))
        $(ext_configure)
        touch configure-stamp
index d6becf4..d681cec 100644 (file)
 # advertising or publicity pertaining to the Software or any
 # derivatives without specific, written prior permission.
 
-dnl NX_BUILDNR([NUMBER])
+dnl NX_BUILDNR
 dnl
-dnl If NUMBER is empty, substitutes BUILDNR with 0 and sets C
-dnl preprocessor variable BUILDNR to "".
+dnl If --with-build-number=NUMBER is used, substitutes a Makefile
+dnl variable BUILDNR with NUMBER, and sets a C preprocessor variable
+dnl BUILDNR to "+buildNUMBER".
 dnl
-dnl If NUMBER is nonempty, substitutes a Makefile variable BUILDNR
-dnl with NUMBER, and sets a C preprocessor variable BUILDNR to
-dnl "+buildNUMBER".
+dnl Otherwise, if --with-build-number is not used, substitutes BUILDNR
+dnl with 0 and sets C preprocessor variable BUILDNR to "".
 AC_DEFUN([NX_BUILDNR],
-  [AC_SUBST([BUILDNR], 
-            [m4_if([$1], [], [0], [$1])])
-   AC_DEFINE([BUILDNR],
-             [m4_if([$1], [], [""], ["+build$1"])], 
-             [Official build number.])])
+  [AC_ARG_WITH(
+     [build-number],
+     [AS_HELP_STRING([--with-build-number=NUMBER],
+                     [Official build number (default is none)])])
+   AC_MSG_CHECKING([build number])
+   case $with_build_number in # (
+     [[0-9]] | \
+     [[0-9]][[0-9]] | \
+     [[0-9]][[0-9]][[0-9]] | \
+     [[0-9]][[0-9]][[0-9]][[0-9]] | \
+     [[0-9]][[0-9]][[0-9]][[0-9]][[0-9]])
+       BUILDNR=$with_build_number
+       buildnr='"+build'$BUILDNR'"'
+       AC_MSG_RESULT([$with_build_number])
+       ;; # (
+     ''|no)
+       BUILDNR=0
+       buildnr='""'
+       AC_MSG_RESULT([none])
+       ;; # (
+     *)
+       AC_MSG_ERROR([invalid build number $with_build_number])
+       ;;
+   esac
+   AC_SUBST([BUILDNR])
+   AC_DEFINE_UNQUOTED([BUILDNR], [$buildnr],
+     [Official build number as a VERSION suffix string, e.g. "+build123",
+      or "" if this is not an official build.])])