guestfs: Reference guestfs-browser architecture in threads documentation.
[libguestfs.git] / configure.ac
index cfad704..081cb4c 100644 (file)
 
 # major/minor/release must be numbers
 m4_define([libguestfs_major],   [1])
-m4_define([libguestfs_minor],   [0])
-m4_define([libguestfs_release], [86])
+m4_define([libguestfs_minor],   [2])
+m4_define([libguestfs_release], [13])
 # extra can be any string
 m4_define([libguestfs_extra],   [])
 
-AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release[]libguestfs_extra)
+AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
 AC_CONFIG_AUX_DIR([build-aux])
 AM_INIT_AUTOMAKE([foreign])
 
@@ -37,6 +37,33 @@ AC_DEFINE([PACKAGE_VERSION_MINOR],[libguestfs_minor],[Minor version number])
 AC_DEFINE([PACKAGE_VERSION_RELEASE],[libguestfs_release],[Release number])
 AC_DEFINE([PACKAGE_VERSION_EXTRA],["libguestfs_extra"],[Extra version string])
 
+dnl Stable or unstable version?
+AC_MSG_CHECKING([if this is a stable or unstable branch of libguestfs])
+AS_IF([test "$((libguestfs_minor % 2))" -eq 0 ],[
+            AC_MSG_RESULT([stable])
+       ],[
+            AC_MSG_RESULT([unstable])
+            AC_MSG_NOTICE([
+***
+This is a development version of libguestfs. Some APIs may be unstable
+until they appear in a stable release of libguestfs (at which point
+the C API and ABI is guaranteed to remain stable forever).  For
+more information about stable and development branches of libguestfs
+please see the section "LIBGUESTFS VERSION NUMBERS" in guestfs(3).
+***])
+       ])
+
+dnl Die if the user tries to configure as root, see:
+dnl https://www.redhat.com/archives/libguestfs/2010-April/msg00098.html
+AC_MSG_CHECKING([if you are trying to configure as root])
+AS_IF([test "`id -u`" = 0 ],[
+            AC_MSG_RESULT([yes])
+            AC_MSG_FAILURE([Don't run './configure' or 'make' as root.])
+      ],[
+            AC_MSG_RESULT([no])
+      ])
+
+dnl Early gnulib initialization.
 gl_EARLY
 gl_INIT
 
@@ -83,10 +110,11 @@ if test "$gl_gcc_warnings" = yes; then
   nw="$nw -Wmissing-format-attribute" # daemon.h's asprintf_nowarn
   nw="$nw -Winline"                 # daemon.h's asprintf_nowarn
   nw="$nw -Wshadow"                 # numerous, plus we're not unanimous
-  # ?? -Wstrict-overflow
   nw="$nw -Wunsafe-loop-optimizations" # just a warning that an optimization
                                     # was not possible, safe to ignore
   nw="$nw -Wpacked"                 # Allow attribute((packed)) on structs
+  nw="$nw -Wlong-long"              # Allow long long since it's required
+                                    # by Python, Ruby and xstrtoll.
 
   gl_MANYWARN_ALL_GCC([ws])
   gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
@@ -345,9 +373,9 @@ if test "x$enable_appliance" = "xyes"; then
     dnl --with-updates to specify a Fedora updates repository.
     AC_ARG_WITH([updates],
         [AS_HELP_STRING([--with-updates],
-          [set name of Fedora updates repository @<:@default=updates-released-f11@:>@])],
+          [set name of Fedora updates repository @<:@default=updates-released-f12@:>@])],
         [],
-        [with_updates=updates-released-f11])
+        [with_updates=updates-released-f12])
     UPDATES="$with_updates"
     AC_SUBST(UPDATES)
 
@@ -364,9 +392,9 @@ fi
 dnl --with-repo to specify a Fedora repository.
 AC_ARG_WITH([repo],
         [AS_HELP_STRING([--with-repo],
-          [set name of Fedora repository @<:@default=fedora-11@:>@])],
+          [set name of Fedora repository @<:@default=fedora-12@:>@])],
         [],
-        [with_repo=fedora-11])
+        [with_repo=fedora-12])
 REPO="$with_repo"
 AC_SUBST(REPO)
 AC_DEFINE_UNQUOTED([REPO],["$REPO"],[Name of Fedora repository.])
@@ -440,7 +468,12 @@ AS_IF([test "x$with_readline" != xno],
          AC_MSG_FAILURE(
              [--with-readline was given, but test for readline failed])
          fi
-        ], -lncurses)])
+        ], -lncurses)
+     old_LIBS="$LIBS"
+     LIBS="$LIBS $LIBREADLINE"
+     AC_CHECK_FUNCS([append_history completion_matches rl_completion_matches])
+     LIBS="$old_LIBS"
+    ])
 
 dnl For i18n.
 AM_GNU_GETTEXT([external])
@@ -493,7 +526,7 @@ AC_CHECK_PROG([PERL],[perl],[perl],[no])
 dnl Check for Perl modules that must be present to compile and
 dnl test the Perl bindings.
 missing_perl_modules=no
-for pm in Test::More Test::Pod Test::Pod::Coverage ExtUtils::MakeMaker; do
+for pm in Test::More ExtUtils::MakeMaker; do
     AC_MSG_CHECKING([for $pm])
     if ! perl -M$pm -e1 >/dev/null 2>&1; then
         AC_MSG_RESULT([no])
@@ -713,7 +746,7 @@ AM_CONDITIONAL([HAVE_HASKELL],
 
 dnl Check for Perl modules needed by virt-df, inspector, etc.
 missing_perl_modules=no
-for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper XML::Writer Locale::TextDomain; do
+for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper XML::Writer Locale::TextDomain Win::Hivex Win::Hivex::Regedit; do
     AC_MSG_CHECKING([for $pm])
     if ! perl -M$pm -e1 >/dev/null 2>&1; then
         AC_MSG_RESULT([no])