From 9c13939e18b92199557b402cac080d35de2207a2 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 6 Nov 2008 17:26:42 -0800 Subject: [PATCH] Add --with-build-number configure argument and support in debian/rules. --- debian/rules | 4 ++++ m4/nx-build.m4 | 45 ++++++++++++++++++++++++++++++++++----------- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/debian/rules b/debian/rules index a9c3717d..705f83fa 100755 --- a/debian/rules +++ b/debian/rules @@ -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 diff --git a/m4/nx-build.m4 b/m4/nx-build.m4 index d6becf44..d681cecc 100644 --- a/m4/nx-build.m4 +++ b/m4/nx-build.m4 @@ -32,17 +32,40 @@ # 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.])]) -- 2.30.2