]> mj.ucw.cz Git - libucw.git/blob - build/check-customs
Rewritten Makefiles to support separated source and object trees.
[libucw.git] / build / check-customs
1 #!/bin/bash
2 # A script for testing compilability of different configurations
3 # (c) 2004--2005 Martin Mares <mj@ucw.cz>
4
5 set -e
6
7 TEST=0
8
9 function try
10 {
11         TEST=$(($TEST+1))
12         TDIR=tests/$TEST
13         mkdir $TDIR
14         echo "### Test $TEST: $@ ###" | tee $TDIR/log
15
16         CUST=$1
17         shift
18         SUBST=
19         APP="!!### Added by check-customs:"
20         while [ -n "$1" ] ; do
21                 X=$1
22                 Y=${X#!}
23                 if [ "$X" != "$Y" ] ; then
24                         SUBST="${S}/^$Y/s/^/# /;"
25                 else
26                         APP="$APP!$X"
27                 fi
28                 shift
29         done
30
31         (
32                 cd $TDIR
33                 cp -a ../../$CUST custom
34                 sed "$SUBST;p;d" <../../$CUST/config.mk >custom/config.mk
35                 echo $APP | tr ! '\n' >>custom/config.mk
36                 if ! make -f ../../Makefile s=../.. >>log 2>&1 ; then
37                         echo "  FAILED"
38                         exit 1
39                 fi
40                 echo "  PASSED"
41         )
42 }
43
44 rm -rf tests
45 mkdir tests
46 if [ -n "$1" ] ; then
47         try "$@"
48 else
49         try free                                                                        # the free version
50         try bare !CONFIG_INDEXER !CONFIG_SEARCH                                         # absolutely stripped version
51         try bare                                                                        # the bare version
52         try debug/matcher-test                                                          # bare + custom stats and matchers
53         try centrum !CONFIG_GATHERER !CONFIG_GATHERD !CONFIG_SHEPHERD !CONFIG_REAPD !CONFIG_INDEXER !CONFIG_MUX !CONFIG_WATSON  # search servers
54         try centrum !CONFIG_GATHERER !CONFIG_GATHERD !CONFIG_SHEPHERD !CONFIG_REAPD !CONFIG_MUX !CONFIG_WATSON  # indexing server
55         try centrum !CONFIG_GATHERD !CONFIG_SHEPHERD !CONFIG_INDEXER !CONFIG_SEARCH !CONFIG_MUX !CONFIG_WATSON  # reapd server
56         try centrum                                                                     # full Centrum config
57         try debug/custom CONFIG_SHARED=1                                                # debugging configuration with shared libs
58         try debug/custom                                                                # debugging configuration
59 fi