work with newer autoconf.
[util-vserver.git] / configure.ac
1 dnl $Id$
2
3 dnl Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
4 dnl  
5 dnl This program is free software; you can redistribute it and/or modify
6 dnl it under the terms of the GNU General Public License as published by
7 dnl the Free Software Foundation; either version 2, or (at your option)
8 dnl any later version.
9 dnl  
10 dnl This program is distributed in the hope that it will be useful,
11 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 dnl GNU General Public License for more details.
14 dnl  
15 dnl You should have received a copy of the GNU General Public License
16 dnl along with this program; if not, write to the Free Software
17 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 dnl  
19 dnl  
20 dnl As a special exception to the GNU General Public License, if you
21 dnl distribute this file as part of a program that contains a configuration
22 dnl script generated by Autoconf, you may include it under the same
23 dnl distribution terms that you use for the rest of that program.
24 dnl  
25
26 AC_PREREQ(2.57)
27 AC_INIT(util-vserver, 0.30.215, vserver@list.linux-vserver.org)
28 AC_CONFIG_SRCDIR([src/capchroot.c])
29 AC_CONFIG_HEADER([config.h])
30
31 AM_INIT_AUTOMAKE([1.9 gnits dist-bzip2 subdir-objects])
32 AM_MAINTAINER_MODE
33
34 AC_CANONICAL_BUILD
35 AC_CANONICAL_HOST
36
37 AC_SUBST(GPG_KEY, "0xFFD316AC53ACA43A!")
38
39 # Checks for programs.
40 AC_PROG_CXX
41 AC_PROG_CC
42 AC_PROG_INSTALL
43 AC_PROG_LN_S
44 AM_PROG_CC_C_O
45 PKG_PROG_PKG_CONFIG
46 ENSC_CXXCOMPILER
47 ENSC_C99COMPILER
48
49 ENSC_SET_SEARCHPATH([$PATH:/sbin:/usr/sbin:/usr/local/sbin])
50 ENSC_PATHPROG_STANDARD_TOOLS
51
52 ENSC_PATHPROG(IP,        ip,,      [Usually, this tool is shipped in the 'iproute' or 'iproute2' package of your distribution])
53 ENSC_PATHPROG(IPTABLES,  iptables)
54 ENSC_PATHPROG(MODPROBE,  modprobe)
55 ENSC_PATHPROG(NAMEIF,    nameif)
56 ENSC_PATHPROG(NOHUP,     nohup)
57 ENSC_PATHPROG(RMMOD,     rmmod)
58 ENSC_PATHPROG(VCONFIG,   vconfig,, [See http://www.candelatech.com/~greear/vlan.html; usually this tool is shipped in the 'vconfig' or 'vlan' package of your distribution])
59 ENSC_PATHPROG(WGET,      wget)
60 ENSC_PATHPROG(IONICE,    ionice,  [],  [This is usually shipped in the 'util-linux(-ng)' or 'schedutils' package])
61 ENSC_PATHPROG(FILE,      file,    [file])
62 ENSC_PATHPROG(GZIP,      gzip,    [gzip])
63 ENSC_PATHPROG(BZIP2,     bzip2,   [bzip2])
64 ENSC_PATHPROG(CPIO,      cpio,    [cpio])
65 ENSC_PATHPROG(RESTORE,   restore, [restore])
66 ENSC_PATHPROG(RSYNC,     rsync,   [rsync])
67 ENSC_PATHPROG(STRACE,    strace,  [strace])
68 ENSC_PATHPROG(FSCK,      fsck)
69
70 ENSC_PATHPROG(DOXYGEN,   doxygen,  [:])
71 ENSC_PATHPROG(XSLTP,     xsltp,    [:])
72 ENSC_PATHPROG(XSLTPROC,  xsltproc, [:])
73
74
75 AM_CONDITIONAL(HAVE_XSLTP,    test "$XSLTP"    != ':')
76 AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != ':')
77
78 if test x"$prefix" = x/; then
79         prefix=
80 fi      
81
82 ENSC_CHECK_CC_FLAG([-std=c99 -Wall -pedantic -W])
83 ENSC_CHECK_CXX_FLAG([-ansi   -Wall -pedantic -W -fmessage-length=0])
84
85 AC_MSG_CHECKING([whether to enable extra optimizations])
86 AC_ARG_ENABLE([extra-optimizations],
87               [AC_HELP_STRING([--disable-extra-optimizations],
88                               [disable certain extra optimizations (default: no)])],
89               [case "$enableval" in
90                   (yes) use_extra_optimizations=1;;
91                   (no)  use_extra_optimizations=;;
92                   (*)   AC_MSG_ERROR(['$enableval' is not a valid value for '--disable-extra-optimizations']);;
93                esac],
94               [use_extra_optimizations=1])
95
96 if test x"$use_extra_optimizations" = x; then
97         AC_MSG_RESULT(no)
98 else
99         AC_MSG_RESULT(yes)
100         ENSC_CHECK_CC_FLAG([-funit-at-a-time])
101         ENSC_CHECK_CXX_FLAG([-funit-at-a-time])
102 fi
103
104 AC_MSG_CHECKING([whether to enable debug-code in library])
105 AC_ARG_ENABLE([lib-debug],
106               [AC_HELP_STRING([--enable-lib-debug],
107                               [enable additional debug code in library (default: no)])],
108               [case "$enableval" in
109                   (yes) use_lib_debug=1;;
110                   (no)  use_lib_debug=;;
111                   (*)   AC_MSG_ERROR(['$enableval' is not a valid value for '--enable-lib-debug']);;
112                esac],
113               [ use_lib_debug= ])
114
115 if test x"$use_lib_debug" = x; then
116         AC_SUBST(LIB_DEBUG_CPPFLAGS, [-DNDEBUG])
117         AC_MSG_RESULT(no)
118 else
119         AC_SUBST(LIB_DEBUG_CPPFLAGS, [])
120         AC_MSG_RESULT(yes)
121 fi
122
123 AC_MSG_CHECKING([whether to enable expensive tests])
124 AC_ARG_ENABLE([expensive-tests],
125               [AC_HELP_STRING([--enable-expensive-tests],
126                               [disable tests which might be expensive on some systems (default: no)])],
127               [case "$enableval" in
128                  (yes|no)  use_expensive_tests=$enableval;;
129                  (*)       AC_MSG_ERROR(['$enableval' is not a valid value for '--enable-expensive-tests']);;
130                esac],
131               [ use_expensive_tests=no ])
132 AC_MSG_RESULT($use_expensive_tests)
133
134 AC_SUBST(ENSC_USE_EXPENSIVE_TESTS, "$use_expensive_tests")
135
136
137 ENSC_CHECK_PERSONALITY_FLAGS
138
139 AC_ARG_VAR(CC, [The C compiler])
140
141 ENSC_INITRDDIR(initrddir)
142 ENSC_RELEASE(RELEASE_CPPFLAGS)
143
144 # HACK: This needs to be before ENSC_DIETLIBC_NEED_COMPAT, or the alternative
145 # syscalls will never be enabled for glibc.
146 ENSC_SYSCALLNR(vserver,273,[lib/syscall-fallback.h])
147 ENSC_SYSCALL
148
149 dnl ###########################
150 dnl
151 dnl {some dietlibc related tests
152 dnl
153
154 case $host_cpu in
155         (i*86|athlon)   min_diet_ver=0.25;;
156         (ia64|hppa*)    min_diet_ver=0.29;;
157         (sparc*)        min_diet_ver=0.30;;
158         (x86_64)        min_diet_ver=0.27;;
159         (*)             min_diet_ver=0.28;;
160 esac
161
162 ENSC_ENABLE_DIETLIBC(USE_DIETLIBC, [$min_diet_ver])
163
164 if test x"$ensc_have_dietlibc" = xno; then
165         AC_MSG_WARN([***                                                         ***])
166         AC_MSG_WARN([*** it is strongly recommended to link util-vserver against ***])
167         AC_MSG_WARN([*** dietlibc;  glibc's NSS functions are very unreliable in ***])
168         AC_MSG_WARN([*** chroot() environments,  so you have to  expect problems ***])
169         AC_MSG_WARN([*** there.                                                  ***])
170         AC_MSG_WARN([***                                                         ***])
171         AM_CONDITIONAL(USE_DIETLIBC_COMPAT, false)
172 else
173         # HACK: libtool does not have cmdline options to build only
174         # dynamic libraries; this can be done with the
175         # '--disable-static' ./configure option only.  As our static
176         # libraries will be build with dietlibc, we have to do set
177         # this option which is evaluated by 'AC_PROG_LIBTOOL'
178         # below.  Therefore, this macro must not be called earlier.
179         enable_static=no
180
181         ENSC_DIETLIBC_NEED_COMPAT(USE_DIETLIBC_COMPAT)
182 fi
183
184 AM_CONDITIONAL(ENSC_USE_DIETLIBC, test x"$ensc_have_dietlibc" = xyes)
185 AM_CONDITIONAL(ENSC_USE_GLIBC,    true)
186
187 # HACK: see comments at 'enable_static' above
188 AC_PROG_LIBTOOL
189 dnl
190 dnl dietlibc stuff ends here}
191 dnl
192 dnl ##########################
193
194
195 ENSC_UV_VROOTDIR(vserverdir)
196 ENSC_CHANGELOG
197
198
199 dnl ##########################
200 dnl
201 dnl {Check whether to use external kernel headers
202 dnl
203 AC_MSG_CHECKING([whether to use internal kernel headers])
204 AC_ARG_ENABLE([internal-headers],
205               [AC_HELP_STRING([--disable-internal-headers],
206                               [use vserver specific headers from the kernel instead of the shipped versions (default: no)])],
207               [case "$enableval" in
208                   (yes|no) ;;
209                   (*)      AC_MSG_ERROR(['$i' is not a supported value for '--disable-internal-headers']);;
210                esac],
211               [enable_internal_headers=yes])
212
213 AM_CONDITIONAL(ENSC_ENABLE_INTERNAL_HEADERS, [test x"$enable_internal_headers" = xyes])
214 AC_MSG_RESULT([$enable_internal_headers])
215 dnl
216 dnl the check regarding external kernel headers ends here}
217 dnl
218 dnl ##########################
219
220 dnl ##########################
221 dnl
222 dnl {Check for the APIs to be used
223 dnl
224 AH_TEMPLATE(VC_ENABLE_API_COMPAT,   [Enable support for compatibility syscall API])
225 AH_TEMPLATE(VC_ENABLE_API_LEGACY,   [Enable support for old, /proc parsing API])
226 AH_TEMPLATE(VC_ENABLE_API_V11,      [Enable support for API of vserver 1.1.x])
227 AH_TEMPLATE(VC_ENABLE_API_FSCOMPAT, [Enable support for filesystem compatibility API])
228 AH_TEMPLATE(VC_ENABLE_API_V13OBS,   [Enable support for some obsoleted API of vserver 1.3.x])
229 AH_TEMPLATE(VC_ENABLE_API_V13,      [Enable support for API of vserver 1.3.x])
230 AH_TEMPLATE(VC_ENABLE_API_NET,      [Enable support for network context API])
231 AH_TEMPLATE(VC_ENABLE_API_V21,      [Enable support for API of vserver 2.1.x])
232 AH_TEMPLATE(VC_ENABLE_API_V22,      [Enable support for API of vserver 2.2.x])
233 AH_TEMPLATE(VC_ENABLE_API_V23,      [Enable support for API of vserver 2.3.x])
234 AH_TEMPLATE(VC_ENABLE_API_NETV2,    [Enable support for new networking API])
235 AH_TEMPLATE(VC_ENABLE_API_OLDPROC,  [Enable API for a backward compatible /proc parsing])
236 AH_TEMPLATE(VC_ENABLE_API_OLDUTS,   [Enable API for a backward compatible uts handling])
237
238 AC_MSG_CHECKING([for supported APIs])
239 AC_ARG_ENABLE([apis],
240               [AC_HELP_STRING([--enable-apis=APIS],
241                               [enable support for the given apis; possible values are: legacy,compat,v11,fscompat,v13obs,v13,net,v21,v22,v23,netv2 ALL,NOLEGACY (default: v13,net,v21,v22,v23,netv2)])],
242               [],
243               [enable_apis=v13,net,v21,v22,v23,netv2])
244
245 test x"$enable_apis" != xALL      || enable_apis='legacy,compat,v11,fscompat,v13obs,v13,net,v21,v22,v23,netv2'
246 test x"$enable_apis" != xNOLEGACY || enable_apis='compat,v11,fscompat,v13,net,v21,v22,v23,netv2'
247 enable_api_oldproc=
248 enable_api_olduts=
249
250 echo $enable_apis | sed 's/,/\n/g' | while read i; do
251         case "$i" in
252                 (compat)        AC_DEFINE(VC_ENABLE_API_COMPAT,   1)
253                                 enable_api_oldproc=${enable_api_oldproc:-1}
254                                 enable_api_olduts=${enable_api_olduts:-1}
255                                 ;;
256                 (legacy)        AC_DEFINE(VC_ENABLE_API_LEGACY,   1)
257                                 enable_api_oldproc=${enable_api_oldproc:-1}
258                                 enable_api_olduts=${enable_api_olduts:-1}
259                                 ;;
260                 (v11)           AC_DEFINE(VC_ENABLE_API_V11,      1)
261                                 enable_api_oldproc=${enable_api_oldproc:-1}
262                                 enable_api_olduts=${enable_api_olduts:-1}
263                                 ;;
264                 (fscompat)      AC_DEFINE(VC_ENABLE_API_FSCOMPAT, 1);;
265                 (v13obs)        AC_DEFINE(VC_ENABLE_API_V13OBS,   1)
266                                 AC_DEFINE(VC_ENABLE_API_V13,      1);;
267                 (v13)           AC_DEFINE(VC_ENABLE_API_V13,      1);;
268                 (net)           AC_DEFINE(VC_ENABLE_API_NET,      1);;
269                 (v21)           AC_DEFINE(VC_ENABLE_API_V21,      1);;
270                 (v22)           AC_DEFINE(VC_ENABLE_API_V22,      1);;
271                 (v23)           AC_DEFINE(VC_ENABLE_API_V23,      1);;
272                 (netv2)         AC_DEFINE(VC_ENABLE_API_NETV2,    1);;
273                 (oldproc)       enable_api_oldproc=2;;
274                 (olduts)        enable_api_olduts=2;;
275                 (*)             AC_MSG_ERROR(['$i' is not a supported API]);;
276         esac
277 done
278 if test x"$enable_api_oldproc" != x; then
279         AC_DEFINE(VC_ENABLE_API_OLDPROC, 1)
280         test x"$enable_api_oldproc" != x2 && enable_apis="$enable_apis,oldproc"
281 fi
282 if test x"$enable_api_olduts" != x; then
283         AC_DEFINE(VC_ENABLE_API_OLDUTS, 1)
284         test x"$enable_api_olduts" != x2 && enable_apis="$enable_apis,olduts"
285 fi
286 AC_MSG_RESULT([$enable_apis])
287 dnl
288 dnl the check for used APIs ends here}
289 dnl
290 dnl ##########################
291
292
293 ENSC_CHECK_EXT2FS_HEADER
294 AC_CHECK_FUNCS([vserver])
295 AC_CHECK_DECLS(MS_MOVE,,,[#include <linux/fs.h>])
296 AC_CHECK_TYPES(xid_t,,,[#include <sys/types.h>])
297 AC_CHECK_TYPES(nid_t,,,[#include <sys/types.h>])
298 AC_CHECK_TYPES(tag_t,,,[#include <sys/types.h>])
299
300 AC_CHECK_HEADERS([sys/capability.h])
301
302 dnl vlogin might need -lutil
303 if test x"$ensc_have_dietlibc" = xno; then
304         AC_CHECK_FUNC([openpty],, [AC_CHECK_LIB([util], [openpty],, [AC_MSG_ERROR([
305 ****
306 **** openpty could not be found
307 ****])])])
308 fi
309
310
311 dnl ########################
312 dnl
313 dnl {crypto stuff
314 dnl
315 AC_ARG_WITH(crypto-api,
316             AC_HELP_STRING([--with-crypto-api=API],
317                            [select crypto api to be used; possible values are `none', `nss', `beecrypt', `auto' (default:auto)]),
318             [case $withval in
319                 (none|nss|beecrypt|auto)        ensc_crypto_api=$withval;;
320                 (yes)                           ensc_crypto_api=auto;;
321                 (no)                            ensc_crypto_api=none;;
322                 (*)     AC_MSG_ERROR([invalid crypto-api value, only none,nss,beecrypt,auto are supported]);;
323              esac],[ensc_crypto_api=auto])
324
325
326 dnl Now, check for matching crypto api. When selected 'auto', the
327 dnl first matching one wins
328
329 dnl ########################
330 dnl
331 dnl {check for beecrypt
332 dnl
333 case $ensc_crypto_api in
334 (auto|beecrypt)
335 if test x"$ensc_cv_c99_c99compiler" = xyes; then
336         ensc_have_beecrypt=yes
337
338         if test x"$ensc_have_beecrypt" = xyes; then
339                 AC_CHECK_HEADER([beecrypt/beecrypt.h], [ : ],
340                                 [ ensc_have_beecrypt=no ])
341         fi
342                         
343         if test x"$ensc_have_beecrypt" = xyes; then
344                 AC_CHECK_LIB(beecrypt, hashFunctionContextInit, [ : ],
345                              [ ensc_have_beecrypt=no ])
346         fi
347 else
348         ensc_have_beecrypt=no
349 fi;;
350 esac
351
352 case $ensc_crypto_api in
353 (auto)          if test x"$ensc_have_beecrypt"  = xyes; then
354                         AC_MSG_NOTICE([using beecrypt as crypto api])
355                         ensc_crypto_api=beecrypt
356                 fi;;
357 (beecrypt)      if test x"$ensc_have_beecrypt" != xyes; then
358                         AC_MSG_ERROR([beecrypt crypto api not found])
359                 fi;;
360 esac
361
362 AM_CONDITIONAL(ENSC_HAVE_BEECRYPT, test x"$ensc_have_beecrypt" = xyes)
363 AM_CONDITIONAL(ENSC_CAN_BEECRYPT_WITH_DIETLIBC, false)
364 dnl
365 dnl beecrypt stuff ends here}
366 dnl
367 dnl ########################
368
369
370 dnl ########################
371 dnl
372 dnl {check for nss
373 dnl
374
375 case $ensc_crypto_api in
376 (nss)   PKG_CHECK_MODULES(NSS, nss);;
377 (auto)  PKG_CHECK_MODULES(NSS, nss, [
378                 AC_MSG_NOTICE([using NSS as crypto api])
379                 ensc_crypto_api=nss]);;
380 esac
381
382 dnl
383 dnl nss stuff ends here}
384 dnl
385 dnl ########################
386
387 case $ensc_crypto_api in
388 (beecrypt)
389         ENSC_HAVE_CRYPTO=true
390         ENSC_CRYPTO_API=ENSC_CRYPTO_API_BEECRYPT
391         ENSC_CRYPTO_CFLAGS=
392         ENSC_CRYPTO_LIB=-lbeecrypt
393         ENSC_CAN_CRYPTO_WITH_DIETLIBC=false
394         ;;
395
396 (nss)
397         ENSC_HAVE_CRYPTO=true
398         ENSC_CRYPTO_API=ENSC_CRYPTO_API_NSS
399         ENSC_CRYPTO_CFLAGS=$NSS_CFLAGS
400         ENSC_CRYPTO_LIB=$NSS_LIBS
401         ENSC_CAN_CRYPTO_WITH_DIETLIBC=false
402         ;;
403
404 (none|auto)
405         ENSC_HAVE_CRYPTO=false
406         ENSC_CRYPTO_API=ENSC_CRYPTO_API_NONE
407         ENSC_CRYPTO_CFLAGS=
408         ENSC_CRYPTO_LIB=
409         ENSC_CAN_CRYPTO_WITH_DIETLIBC=false
410
411         AC_MSG_WARN([No crypto api found/select. This will disable the build of 'vhashify'])
412         ;;
413
414 (*)     AC_MSG_ERROR([internal error])
415 esac
416
417 AM_CONDITIONAL(ENSC_HAVE_CRYPTO, $ENSC_HAVE_CRYPTO)
418 AM_CONDITIONAL(ENSC_CAN_CRYPTO_WITH_DIETLIBC, $ENSC_CAN_CRYPTO_WITH_DIETLIBC)
419 AC_SUBST(ENSC_CRYPTO_CFLAGS, $ENSC_CRYPTO_CFLAGS)
420 AC_SUBST(ENSC_CRYPTO_LIB,    $ENSC_CRYPTO_LIB)
421 AC_DEFINE_UNQUOTED(ENSC_CRYPTO_API, $ENSC_CRYPTO_API, [Used crypto API])
422
423 dnl
424 dnl crypto stuff ends here}
425 dnl
426 dnl ########################
427
428
429 dnl Check what distro this is, use Gentoo initscripts if appropriate
430 AC_MSG_CHECKING([for host initscripts])
431 AC_ARG_WITH(initscripts, AC_HELP_STRING([--with-initscripts=TYPE], [force host initscripts; valid values are 'gentoo' and 'sysv' (default: guess)]), [
432         case "$withval" in
433         gentoo) ensc_with_init=gentoo;;
434         sysv)   ensc_with_init=sysv;;
435         *)      AC_MSG_ERROR([invalid initscripts value, only gentoo and sysv are supported]);;
436         esac
437         ], [
438         if test -e /etc/gentoo-release; then
439                 ensc_with_init=gentoo
440         else
441                 ensc_with_init=sysv
442         fi
443         ])
444 AC_MSG_RESULT([$ensc_with_init])
445 AM_CONDITIONAL(HAVE_GENTOO_INIT, test x"$ensc_with_init" = xgentoo)
446 AM_CONDITIONAL(HAVE_SYSV_INIT, test x"$ensc_with_init" = xsysv)
447
448
449 dnl ########################
450 dnl Check for Python
451
452 ensc_have_python=yes
453 AM_PATH_PYTHON([2.4],, [:])
454 if test "x$PYTHON" = x:; then
455         ensc_have_python=no
456 fi
457 if test x$ensc_have_python = xyes; then
458         PYTHON_CFLAGS=-I`$PYTHON -c 'from distutils.sysconfig import get_python_inc; print get_python_inc(1)'`
459         PYTHON_LDFLAGS=-L`$PYTHON -c 'from distutils.sysconfig import get_python_lib; print get_python_lib(1)'`
460         AC_SUBST(PYTHON_CFLAGS)
461         AC_SUBST(PYTHON_LDFLAGS)
462 else
463         ensc_have_python=no
464 fi
465 AC_PATH_PROG([CTAGS], [ctags], [no])
466 if test "x$CTAGS" = xno; then
467         ensc_have_python=no
468 fi
469 AM_CONDITIONAL([HAVE_PYTHON], [test x$ensc_have_python = xyes])
470
471 dnl Python stuff ends here
472 dnl ########################
473
474
475 dnl ########################
476 dnl Library versioning
477
478 ensc_have_versioning=yes
479 AC_ARG_ENABLE(versioning, AC_HELP_STRING([--disable-versioning], [Disable library versioning]), [ensc_have_versioning="$enableval"])
480 AM_CONDITIONAL([HAVE_VERSIONING], [test "x$ensc_have_versioning" = xyes])
481 if test "x$ensc_have_versioning" = xyes; then
482         AC_DEFINE([HAVE_VERSIONING], [1], [Define this to use library versioning])
483 fi
484
485 dnl /Library versioning
486 dnl ########################
487
488
489 dnl BIG HACK! Do some autodetection here!
490 AC_DEFINE(UTMP_GID, [22], [The utmp gid-number])
491
492 if false; then
493         AC_DEFINE(HAVE_GROWING_STACK, [1], [Define to 1 if the stack is on growing addresses])
494 fi
495
496 AC_DEFINE(_FILE_OFFSET_BITS, [64], [Use 64bit interface for filesystem operations])
497
498 dnl ########################
499 dnl
500 dnl {The final info-page
501 dnl
502 ensc_cxx_affected=" (affected: vbuild, vcheck)"
503 ensc_c99_affected=" (affected: vunify, vcopy, vhashify, vdlimit)"
504 ensc_diet_msg=" (you have been warned)"
505 ensc_diet_version_msg=" ($ensc_version_dietlibc)"
506 ensc_diet_compat_msg=" (using -lcompat)"
507 test x"$ensc_cv_cxx_cxxcompiler"    = xno || ensc_cxx_affected=
508 test x"$ensc_cv_c99_c99compiler"    = xno || ensc_c99_affected=
509 test x"$ensc_have_dietlibc"         = xno || ensc_diet_msg=
510 test x"$ensc_version_dietlibc"     != x   || ensc_diet_version_msg=
511 test x"$ensc_have_dietlibc$ensc_cv_c_dietlibc_compat" = xyesyes || ensc_diet_compat_msg=
512
513 AH_BOTTOM([#include "compat.h"
514 ])
515 AC_CONFIG_COMMANDS_PRE([
516                         FEATURES_TXT="\
517 Features:
518                        CC: $CC, $($CC   --version | sed -e '1p;d')
519                       CXX: $CXX, $($CXX --version | sed -e '1p;d')
520                  CPPFLAGS: '$CPPFLAGS'
521                    CFLAGS: '$CFLAGS'
522                  CXXFLAGS: '$CXXFLAGS'
523                build/host: $build/$host
524              Use dietlibc: $ensc_have_dietlibc$ensc_diet_version_msg$ensc_diet_msg$ensc_diet_compat_msg
525        Build C++ programs: $ensc_cv_cxx_cxxcompiler$ensc_cxx_affected
526        Build C99 programs: $ensc_cv_c99_c99compiler$ensc_c99_affected
527            Available APIs: $enable_apis
528             ext2fs Source: $ensc_cv_test_ext2fs_header
529     syscall(2) invocation: $with_syscall
530       vserver(2) syscall#: $ensc_cv_value_syscall_vserver
531                crypto api: $ensc_crypto_api
532           python bindings: $ensc_have_python
533    use library versioning: $ensc_have_versioning
534    
535 Paths:
536                    prefix: $prefix
537         sysconf-Directory: $sysconfdir
538             cfg-Directory: $sysconfdir/vservers
539          initrd-Directory: $initrddir
540        pkgstate-Directory: $localstatedir/run/vservers
541           vserver-Rootdir: $vserverdir
542 "
543                         echo "$FEATURES_TXT" >FEATURES.txt
544                         ])
545 dnl
546 dnl final info-page ends here}
547 dnl
548 dnl ########################
549
550 AC_CONFIG_FILES([util-vserver.spec Makefile distrib/Makefile lib/apidoc/Doxyfile])
551 AC_OUTPUT
552
553 AC_MSG_NOTICE([
554
555 $PACKAGE_STRING
556
557 $FEATURES_TXT])