btrfs-progs: check: introduce function to check shared block ref
[platform/upstream/btrfs-progs.git] / configure.ac
index d059e1c..901d434 100644 (file)
@@ -3,12 +3,16 @@ AC_INIT([btrfs-progs],
        [linux-btrfs@vger.kernel.org],,
        [http://btrfs.wiki.kernel.org])
 
+if test "x$PACKAGE_URL" = "x"; then
+       AC_DEFINE([PACKAGE_URL], ["http://btrfs.wiki.kernel.org"], [URL])
+fi
+
 dnl library version
 LIBBTRFS_MAJOR=0
 LIBBTRFS_MINOR=1
 LIBBTRFS_PATCHLEVEL=1
 
-CFLAGS=${CFLAGS:-"-g -O1 -Wall"}
+CFLAGS=${CFLAGS:-"-g -O1 -Wall -D_FORTIFY_SOURCE=2"}
 AC_SUBST([CFLAGS])
 
 AC_PREREQ([2.60])
@@ -19,7 +23,7 @@ dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors.
 AC_USE_SYSTEM_EXTENSIONS
 
 AC_CONFIG_SRCDIR([btrfs.c])
-AC_PREFIX_DEFAULT([/usr])
+AC_PREFIX_DEFAULT([/usr/local])
 
 AC_PROG_CC
 AC_CANONICAL_HOST
@@ -31,7 +35,7 @@ AC_SYS_LARGEFILE
 
 AC_PROG_INSTALL
 AC_PROG_LN_S
-AC_PATH_PROG([AR], [ar])
+AC_CHECK_TOOL([AR], [ar])
 AC_PATH_PROG([RM], [rm], [rm])
 AC_PATH_PROG([RMDIR], [rmdir], [rmdir])
 
@@ -94,17 +98,23 @@ fi
 
 AC_ARG_ENABLE([convert],
              AS_HELP_STRING([--disable-convert], [do not build btrfs-convert]),
-  [], [enable_btrfsconvert=yes]
+  [], [enable_convert=yes]
 )
 
-AS_IF([test "x$enable_btrfsconvert" = xyes], [DISABLE_BTRFSCONVERT=0], [DISABLE_BTRFSCONVERT=1])
+AS_IF([test "x$enable_convert" = xyes], [DISABLE_BTRFSCONVERT=0], [DISABLE_BTRFSCONVERT=1])
 AC_SUBST([DISABLE_BTRFSCONVERT])
 
-if test "x$enable_btrfsconvert" = xyes; then
-       PKG_CHECK_MODULES(EXT2FS, [ext2fs])
+if test "x$enable_convert" = xyes; then
+       PKG_CHECK_MODULES(EXT2FS, [ext2fs >= 1.42],,
+               [PKG_CHECK_MODULES(EXT2FS, [ext2fs],
+                       [AC_DEFINE([HAVE_OLD_E2FSPROGS], [1],
+                                 [E2fsprogs does not support BIGALLOC])]
+                       )])
        PKG_CHECK_MODULES(COM_ERR, [com_err])
 fi
 
+AX_CHECK_DEFINE([linux/fiemap.h], [FIEMAP_EXTENT_SHARED], [],
+               [AC_MSG_ERROR([no definition of FIEMAP_EXTENT_SHARED found])])
 
 dnl Define <NAME>_LIBS= and <NAME>_CFLAGS= by pkg-config
 dnl
@@ -120,6 +130,9 @@ PKG_STATIC(UUID_LIBS_STATIC, [uuid])
 PKG_CHECK_MODULES(ZLIB, [zlib])
 PKG_STATIC(ZLIB_LIBS_STATIC, [zlib])
 
+UDEVDIR="$(pkg-config udev --variable=udevdir)"
+AC_SUBST(UDEVDIR)
+
 dnl lzo library does not provide pkg-config, let use classic way
 AC_CHECK_LIB([lzo2], [lzo_version], [
        LZO2_LIBS="-llzo2"
@@ -161,9 +174,9 @@ AC_MSG_RESULT([
        cflags:            ${CFLAGS}
        ldflags:           ${LDFLAGS}
 
-       documentaton:      ${enable_documentation}
+       documentation:     ${enable_documentation}
        backtrace support: ${enable_backtrace}
-       btrfs-convert:     ${enable_btrfsconvert}
+       btrfs-convert:     ${enable_convert}
 
        Type 'make' to compile.
 ])