Version 3.11.
[febootstrap.git] / configure.ac
1 dnl febootstrap configure.ac
2 dnl (C) Copyright 2009-2011 Red Hat Inc.
3 dnl
4 dnl This program is free software; you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation; either version 2 of the License, or
7 dnl (at your option) any later version.
8 dnl
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 dnl GNU General Public License for more details.
13 dnl
14 dnl You should have received a copy of the GNU General Public License
15 dnl along with this program; if not, write to the Free Software
16 dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 dnl
18 dnl Written by Richard W.M. Jones <rjones@redhat.com>
19
20 AC_INIT(febootstrap,3.11)
21 AM_INIT_AUTOMAKE
22
23 dnl Check for basic C environment.
24 AC_PROG_CC_STDC
25 gl_EARLY
26
27 AC_PROG_INSTALL
28 AC_PROG_CPP
29
30 AC_C_PROTOTYPES
31 test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
32
33 AM_PROG_CC_C_O
34
35 dnl Check support for 64 bit file offsets.
36 AC_SYS_LARGEFILE
37
38 gl_INIT
39
40 # Define $(SED).
41 AC_PROG_SED
42
43 # OCaml and ocamlfind are required to compile.
44 AC_PROG_OCAML
45 if test "$OCAMLC" = "no"; then
46     AC_MSG_ERROR([You must install the OCaml compiler])
47 fi
48 AM_CONDITIONAL([HAVE_OCAMLOPT],[test "$OCAMLBEST" = "opt"])
49 AC_PROG_FINDLIB
50 if test "$OCAMLFIND" = "no"; then
51     AC_MSG_ERROR([You must install OCaml findlib (the ocamlfind command)])
52 fi
53
54 dnl Optional programs.
55 AC_CHECK_PROG(PERLDOC,[perldoc],[perldoc],[no])
56 if test "x$PERLDOC" = "xno" ; then
57   AC_MSG_WARN([perldoc not found - install perl to make man pages])
58 fi
59 AM_CONDITIONAL(HAVE_PERLDOC,[test "$perldoc" != "no"])
60
61 dnl For yum-rpm handler.
62 AC_CHECK_PROG(YUM,[yum],[yum],[no])
63 AC_CHECK_PROG(RPM,[rpm],[rpm],[no])
64 AC_CHECK_PROG(YUMDOWNLOADER,[yumdownloader],[yumdownloader],[no])
65
66 dnl For Debian handler.
67 AC_CHECK_PROG(APTITUDE,[aptitude],[aptitude],[no])
68 AC_CHECK_PROG(APT_CACHE,[apt-cache],[apt-cache],[no])
69 AC_CHECK_PROG(DPKG,[dpkg],[dpkg],[no])
70
71 dnl Include workaround for broken apt-cache depends --recurse (Ubuntu 10.04)?
72 if test "x$APT_CACHE" != "xno"; then
73     AC_MSG_CHECKING([if apt-cache depends --recurse is broken])
74     if ! $APT_CACHE depends --recurse -i bash | grep -q '^libc6$'; then
75         AC_MSG_RESULT([yes])
76         APT_CACHE_DEPENDS_RECURSE_BROKEN=true
77     else
78         AC_MSG_RESULT([no])
79         APT_CACHE_DEPENDS_RECURSE_BROKEN=false
80     fi
81 else
82     APT_CACHE_DEPENDS_RECURSE_BROKEN=false
83 fi
84 AC_SUBST([APT_CACHE_DEPENDS_RECURSE_BROKEN])
85
86 dnl For ArchLinux handler.
87 AC_CHECK_PROG(PACMAN,[pacman],[pacman],[no])
88
89 dnl Support for gzipped kernel modules.
90 AC_CHECK_LIB([z],[gzopen])
91
92 dnl Required programs, libraries.
93 AC_PATH_PROG([MKE2FS],[mke2fs],[no],
94              [$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR])
95 if test "x$MKE2FS" = "xno" ; then
96   AC_MSG_FAILURE([mke2fs program not found])
97 fi
98 AC_DEFINE_UNQUOTED([MKE2FS],["$MKE2FS"],
99   [Full path to the mke2fs program.])
100
101 old_LIBS="$LIBS"
102 AC_CHECK_LIB([com_err],[error_message],[],[
103   AC_MSG_FAILURE([com_err library not found (part of e2fsprogs)])
104 ])
105 LIBS="$old_LIBS"
106
107 old_LIBS="$LIBS"
108 AC_CHECK_LIB([ext2fs],[ext2fs_file_open2],[],[
109   AC_MSG_FAILURE([libext2fs library not found (part of e2fsprogs)])
110 ])
111 AC_CHECK_FUNCS([ext2fs_close2])
112 LIBS="$old_LIBS"
113
114 AC_CHECK_HEADER([ext2fs/ext2fs.h],[],[
115   AC_MSG_FAILURE([Header <ext2fs/ext2fs.h> not found (part of e2fsprogs)])
116 ])
117
118 AC_CHECK_PROG(GAWK,[gawk],[gawk],[no])
119 if test "x$GAWK" = "xno" ; then
120   AC_MSG_FAILURE([gawk (GNU awk) not found])
121 fi
122
123 AC_CONFIG_HEADERS([config.h])
124 AC_CONFIG_FILES([Makefile
125         debian/changelog
126         helper/Makefile
127         lib/Makefile
128         src/config.ml
129         src/Makefile])
130 AC_OUTPUT