]> arthur.barton.de Git - netatalk.git/blob - macros/cnid-backend.m4
Deactivate CNID backends db3 and last.
[netatalk.git] / macros / cnid-backend.m4
1 AC_DEFUN([AC_NETATALK_CNID], [
2
3     dnl Don't use BDB unless it's needed
4     bdb_required=no
5     compiled_backends=""
6
7     dnl Determine whether or not to use Database Daemon CNID backend
8     AC_MSG_CHECKING([whether or not to use Database Daemon CNID backend])
9     AC_ARG_WITH(cnid-dbd-backend,
10     [  --with-cnid-dbd-backend       build CNID with Database Daemon Data Store],
11     [   if test x"$withval" = x"no"; then
12             AC_MSG_RESULT([no])
13             use_dbd_backend=no
14         else
15             use_dbd_backend=yes
16             AC_MSG_RESULT([yes])
17         fi
18     ],[
19         use_dbd_backend=yes
20         AC_MSG_RESULT([yes])
21     ])
22
23     if test $use_dbd_backend = yes; then
24         compiled_backends="$compiled_backends dbd"
25         AC_DEFINE(CNID_BACKEND_DBD, 1, [Define if CNID Database Daemon backend should be compiled.])
26         if test x"$DEFAULT_CNID_SCHEME" = x; then
27             DEFAULT_CNID_SCHEME=dbd
28         fi
29         bdb_required=yes
30     fi
31     AM_CONDITIONAL(BUILD_DBD_DAEMON, test x"$use_dbd_backend" = x"yes")
32
33     dnl Determine whether or not to use BDB Concurrent Data Store
34     AC_MSG_CHECKING([whether or not to use BDB Concurrent Data Store])
35     AC_ARG_WITH(cnid-cdb-backend,
36         [  --with-cnid-cdb-backend      build CNID with Concurrent BDB Data Store],[
37             if test x"$withval" = x"no"; then
38                 use_cdb_backend=no
39         else
40             use_cdb_backend=yes
41         fi
42     ],[use_cdb_backend=no]
43     )
44
45     if test $use_cdb_backend = yes; then
46         AC_MSG_RESULT([yes])
47         AC_DEFINE(CNID_BACKEND_CDB, 1, [Define if CNID Concurrent BDB backend should be compiled.])         
48         if test x"$DEFAULT_CNID_SCHEME" = x; then
49             DEFAULT_CNID_SCHEME=cdb
50         fi
51         bdb_required=yes
52         compiled_backends="$compiled_backends cdb"
53     else
54         AC_MSG_RESULT([no])
55     fi
56     AM_CONDITIONAL(USE_CDB_BACKEND, test x"$use_cdb_backend" = x"yes")
57
58     dnl Determine whether or not to use LAST DID scheme
59     AC_MSG_CHECKING([whether or not to use LAST DID scheme])
60     AC_ARG_WITH(cnid-last-backend,
61         [  --with-cnid-last-backend     build LAST CNID scheme],
62         [
63         if test x"$withval" = x"no"; then
64             use_last_backend=no
65         else
66             use_last_backend=yes
67         fi
68     ],[
69         use_last_backend=yes
70     ])
71
72     if test $use_last_backend = yes; then
73         AC_MSG_RESULT([yes])
74         AC_DEFINE(CNID_BACKEND_LAST, 1, [Define if CNID LAST scheme backend should be compiled.])
75         if test x"$DEFAULT_CNID_SCHEME" = x; then
76             DEFAULT_CNID_SCHEME=last
77         fi
78         compiled_backends="$compiled_backends last"
79     else
80         AC_MSG_RESULT([no])
81     fi
82     AM_CONDITIONAL(USE_LAST_BACKEND, test x"$use_last_backend" = x"yes")
83
84     dnl Determine whether or not to use TDB DID scheme
85     AC_MSG_CHECKING([whether or not to use TDB DID scheme])
86     AC_ARG_WITH(cnid-tdb-backend,
87         [  --with-cnid-tdb-backend      build DID CNID scheme],
88     [
89         if test x"$withval" = x"no"; then
90             use_tdb_backend=no
91         else
92             use_tdb_backend=yes
93         fi
94     ],[
95         use_tdb_backend=no
96     ])
97
98     if test $use_tdb_backend = yes; then
99         AC_MSG_RESULT([yes])
100         AC_DEFINE(CNID_BACKEND_TDB, 1, [Define if CNID TDB scheme backend should be compiled.])
101         if test x"$DEFAULT_TDB_SCHEME" = x; then
102             DEFAULT_CNID_SCHEME=tdb
103         fi
104         compiled_backends="$compiled_backends tdb"
105     else
106         AC_MSG_RESULT([no])
107     fi
108     AM_CONDITIONAL(USE_TDB_BACKEND, test x"$use_tdb_backend" = x"yes")
109
110     dnl Determine whether or not to use MTAB DID scheme
111     AC_MSG_CHECKING([whether or not to use MTAB DID scheme])
112     AC_ARG_WITH(cnid-mtab-backend,
113         [  --with-cnid-mtab-backend     build MTAB CNID scheme],
114     [
115         if test x"$withval" = x"no"; then
116             use_mtab_backend=no
117         else
118             use_mtab_backend=yes
119         fi
120     ],[
121         use_mtab_backend=no
122     ])
123
124     if test $use_mtab_backend = yes; then
125         AC_MSG_RESULT([yes])
126         AC_DEFINE(CNID_BACKEND_MTAB, 1, [Define if CNID MTAB scheme backend should be compiled.])
127         if test x"$DEFAULT_CNID_SCHEME" = x; then
128             DEFAULT_CNID_SCHEME=mtab
129         fi
130         compiled_backends="$compiled_backends mtab"
131     else                
132         AC_MSG_RESULT([no])
133     fi
134     AM_CONDITIONAL(USE_MTAB_BACKEND, test x"$use_mtab_backend" = x"yes")
135
136     dnl Set default DID scheme
137     AC_MSG_CHECKING([default DID scheme])
138     AC_ARG_WITH(cnid-default-backend,
139         [  --with-cnid-default-backend=val      set default DID scheme],
140     [
141         if test x"$withval" = x; then
142             AC_MSG_RESULT([ignored])
143         else
144             DEFAULT_CNID_SCHEME=$withval
145             AC_MSG_RESULT($DEFAULT_CNID_SCHEME)
146         fi
147     ],[
148         AC_MSG_RESULT($DEFAULT_CNID_SCHEME)
149     ])
150
151     if test x"$DEFAULT_CNID_SCHEME" = x; then
152         AC_MSG_ERROR([No DID schemes compiled in ])
153     fi
154
155     AC_MSG_CHECKING([whether default CNID scheme has been activated])
156     found_scheme=no
157     for scheme in $compiled_backends ; do
158         if test x"$scheme" = x"$DEFAULT_CNID_SCHEME"; then      
159             found_scheme=yes
160         fi
161     done
162     if test x"$found_scheme" = x"no"; then
163         AC_MSG_RESULT([no])
164         AC_MSG_ERROR([Specified default CNID scheme $DEFAULT_CNID_SCHEME was not selected for compilation])
165     else
166         AC_MSG_RESULT([yes])
167     fi
168
169     AC_DEFINE_UNQUOTED(DEFAULT_CNID_SCHEME, "$DEFAULT_CNID_SCHEME", [Default CNID scheme to be used])
170     AC_SUBST(DEFAULT_CNID_SCHEME)
171     AC_SUBST(compiled_backends)
172
173     if test "x$bdb_required" = "xyes"; then
174         ifelse([$1], , :, [$1])
175     else
176         ifelse([$2], , :, [$2])     
177     fi
178 ])