Version 3.10.
[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.10)
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 # OCaml and ocamlfind are required to compile.
41 AC_PROG_OCAML
42 if test "$OCAMLC" = "no"; then
43     AC_MSG_ERROR([You must install the OCaml compiler])
44 fi
45 AM_CONDITIONAL([HAVE_OCAMLOPT],[test "$OCAMLBEST" = "opt"])
46 AC_PROG_FINDLIB
47 if test "$OCAMLFIND" = "no"; then
48     AC_MSG_ERROR([You must install OCaml findlib (the ocamlfind command)])
49 fi
50
51 dnl Optional programs.
52 AC_CHECK_PROG(PERLDOC,[perldoc],[perldoc],[no])
53 if test "x$PERLDOC" = "xno" ; then
54   AC_MSG_WARN([perldoc not found - install perl to make man pages])
55 fi
56 AM_CONDITIONAL(HAVE_PERLDOC,[test "$perldoc" != "no"])
57
58 dnl For yum-rpm handler.
59 AC_CHECK_PROG(YUM,[yum],[yum],[no])
60 AC_CHECK_PROG(RPM,[rpm],[rpm],[no])
61 AC_CHECK_PROG(YUMDOWNLOADER,[yumdownloader],[yumdownloader],[no])
62
63 dnl For Debian handler.
64 AC_CHECK_PROG(APTITUDE,[aptitude],[aptitude],[no])
65 AC_CHECK_PROG(APT_CACHE,[apt-cache],[apt-cache],[no])
66 AC_CHECK_PROG(DPKG,[dpkg],[dpkg],[no])
67
68 dnl Include workaround for broken apt-cache depends --recurse (Ubuntu 10.04)?
69 if test "x$APT_CACHE" != "xno"; then
70     AC_MSG_CHECKING([if apt-cache depends --recurse is broken])
71     if ! $APT_CACHE depends --recurse -i bash | grep -q '^libc6$'; then
72         AC_MSG_RESULT([yes])
73         APT_CACHE_DEPENDS_RECURSE_BROKEN=true
74     else
75         AC_MSG_RESULT([no])
76         APT_CACHE_DEPENDS_RECURSE_BROKEN=false
77     fi
78 else
79     APT_CACHE_DEPENDS_RECURSE_BROKEN=false
80 fi
81 AC_SUBST([APT_CACHE_DEPENDS_RECURSE_BROKEN])
82
83 dnl For ArchLinux handler.
84 AC_CHECK_PROG(PACMAN,[pacman],[pacman],[no])
85
86 dnl Required programs, libraries.
87 AC_PATH_PROG([MKE2FS],[mke2fs],[no],
88              [$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR])
89 if test "x$MKE2FS" = "xno" ; then
90   AC_MSG_FAILURE([mke2fs program not found])
91 fi
92 AC_DEFINE_UNQUOTED([MKE2FS],["$MKE2FS"],
93   [Full path to the mke2fs program.])
94
95 old_LIBS="$LIBS"
96 AC_CHECK_LIB([com_err],[error_message],[],[
97   AC_MSG_FAILURE([com_err library not found (part of e2fsprogs)])
98 ])
99 LIBS="$old_LIBS"
100
101 old_LIBS="$LIBS"
102 AC_CHECK_LIB([ext2fs],[ext2fs_file_open2],[],[
103   AC_MSG_FAILURE([libext2fs library not found (part of e2fsprogs)])
104 ])
105 LIBS="$old_LIBS"
106
107 AC_CHECK_HEADER([ext2fs/ext2fs.h],[],[
108   AC_MSG_FAILURE([Header <ext2fs/ext2fs.h> not found (part of e2fsprogs)])
109 ])
110
111 AC_CHECK_PROG(GAWK,[gawk],[gawk],[no])
112 if test "x$GAWK" = "xno" ; then
113   AC_MSG_FAILURE([gawk (GNU awk) not found])
114 fi
115
116 AC_CONFIG_HEADERS([config.h])
117 AC_CONFIG_FILES([Makefile
118         debian/changelog
119         helper/Makefile
120         lib/Makefile
121         src/config.ml
122         src/Makefile])
123 AC_OUTPUT