3 dnl Copyright (C) 2002,2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
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)
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.
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.
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.
27 AC_INIT(util-vserver-pl, 0.1, support@planet-lab.org)
28 AC_CONFIG_SRCDIR([python/vserverimpl.c])
29 AC_CONFIG_HEADER([config.h])
31 AM_INIT_AUTOMAKE([1.8.3 gnu dist-bzip2 subdir-objects])
37 # Checks for programs.
46 AC_ARG_VAR(CC, [The C compiler])
49 AC_CHECK_HEADERS([asm/types.h stdint.h], [ : ],
50 [ ensc_have_vserver=no ])
51 AC_CHECK_TYPES([xid_t], [ : ], [AC_DEFINE_UNQUOTED([xid_t], [uint32_t],
52 [Define this to an unsigned integer type])],
53 [AC_INCLUDES_DEFAULT()
54 #ifdef HAVE_ASM_TYPES_H
55 # include <asm/types.h>
57 AC_CHECK_TYPES([nid_t], [ : ], [AC_DEFINE_UNQUOTED([nid_t], [uint32_t],
58 [Define this to an unsigned integer type])],
59 [AC_INCLUDES_DEFAULT()
60 #ifdef HAVE_ASM_TYPES_H
61 # include <asm/types.h>
63 AC_CHECK_TYPES([tag_t], [ : ], [AC_DEFINE_UNQUOTED([tag_t], [uint32_t],
64 [Define this to an unsigned integer type])],
65 [AC_INCLUDES_DEFAULT()
66 #ifdef HAVE_ASM_TYPES_H
67 # include <asm/types.h>
70 AC_CHECK_HEADER([vserver.h], [ : ],
71 [ AC_MSG_ERROR([No vserver.h found!]) ])
73 AC_CHECK_LIB(vserver, vc_ctx_create, [ : ],
74 [ AC_MSG_ERROR([No libvserver found!]) ])
81 if test x"$ensc_have_libnl" = xyes; then
82 AC_CHECK_HEADERS([asm/types.h stdint.h], [ : ],
83 [ ensc_have_libnl=no ])
84 AC_CHECK_TYPES([__s64], [ : ], [AC_DEFINE_UNQUOTED([__s64], [int64_t],
85 [Define this to a signed 64-bit integer type])],
86 [AC_INCLUDES_DEFAULT()
87 #ifdef HAVE_ASM_TYPES_H
88 # include <asm/types.h>
90 AC_CHECK_TYPES([__u64], [ : ], [AC_DEFINE_UNQUOTED([__u64], [uint64_t],
91 [Define this to an unsigned 64-bit integer type])],
92 [AC_INCLUDES_DEFAULT()
93 #ifdef HAVE_ASM_TYPES_H
94 # include <asm/types.h>
98 if test x"$ensc_have_libnl" = xyes; then
99 AC_CHECK_HEADERS([netlink/netlink.h netlink/route/addr.h], [ : ],
100 [ ensc_have_libnl=no ], [AC_INCLUDES_DEFAULT()
101 #ifdef HAVE_ASM_TYPES_H
102 # include <asm/types.h>
107 if test x"$ensc_have_libnl" = xyes; then
108 AC_CHECK_LIB(nl, nl_handle_alloc_cb, [ : ],
109 [ ensc_have_libnl=no ])
112 if test x"$ensc_have_libnl" != xyes; then
115 **** 'libnl' could not be found;
116 **** this will disable the build of 'vip6-autod'
120 AM_CONDITIONAL(ENSC_HAVE_LIBNL, test x"$ensc_have_libnl" = xyes)
123 dnl libnl stuff ends here}
125 dnl #######################
128 dnl Get python includes
131 AC_MSG_CHECKING([for python includes])
132 PYTHON_INCLUDES=`python-config --includes 2>/dev/null`
133 if test x"$PYTHON_INCLUDES" = x; then
134 python_inc_plat=`$PYTHON -c "from distutils.sysconfig import get_python_inc; print get_python_inc(1)"`
135 python_inc=`$PYTHON -c "from distutils.sysconfig import get_python_inc; print get_python_inc()"`
136 if test x"$python_inc_plat" != x; then
137 PYTHON_INCLUDES="$PYTHON_INCLUDES -I$python_inc_plat"
139 if test x"$python_inc" != x; then
140 PYTHON_INCLUDES="$PYTHON_INCLUDES -I$python_inc"
143 AC_MSG_RESULT([$PYTHON_INCLUDES])
144 AC_SUBST(PYTHON_INCLUDES)
148 dnl Figure out util-vserver directories
152 PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
154 AC_MSG_CHECKING([for vserver-Rootdir])
155 DEFAULT_VSERVERDIR=`vserver-info 2>/dev/null | awk '$1 == "vserver-Rootdir:" { print $2 }'`
156 if test x"$DEFAULT_VSERVERDIR" = x; then
157 AC_MSG_ERROR([No vserver-Rootdir could be found!])
159 AC_MSG_RESULT([$DEFAULT_VSERVERDIR])
160 AC_DEFINE_UNQUOTED([DEFAULT_VSERVERDIR], ["$DEFAULT_VSERVERDIR"],
161 [Define this to the path where your guests live])
163 AC_MSG_CHECKING([for util-vserver-vars])
164 UV_PREFIX=`vserver-info 2>/dev/null | awk '$1 == "prefix:" { print $2 }'`
165 UV_PKGLIBDIR=`echo "$UV_PREFIX"/lib*/util-vserver`
166 if test x"$UV_PREFIX" = x -o ! -d "$UV_PKGLIBDIR" -o ! -r "$UV_PKGLIBDIR/util-vserver-vars"; then
167 AC_MSG_ERROR([No util-vserver-vars could be found in $UV_PKGLIBDIR])
169 AC_MSG_RESULT([$UV_PKGLIBDIR])
170 AC_SUBST(UV_PKGLIBDIR)
176 AC_DEFINE_UNQUOTED([LOCALSTATEDIR], ["$localstatedir"],
177 [Define this to the local state directory])
178 AC_ARG_WITH([initrddir], [AC_HELP_STRING([--with-initrddir <DIR>],
179 [use <DIR> as directory for SysV init-files (default: $sysconfdir/init.d)])],
181 yes|no) AC_MSG_ERROR(['$withval' is not a valid value for '--with-initrddir']);;
182 *) sysvdir="$withval";;
184 [sysvdir="${sysconfdir}/init.d"])
188 AC_DEFINE(_FILE_OFFSET_BITS, [64], [Use 64bit interface for filesystem operations])
190 AC_CONFIG_FILES([util-vserver-pl.spec Makefile])