dot/lisp-init.lisp: Add missing Emacs header.
[profile] / bin / mdw-build
index e31561d..eff2c00 100755 (executable)
@@ -84,6 +84,7 @@ default_depends () {
 : ${vpath=yes}
 : ${native=yes}
 : ${make=make}
+: ${test=yes}
 default_depends sbuild sbuildsrv
 default_depends sign signkey
 default_depends upload uploadpath
@@ -112,6 +113,7 @@ Build options:
   [no]vpath
   [no]sbuild[=SERVER]
   [no]sign[=KEYID]
+  [no]test
   [no]native
   make=MAKE
 EOF
@@ -155,11 +157,11 @@ for opt; do
     dput=*)    dput=yes dputtarget=${opt#*=} ;;
     make=*)    make=${opt#*=} ;;
 
-    distcheck | debian | clean | vpath | native)
+    distcheck | debian | clean | vpath | native | test)
       eval "$opt=yes"
       ;;
     nocheckout | nosetup | nodistcheck | nodebian | \
-      noupload | nodput | noclean | novpath | nonative | \
+      noupload | nodput | noclean | novpath | nonative | notest | \
       nosbuild | nosign )
       eval "${opt#no}=no"
       ;;
@@ -176,6 +178,7 @@ set -- $DEB_BUILD_OPTIONS
 for opt; do
   case "$opt" in
     parallel=*) jobs=${opt#*=} ;;
+    nocheck) test=no ;;
   esac
 done
 
@@ -242,6 +245,17 @@ yesno () {
 ###--------------------------------------------------------------------------
 ### Do the building.
 
+## Some preflight checks.
+case $test,$build in
+  no,release) fail "refusing to make release build without testing" ;;
+esac
+case $test,$distcheck in
+  no,yes)
+    info "forcing \`distcheck' off because tsting disabled"
+    distcheck=no
+    ;;
+esac
+
 ## Find the top-level package directory.
 while [ ! -f configure.ac -a ! -f configure.in -a \
        ! -f .links -a ! -d .git ]; do
@@ -444,6 +458,13 @@ EOF
        fi
        ;;
     esac
+    case "$sbuild,$test, $DEB_BUILD_OPTIONS " in
+      yes,no,*) sbuildargs="-T $sbuildargs" ;;
+      *" nocheck "*) ;;
+      no,no,*)
+       DEB_BUILD_OPTIONS=${DEB_BUILD_OPTIONS+"$DEB_BUILD_OPTIONS nocheck"}
+       ;;
+    esac
     case $sbuild,$build,$sign in
       yes,*) run mdw-sbuild $sbuildargs ;;
       no,release,yes) run dpkg-buildpackage -k$signkey ;;