Use libnl 1.1 API.
[util-vserver-pl.git] / configure.ac
1 dnl $Id$
2
3 dnl Copyright (C) 2002,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-pl, 0.1, support@planet-lab.org)
28 AC_CONFIG_SRCDIR([python/vserverimpl.c])
29 AC_CONFIG_HEADER([config.h])
30
31 AM_INIT_AUTOMAKE([1.8.3 gnu dist-bzip2 subdir-objects])
32 AM_MAINTAINER_MODE
33
34 AC_CANONICAL_BUILD
35 AC_CANONICAL_HOST
36
37 # Checks for programs.
38 AC_PROG_CC
39 AC_PROG_INSTALL
40 AC_PROG_LN_S
41 AM_PROG_CC_C_O
42 AC_DISABLE_STATIC
43 AC_PROG_LIBTOOL
44 AM_PATH_PYTHON(2.3)
45
46 AC_ARG_VAR(CC, [The C compiler])
47
48
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>
56 #endif])
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>
62 #endif])
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>
68 #endif])
69
70 AC_CHECK_HEADER([vserver.h], [ : ],
71                 [ AC_MSG_ERROR([No vserver.h found!]) ])
72
73 AC_CHECK_LIB(vserver, vc_ctx_create, [ : ],
74              [ AC_MSG_ERROR([No libvserver found!]) ])
75
76 dnl {check for libnl
77 dnl
78
79 ensc_have_libnl=yes
80
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>
89 #endif])
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>
95 #endif])
96 fi
97
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>
103 #endif]
104                 )
105 fi
106
107 if test x"$ensc_have_libnl" = xyes; then
108         AC_CHECK_LIB(nl, nl_handle_alloc_cb, [ : ],
109                      [ ensc_have_libnl=no ])
110 fi
111
112 if test x"$ensc_have_libnl" != xyes; then
113         AC_MSG_WARN([
114 ****
115 **** 'libnl' could not be found;
116 **** this will disable the build of 'vip6-autod'
117 ****])
118 fi
119
120 AM_CONDITIONAL(ENSC_HAVE_LIBNL, test x"$ensc_have_libnl" = xyes)
121
122 dnl
123 dnl libnl stuff ends here}
124 dnl
125 dnl #######################
126
127 dnl
128 dnl Get python includes
129 dnl
130
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"
138         fi
139         if test x"$python_inc" != x; then
140                 PYTHON_INCLUDES="$PYTHON_INCLUDES -I$python_inc"
141         fi
142 fi
143 AC_MSG_RESULT([$PYTHON_INCLUDES])
144 AC_SUBST(PYTHON_INCLUDES)
145
146
147 dnl
148 dnl Figure out util-vserver directories
149 dnl
150
151 old_PATH="$PATH"
152 PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
153
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!])
158 fi
159 AC_MSG_RESULT([$DEFAULT_VSERVERDIR])
160 AC_DEFINE_UNQUOTED([DEFAULT_VSERVERDIR], ["$DEFAULT_VSERVERDIR"],
161                    [Define this to the path where your guests live])
162
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])
168 fi
169 AC_MSG_RESULT([$UV_PKGLIBDIR])
170 AC_SUBST(UV_PKGLIBDIR)
171
172
173 PATH="$old_PATH"
174
175
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)])],
180         [case "$withval" in
181                 yes|no) AC_MSG_ERROR(['$withval' is not a valid value for '--with-initrddir']);;
182                 *)      sysvdir="$withval";;
183          esac],
184         [sysvdir="${sysconfdir}/init.d"])
185 AC_SUBST(sysvdir)
186
187
188 AC_DEFINE(_FILE_OFFSET_BITS, [64], [Use 64bit interface for filesystem operations])
189
190 AC_CONFIG_FILES([util-vserver-pl.spec Makefile])
191 AC_OUTPUT