Update EVMS plugin to support EVMS ABI 1.2

diff --git a/ChangeLog b/ChangeLog
index 9576832..83da5c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-11-08  Theodore Ts'o  <tytso@mit.edu>
+
+	* configure.in, configure: Add support for EVMS ABI 1.2.
+		Changed configure option from --enable-old-evms
+		to --enable-evms-10 and --enable-evms-11
+
 2002-10-31  Theodore Ts'o  <tytso@mit.edu>
 
 	* Release of E2fsprogs 1.30
diff --git a/configure b/configure
index 59b780d..76d776b 100644
--- a/configure
+++ b/configure
@@ -28,7 +28,9 @@
 ac_help="$ac_help
   --enable-htree-clear 	  clear htree because we don't trust e2fsck"
 ac_help="$ac_help
-  --enable-old-evms	  use EVMS 1.0 ABI (instead of EVMS 1.1)"
+  --enable-evms-10	  use EVMS 1.0 ABI (instead of EVMS 1.2)"
+ac_help="$ac_help
+  --enable-evms-11	  use EVMS 1.1 ABI (instead of EVMS 1.1)"
 ac_help="$ac_help
   --enable-dll-shlibs	  select DLL libraries"
 ac_help="$ac_help
@@ -638,7 +640,7 @@
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:642: checking host system type" >&5
+echo "configure:644: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -672,7 +674,7 @@
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:676: checking for $ac_word" >&5
+echo "configure:678: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -702,7 +704,7 @@
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:706: checking for $ac_word" >&5
+echo "configure:708: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -753,7 +755,7 @@
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:757: checking for $ac_word" >&5
+echo "configure:759: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -785,7 +787,7 @@
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:789: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:791: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -796,12 +798,12 @@
 
 cat > conftest.$ac_ext << EOF
 
-#line 800 "configure"
+#line 802 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -827,12 +829,12 @@
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:831: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:833: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:836: checking whether we are using GNU C" >&5
+echo "configure:838: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -841,7 +843,7 @@
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:845: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:847: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -860,7 +862,7 @@
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:864: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:866: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -909,7 +911,7 @@
 CFLAGS=$withval
 fi
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:913: checking how to run the C preprocessor" >&5
+echo "configure:915: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -924,13 +926,13 @@
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 928 "configure"
+#line 930 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:934: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:936: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -941,13 +943,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 945 "configure"
+#line 947 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:951: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:953: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -958,13 +960,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 962 "configure"
+#line 964 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:968: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -990,17 +992,17 @@
 
 ac_safe=`echo "linux/fs.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for linux/fs.h""... $ac_c" 1>&6
-echo "configure:994: checking for linux/fs.h" >&5
+echo "configure:996: checking for linux/fs.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 999 "configure"
+#line 1001 "configure"
 #include "confdefs.h"
 #include <linux/fs.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1004: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1006: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1115,23 +1117,32 @@
 fi
 
 
-# Check whether --enable-old-evms or --disable-old-evms was given.
-if test "${enable_old_evms+set}" = set; then
-  enableval="$enable_old_evms"
-  if test "$enableval" = "no"
+EVMS_ABI_CODE=120
+# Check whether --enable-evms-10 or --disable-evms-10 was given.
+if test "${enable_evms_10+set}" = set; then
+  enableval="$enable_evms_10"
+  if test "$enableval" != "no"
 then
-	echo "Using EVMS 1.1.0 ABI"
-else
-	cat >> confdefs.h <<\EOF
-#define ABI_EVMS_1_0 1
-EOF
-
+	EVMS_ABI_CODE=100
 	echo "Enabling EVMS 1.0.0 ABI"
 fi
 
-else
-  echo "Using EVMS 1.1.0 ABI by default"
+fi
 
+# Check whether --enable-evms-11 or --disable-evms-11 was given.
+if test "${enable_evms_11+set}" = set; then
+  enableval="$enable_evms_11"
+  if test "$enableval" != "no"
+then
+	EVMS_ABI_CODE=110
+	echo "Enabling EVMS 1.1.0 ABI"
+fi
+
+fi
+
+if test "$EVMS_ABI_CODE" = "120"
+then
+	echo "Using EVMS 1.2.0 ABI by default"
 fi
 
 # Check whether --enable-dll-shlibs or --disable-dll-shlibs was given.
@@ -1445,7 +1456,7 @@
 
 ALL_LINGUAS="it nyc tr"
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1449: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1460: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1474,7 +1485,7 @@
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1478: checking for $ac_word" >&5
+echo "configure:1489: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1502,7 +1513,7 @@
 fi
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1506: checking for POSIXized ISC" >&5
+echo "configure:1517: checking for POSIXized ISC" >&5
 if test -d /etc/conf/kconfig.d &&
   grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
 then
@@ -1523,12 +1534,12 @@
 fi
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1527: checking for ANSI C header files" >&5
+echo "configure:1538: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1532 "configure"
+#line 1543 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1536,7 +1547,7 @@
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1540: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1551: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1553,7 +1564,7 @@
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1557 "configure"
+#line 1568 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1571,7 +1582,7 @@
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1575 "configure"
+#line 1586 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1592,7 +1603,7 @@
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1596 "configure"
+#line 1607 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1603,7 +1614,7 @@
 exit (0); }
 
 EOF
-if { (eval echo configure:1607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1627,12 +1638,12 @@
 fi
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1631: checking for working const" >&5
+echo "configure:1642: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1636 "configure"
+#line 1647 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1681,7 +1692,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:1685: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1702,21 +1713,21 @@
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1706: checking for inline" >&5
+echo "configure:1717: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 1713 "configure"
+#line 1724 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:1720: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -1742,12 +1753,12 @@
 esac
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:1746: checking for off_t" >&5
+echo "configure:1757: checking for off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1751 "configure"
+#line 1762 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1775,12 +1786,12 @@
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1779: checking for size_t" >&5
+echo "configure:1790: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1784 "configure"
+#line 1795 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1810,19 +1821,19 @@
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1814: checking for working alloca.h" >&5
+echo "configure:1825: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1819 "configure"
+#line 1830 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:1826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -1843,12 +1854,12 @@
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1847: checking for alloca" >&5
+echo "configure:1858: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1852 "configure"
+#line 1863 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -1876,7 +1887,7 @@
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:1880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -1908,12 +1919,12 @@
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1912: checking whether alloca needs Cray hooks" >&5
+echo "configure:1923: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1917 "configure"
+#line 1928 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -1938,12 +1949,12 @@
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1942: checking for $ac_func" >&5
+echo "configure:1953: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1947 "configure"
+#line 1958 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1966,7 +1977,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:1970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1993,7 +2004,7 @@
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1997: checking stack direction for C alloca" >&5
+echo "configure:2008: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2001,7 +2012,7 @@
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 2005 "configure"
+#line 2016 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -2020,7 +2031,7 @@
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:2024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -2045,17 +2056,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2049: checking for $ac_hdr" >&5
+echo "configure:2060: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2054 "configure"
+#line 2065 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2059: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2084,12 +2095,12 @@
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2088: checking for $ac_func" >&5
+echo "configure:2099: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2093 "configure"
+#line 2104 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2112,7 +2123,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2137,7 +2148,7 @@
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:2141: checking for working mmap" >&5
+echo "configure:2152: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2145,7 +2156,7 @@
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2149 "configure"
+#line 2160 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -2285,7 +2296,7 @@
 }
 
 EOF
-if { (eval echo configure:2289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -2313,17 +2324,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2317: checking for $ac_hdr" >&5
+echo "configure:2328: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2322 "configure"
+#line 2333 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2327: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2338: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2353,12 +2364,12 @@
 strdup __argz_count __argz_stringify __argz_next
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2357: checking for $ac_func" >&5
+echo "configure:2368: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2362 "configure"
+#line 2373 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2381,7 +2392,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2410,12 +2421,12 @@
      for ac_func in stpcpy
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2414: checking for $ac_func" >&5
+echo "configure:2425: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2419 "configure"
+#line 2430 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2438,7 +2449,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2472,19 +2483,19 @@
 
    if test $ac_cv_header_locale_h = yes; then
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:2476: checking for LC_MESSAGES" >&5
+echo "configure:2487: checking for LC_MESSAGES" >&5
 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2481 "configure"
+#line 2492 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:2488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_val_LC_MESSAGES=yes
 else
@@ -2505,7 +2516,7 @@
     fi
   fi
    echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:2509: checking whether NLS is requested" >&5
+echo "configure:2520: checking whether NLS is requested" >&5
         # Check whether --enable-nls or --disable-nls was given.
 if test "${enable_nls+set}" = set; then
   enableval="$enable_nls"
@@ -2525,7 +2536,7 @@
 EOF
 
       echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:2529: checking whether included gettext is requested" >&5
+echo "configure:2540: checking whether included gettext is requested" >&5
       # Check whether --with-included-gettext or --without-included-gettext was given.
 if test "${with_included_gettext+set}" = set; then
   withval="$with_included_gettext"
@@ -2544,17 +2555,17 @@
 
 	ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:2548: checking for libintl.h" >&5
+echo "configure:2559: checking for libintl.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2553 "configure"
+#line 2564 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2558: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2569: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2571,19 +2582,19 @@
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:2575: checking for gettext in libc" >&5
+echo "configure:2586: checking for gettext in libc" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2580 "configure"
+#line 2591 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 int main() {
 return (int) gettext ("")
 ; return 0; }
 EOF
-if { (eval echo configure:2587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gettext_libc=yes
 else
@@ -2599,7 +2610,7 @@
 
 	   if test "$gt_cv_func_gettext_libc" != "yes"; then
 	     echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:2603: checking for bindtextdomain in -lintl" >&5
+echo "configure:2614: checking for bindtextdomain in -lintl" >&5
 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2607,7 +2618,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2611 "configure"
+#line 2622 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2618,7 +2629,7 @@
 bindtextdomain()
 ; return 0; }
 EOF
-if { (eval echo configure:2622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2634,12 +2645,12 @@
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:2638: checking for gettext in libintl" >&5
+echo "configure:2649: checking for gettext in libintl" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:2643: checking for gettext in -lintl" >&5
+echo "configure:2654: checking for gettext in -lintl" >&5
 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2647,7 +2658,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2651 "configure"
+#line 2662 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2658,7 +2669,7 @@
 gettext()
 ; return 0; }
 EOF
-if { (eval echo configure:2662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2697,7 +2708,7 @@
 	      # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2701: checking for $ac_word" >&5
+echo "configure:2712: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2731,12 +2742,12 @@
 		for ac_func in dcgettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2735: checking for $ac_func" >&5
+echo "configure:2746: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2740 "configure"
+#line 2751 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2759,7 +2770,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2786,7 +2797,7 @@
 		# Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2790: checking for $ac_word" >&5
+echo "configure:2801: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2822,7 +2833,7 @@
 		# Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2826: checking for $ac_word" >&5
+echo "configure:2837: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2854,7 +2865,7 @@
 fi
 
 		cat > conftest.$ac_ext <<EOF
-#line 2858 "configure"
+#line 2869 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2862,7 +2873,7 @@
 			       return _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:2866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   CATOBJEXT=.gmo
 		   DATADIRNAME=share
@@ -2885,7 +2896,7 @@
 
         if test "$CATOBJEXT" = "NONE"; then
 	  echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
-echo "configure:2889: checking whether catgets can be used" >&5
+echo "configure:2900: checking whether catgets can be used" >&5
 	  # Check whether --with-catgets or --without-catgets was given.
 if test "${with_catgets+set}" = set; then
   withval="$with_catgets"
@@ -2898,7 +2909,7 @@
 
 	  if test "$nls_cv_use_catgets" = "yes"; then
 	    	    echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:2902: checking for main in -li" >&5
+echo "configure:2913: checking for main in -li" >&5
 ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2906,14 +2917,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-li  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2910 "configure"
+#line 2921 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:2917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2941,12 +2952,12 @@
 fi
 
 	    echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:2945: checking for catgets" >&5
+echo "configure:2956: checking for catgets" >&5
 if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2950 "configure"
+#line 2961 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char catgets(); below.  */
@@ -2969,7 +2980,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_catgets=yes"
 else
@@ -2991,7 +3002,7 @@
 	       # Extract the first word of "gencat", so it can be a program name with args.
 set dummy gencat; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2995: checking for $ac_word" >&5
+echo "configure:3006: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3027,7 +3038,7 @@
 		 # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3031: checking for $ac_word" >&5
+echo "configure:3042: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3064,7 +3075,7 @@
 		   # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3068: checking for $ac_word" >&5
+echo "configure:3079: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3099,7 +3110,7 @@
 		 # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3103: checking for $ac_word" >&5
+echo "configure:3114: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3157,7 +3168,7 @@
         # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3161: checking for $ac_word" >&5
+echo "configure:3172: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3191,7 +3202,7 @@
         # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3195: checking for $ac_word" >&5
+echo "configure:3206: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3227,7 +3238,7 @@
         # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3231: checking for $ac_word" >&5
+echo "configure:3242: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3320,7 +3331,7 @@
        LINGUAS=
      else
        echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:3324: checking for catalogs to be installed" >&5
+echo "configure:3335: checking for catalogs to be installed" >&5
        NEW_LINGUAS=
        for lang in ${LINGUAS=$ALL_LINGUAS}; do
          case "$ALL_LINGUAS" in
@@ -3348,17 +3359,17 @@
    if test "$CATOBJEXT" = ".cat"; then
      ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:3352: checking for linux/version.h" >&5
+echo "configure:3363: checking for linux/version.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3357 "configure"
+#line 3368 "configure"
 #include "confdefs.h"
 #include <linux/version.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3362: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3424,7 +3435,7 @@
   
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:3428: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:3439: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3453,7 +3464,7 @@
 # Extract the first word of "ln", so it can be a program name with args.
 set dummy ln; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3457: checking for $ac_word" >&5
+echo "configure:3468: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_LN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3487,7 +3498,7 @@
 fi
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:3491: checking whether ln -s works" >&5
+echo "configure:3502: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3510,7 +3521,7 @@
 # Extract the first word of "mv", so it can be a program name with args.
 set dummy mv; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3514: checking for $ac_word" >&5
+echo "configure:3525: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MV'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3546,7 +3557,7 @@
 # Extract the first word of "cp", so it can be a program name with args.
 set dummy cp; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3550: checking for $ac_word" >&5
+echo "configure:3561: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_CP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3582,7 +3593,7 @@
 # Extract the first word of "rm", so it can be a program name with args.
 set dummy rm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3586: checking for $ac_word" >&5
+echo "configure:3597: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3618,7 +3629,7 @@
 # Extract the first word of "chmod", so it can be a program name with args.
 set dummy chmod; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3622: checking for $ac_word" >&5
+echo "configure:3633: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3654,7 +3665,7 @@
 # Extract the first word of "awk", so it can be a program name with args.
 set dummy awk; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3658: checking for $ac_word" >&5
+echo "configure:3669: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3690,7 +3701,7 @@
 # Extract the first word of "sed", so it can be a program name with args.
 set dummy sed; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3694: checking for $ac_word" >&5
+echo "configure:3705: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_SED'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3726,7 +3737,7 @@
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3730: checking for $ac_word" >&5
+echo "configure:3741: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3762,7 +3773,7 @@
 # Extract the first word of "ldconfig", so it can be a program name with args.
 set dummy ldconfig; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3766: checking for $ac_word" >&5
+echo "configure:3777: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_LDCONFIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3796,7 +3807,7 @@
 fi
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:3800: checking build system type" >&5
+echo "configure:3811: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -3822,7 +3833,7 @@
 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3826: checking for $ac_word" >&5
+echo "configure:3837: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3854,7 +3865,7 @@
   # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3858: checking for $ac_word" >&5
+echo "configure:3869: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3889,7 +3900,7 @@
 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3893: checking for $ac_word" >&5
+echo "configure:3904: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3921,7 +3932,7 @@
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3925: checking for $ac_word" >&5
+echo "configure:3936: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3956,7 +3967,7 @@
 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3960: checking for $ac_word" >&5
+echo "configure:3971: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3988,7 +3999,7 @@
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3992: checking for $ac_word" >&5
+echo "configure:4003: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4032,7 +4043,7 @@
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:4036: checking for a BSD compatible install" >&5
+echo "configure:4047: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4094,7 +4105,7 @@
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4098: checking for $ac_word" >&5
+echo "configure:4109: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4128,17 +4139,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4132: checking for $ac_hdr" >&5
+echo "configure:4143: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4137 "configure"
+#line 4148 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4153: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4165,12 +4176,12 @@
 done
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:4169: checking for vprintf" >&5
+echo "configure:4180: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4174 "configure"
+#line 4185 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -4193,7 +4204,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:4197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -4217,12 +4228,12 @@
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:4221: checking for _doprnt" >&5
+echo "configure:4232: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4226 "configure"
+#line 4237 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -4245,7 +4256,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:4249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -4270,19 +4281,19 @@
 fi
 
 echo $ac_n "checking whether llseek declared in unistd.h""... $ac_c" 1>&6
-echo "configure:4274: checking whether llseek declared in unistd.h" >&5
+echo "configure:4285: checking whether llseek declared in unistd.h" >&5
 if eval "test \"`echo '$''{'e2fsprogs_cv_have_llseek_prototype'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4279 "configure"
+#line 4290 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 int main() {
 extern int llseek(int);
 ; return 0; }
 EOF
-if { (eval echo configure:4286: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   e2fsprogs_cv_have_llseek_prototype=no
 else
@@ -4302,12 +4313,12 @@
 
 fi
 echo $ac_n "checking whether lseek64 declared in unistd.h""... $ac_c" 1>&6
-echo "configure:4306: checking whether lseek64 declared in unistd.h" >&5
+echo "configure:4317: checking whether lseek64 declared in unistd.h" >&5
 if eval "test \"`echo '$''{'e2fsprogs_cv_have_lseek64_prototype'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4311 "configure"
+#line 4322 "configure"
 #include "confdefs.h"
 #define _LARGEFILE_SOURCE
 #define _LARGEFILE64_SOURCE
@@ -4316,7 +4327,7 @@
 extern int lseek64(int);
 ; return 0; }
 EOF
-if { (eval echo configure:4320: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4331: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   e2fsprogs_cv_have_lseek64_prototype=no
 else
@@ -4344,7 +4355,7 @@
   echo "configure: warning: Cross-compiling, so cannot check type sizes; assuming short=2, int=4, long=4, long long=8" 1>&2
 fi
 echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:4348: checking size of short" >&5
+echo "configure:4359: checking size of short" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4352,7 +4363,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4356 "configure"
+#line 4367 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <sys/types.h>
@@ -4364,7 +4375,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_short=`cat conftestval`
 else
@@ -4384,7 +4395,7 @@
 
 
 echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:4388: checking size of int" >&5
+echo "configure:4399: checking size of int" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4392,7 +4403,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4396 "configure"
+#line 4407 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <sys/types.h>
@@ -4404,7 +4415,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_int=`cat conftestval`
 else
@@ -4424,7 +4435,7 @@
 
 
 echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4428: checking size of long" >&5
+echo "configure:4439: checking size of long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4432,7 +4443,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4436 "configure"
+#line 4447 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <sys/types.h>
@@ -4444,7 +4455,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_long=`cat conftestval`
 else
@@ -4464,7 +4475,7 @@
 
 
 echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:4468: checking size of long long" >&5
+echo "configure:4479: checking size of long long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4472,7 +4483,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4476 "configure"
+#line 4487 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <sys/types.h>
@@ -4484,7 +4495,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_long_long=`cat conftestval`
 else
@@ -4512,14 +4523,14 @@
 
 
 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:4516: checking whether byte ordering is bigendian" >&5
+echo "configure:4527: checking whether byte ordering is bigendian" >&5
 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_bigendian=unknown
 # See if sys/param.h defines the BYTE_ORDER macro.
 cat > conftest.$ac_ext <<EOF
-#line 4523 "configure"
+#line 4534 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -4530,11 +4541,11 @@
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:4534: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4545: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat > conftest.$ac_ext <<EOF
-#line 4538 "configure"
+#line 4549 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -4545,7 +4556,7 @@
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:4549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_bigendian=yes
 else
@@ -4565,7 +4576,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4569 "configure"
+#line 4580 "configure"
 #include "confdefs.h"
 main () {
   /* Are we little or big endian?  From Harbison&Steele.  */
@@ -4578,7 +4589,7 @@
   exit (u.c[sizeof (long) - 1] == 1);
 }
 EOF
-if { (eval echo configure:4582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_bigendian=no
 else
@@ -4602,19 +4613,19 @@
 fi
 
 echo $ac_n "checking whether struct stat has a st_flags field""... $ac_c" 1>&6
-echo "configure:4606: checking whether struct stat has a st_flags field" >&5
+echo "configure:4617: checking whether struct stat has a st_flags field" >&5
 if eval "test \"`echo '$''{'e2fsprogs_cv_struct_st_flags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4611 "configure"
+#line 4622 "configure"
 #include "confdefs.h"
 #include <sys/stat.h>
 int main() {
 struct stat stat; stat.st_flags = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   e2fsprogs_cv_struct_st_flags=yes
 else
@@ -4629,19 +4640,19 @@
 echo "$ac_t""$e2fsprogs_cv_struct_st_flags" 1>&6
 if test "$e2fsprogs_cv_struct_st_flags" = yes; then
   echo $ac_n "checking whether st_flags field is useful""... $ac_c" 1>&6
-echo "configure:4633: checking whether st_flags field is useful" >&5
+echo "configure:4644: checking whether st_flags field is useful" >&5
   if eval "test \"`echo '$''{'e2fsprogs_cv_struct_st_flags_immut'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4638 "configure"
+#line 4649 "configure"
 #include "confdefs.h"
 #include <sys/stat.h>
 int main() {
 struct stat stat; stat.st_flags |= UF_IMMUTABLE;
 ; return 0; }
 EOF
-if { (eval echo configure:4645: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   e2fsprogs_cv_struct_st_flags_immut=yes
 else
@@ -4664,12 +4675,12 @@
 for ac_func in chflags getrusage llseek lseek64 open64 getmntinfo strcasecmp srandom fchown mallinfo fdatasync strnlen sysconf pathconf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4668: checking for $ac_func" >&5
+echo "configure:4679: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4673 "configure"
+#line 4684 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4692,7 +4703,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:4696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4718,7 +4729,7 @@
 
 SOCKET_LIB=''
 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:4722: checking for socket in -lsocket" >&5
+echo "configure:4733: checking for socket in -lsocket" >&5
 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4726,7 +4737,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4730 "configure"
+#line 4741 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4737,7 +4748,7 @@
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:4741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4759,12 +4770,12 @@
 
 
 echo $ac_n "checking for optreset""... $ac_c" 1>&6
-echo "configure:4763: checking for optreset" >&5
+echo "configure:4774: checking for optreset" >&5
 if eval "test \"`echo '$''{'ac_cv_have_optreset'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4768 "configure"
+#line 4779 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 EOF
@@ -4843,20 +4854,20 @@
 
 
 echo $ac_n "checking whether linker accepts -static""... $ac_c" 1>&6
-echo "configure:4847: checking whether linker accepts -static" >&5
+echo "configure:4858: checking whether linker accepts -static" >&5
 if eval "test \"`echo '$''{'ac_cv_e2fsprogs_use_static'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
 cat > conftest.$ac_ext <<EOF
-#line 4853 "configure"
+#line 4864 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 fflush(stdout);
 ; return 0; }
 EOF
-if { (eval echo configure:4860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_e2fsprogs_use_static=yes
 else
@@ -5064,6 +5075,7 @@
 s%@LINUX_INCLUDE@%$LINUX_INCLUDE%g
 s%@HTREE_CMT@%$HTREE_CMT%g
 s%@HTREE_CLR_CMT@%$HTREE_CLR_CMT%g
+s%@EVMS_ABI_CODE@%$EVMS_ABI_CODE%g
 s%@DLL_CMT@%$DLL_CMT%g
 /@MAKEFILE_DLL@/r $MAKEFILE_DLL
 s%@MAKEFILE_DLL@%%g
diff --git a/configure.in b/configure.in
index 07b86cc..26dd31a 100644
--- a/configure.in
+++ b/configure.in
@@ -164,21 +164,34 @@
 )
 AC_SUBST(HTREE_CLR_CMT)
 dnl
-dnl handle --enable-old-evms
+dnl handle --enable-emvs-10
 dnl
-AC_ARG_ENABLE([old-evms],
-[  --enable-old-evms	  use EVMS 1.0 ABI (instead of EVMS 1.1)],
-if test "$enableval" = "no"
+EVMS_ABI_CODE=120
+AC_ARG_ENABLE([evms-10],
+[  --enable-evms-10	  use EVMS 1.0 ABI (instead of EVMS 1.2)],
+if test "$enableval" != "no"
 then
-	echo "Using EVMS 1.1.0 ABI"
-else
-	AC_DEFINE(ABI_EVMS_1_0)
+	EVMS_ABI_CODE=100
 	echo "Enabling EVMS 1.0.0 ABI"
 fi
-,
-echo "Using EVMS 1.1.0 ABI by default"
 )
 dnl
+dnl handle --enable-emvs-11
+dnl
+AC_ARG_ENABLE([evms-11],
+[  --enable-evms-11	  use EVMS 1.1 ABI (instead of EVMS 1.1)],
+if test "$enableval" != "no"
+then
+	EVMS_ABI_CODE=110
+	echo "Enabling EVMS 1.1.0 ABI"
+fi
+)
+if test "$EVMS_ABI_CODE" = "120"
+then
+	echo "Using EVMS 1.2.0 ABI by default"
+fi
+AC_SUBST(EVMS_ABI_CODE)
+dnl
 dnl handle --enable-dll-shlibs
 dnl
 AC_ARG_ENABLE([dll-shlibs],
diff --git a/lib/evms/ChangeLog b/lib/evms/ChangeLog
index f4c0b32..7eceb83 100644
--- a/lib/evms/ChangeLog
+++ b/lib/evms/ChangeLog
@@ -1,5 +1,15 @@
 2002-11-08  Theodore Ts'o  <tytso@mit.edu>
 
+	* fs_ext2.c (fs_setup): Synchronize with EVMS CVS rev 1.14 
+		(2002/10/17): Changed function to correspond with EVMS ABI
+		1.2
+
+	* Makefile.in, common.h, enginestructs.h, fs_ext2.c, fsimext2.h,
+		options.h, plugfuncs.h: Change #define from ABI_EVMS_1_0
+		to EVMS_ABI_CODE which may be 100, 110, or 120,
+		corresponding to EVMS releases 1.0.0, 1.1.0, and 1.2.0.
+		Update header files to support EVMS ABI 1.2.
+	
 	* fsimext2.c (set_mkfs_options): Synchronize with EVMS CVS rev
 		1.7 (2002/09/11): Add a hack to force mkfs won't a 
 		blocksize equal to the hardsector size if it is larger
diff --git a/lib/evms/Makefile.in b/lib/evms/Makefile.in
index a4c15b2..47a5322 100644
--- a/lib/evms/Makefile.in
+++ b/lib/evms/Makefile.in
@@ -6,11 +6,11 @@
 INSTALL = @INSTALL@
 
 MAJOR_VERSION	= 1
-MINOR_VERSION	= 1
+MINOR_VERSION	= 2
 PATCH_LEVEL	= 1
 EXTRAVERSION	=
 
-XTRA_CFLAGS= -I@srcdir@ -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DPATCH_LEVEL=$(PATCH_LEVEL)
+XTRA_CFLAGS= -I@srcdir@ -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DPATCH_LEVEL=$(PATCH_LEVEL) -DEVMS_ABI_CODE=@EVMS_ABI_CODE@
 
 @MCONFIG@
 
diff --git a/lib/evms/common.h b/lib/evms/common.h
index f134389..e037ffa 100644
--- a/lib/evms/common.h
+++ b/lib/evms/common.h
@@ -24,38 +24,35 @@
 
 #include <stdlib.h>
 #include <stdint.h>
-#include <linux/types.h>  /* will pull in platform specific data type info from linux/include/asm */
-#include <linux/major.h>    /* For EVMS_MAJOR */
-
-typedef __u8    u8;
-typedef __u16   u16;
-typedef __u32   u32;
-typedef __u64   u64;
+#include <sys/types.h>
 
 /* version info */
 #define EVMS_MAJOR_VERSION              1
-#define EVMS_MINOR_VERSION              1
+#define EVMS_MINOR_VERSION              2
 #define EVMS_PATCHLEVEL_VERSION         0
 
-#define MAX_EVMS_VOLUMES                256 /* There are 256 minors */
+#define EVMS_MAJOR			117
+
+#define MAX_EVMS_VOLUMES                256     /* There are 256 minors */
 #define EVMS_VOLUME_NAME_SIZE           127
 
 #define IBM_OEM_ID                      8112    // could be anything, but used
-                                                // I=8, B=1, M=12
+
+// I=8, B=1, M=12
 // this one going away as well.
-#define EVMS_OEM_IBM    IBM_OEM_ID
+#define EVMS_OEM_IBM                    IBM_OEM_ID
 
 #define EVMS_INITIAL_CRC                0xFFFFFFFF
-#define EVMS_MAGIC_CRC			0x31415926
+#define EVMS_MAGIC_CRC                  0x31415926
 
 #define EVMS_VSECTOR_SIZE               512
 #define EVMS_VSECTOR_SIZE_SHIFT         9
 
-#define DEV_PATH			"/dev"
-#define EVMS_DIR_NAME			"evms"
-#define EVMS_DEV_NAME			"block_device"
-#define EVMS_DEV_NODE_PATH		DEV_PATH "/" EVMS_DIR_NAME "/"
-#define EVMS_DEVICE_NAME		DEV_PATH "/" EVMS_DIR_NAME "/" EVMS_DEV_NAME
+#define DEV_PATH                        "/dev"
+#define EVMS_DIR_NAME                   "evms"
+#define EVMS_DEV_NAME                   "block_device"
+#define EVMS_DEV_NODE_PATH              DEV_PATH "/" EVMS_DIR_NAME "/"
+#define EVMS_DEVICE_NAME                DEV_PATH "/" EVMS_DIR_NAME "/" EVMS_DEV_NAME
 
 /* EVMS will always use 64-bit fields */
 typedef u_int64_t evms_sector_t;
@@ -64,24 +61,24 @@
 typedef u_int64_t evms_dev_handle_t;
 
 typedef struct evms_version {
-        /* major changes when incompatible differences are introduced */
-        u_int32_t    major;
-        /* minor changes when additions are made */
-        u_int32_t    minor;
-        /* patchlevel changes when bugs are fixed */
-        u_int32_t    patchlevel;
+    /* major changes when incompatible differences are introduced */
+    u_int32_t major;
+    /* minor changes when additions are made */
+    u_int32_t minor;
+    /* patchlevel changes when bugs are fixed */
+    u_int32_t patchlevel;
 } evms_version_t;
 
 typedef enum evms_plugin_code {
-        EVMS_NO_PLUGIN,                                // 0
-        EVMS_DEVICE_MANAGER,                           // 1
-        EVMS_SEGMENT_MANAGER,                          // 2
-        EVMS_REGION_MANAGER,                           // 3
-        EVMS_FEATURE,                                  // 4
-        EVMS_ASSOCIATIVE_FEATURE,                      // 5
-        EVMS_FILESYSTEM_INTERFACE_MODULE,              // 6
-        EVMS_CLUSTER_MANAGER_INTERFACE_MODULE,         // 7
-        EVMS_DISTRIBUTED_LOCK_MANAGER_INTERFACE_MODULE // 8
+    EVMS_NO_PLUGIN,                                     // 0
+    EVMS_DEVICE_MANAGER,                                // 1
+    EVMS_SEGMENT_MANAGER,                               // 2
+    EVMS_REGION_MANAGER,                                // 3
+    EVMS_FEATURE,                                       // 4
+    EVMS_ASSOCIATIVE_FEATURE,                           // 5
+    EVMS_FILESYSTEM_INTERFACE_MODULE,                   // 6
+    EVMS_CLUSTER_MANAGER_INTERFACE_MODULE,              // 7
+    EVMS_DISTRIBUTED_LOCK_MANAGER_INTERFACE_MODULE      // 8
 } evms_plugin_code_t;
 
 #define SetPluginID(oem, type, id) ((oem << 16) | (type << 12) | id)
@@ -93,123 +90,137 @@
  * the EVMS LOGICAL NODE (kernel) and
  * the EVMS LOGICAL VOLUME (user) structures.
  */
-#define EVMS_FLAGS_WIDTH                   	32
-#define EVMS_VOLUME_FLAG                        (1<<0)
-#define EVMS_VOLUME_PARTIAL_FLAG                (1<<1)
-#define EVMS_VOLUME_PARTIAL			(1<<1)
-#define EVMS_VOLUME_SET_READ_ONLY               (1<<2)
-#define EVMS_VOLUME_READ_ONLY               	(1<<2)
+#define EVMS_FLAGS_WIDTH                32
+#define EVMS_VOLUME_FLAG                (1<<0)
+#define EVMS_VOLUME_PARTIAL_FLAG        (1<<1)
+#define EVMS_VOLUME_PARTIAL             (1<<1)
+#define EVMS_VOLUME_SET_READ_ONLY       (1<<2)
+#define EVMS_VOLUME_READ_ONLY           (1<<2)
 
 /* queued flags bits */
-#define EVMS_REQUESTED_DELETE			(1<<5)
-#define EVMS_REQUESTED_QUIESCE			(1<<6)
-#define EVMS_REQUESTED_VFS_QUIESCE		(1<<7)
+#define EVMS_REQUESTED_DELETE           (1<<5)
+#define EVMS_REQUESTED_QUIESCE          (1<<6)
+#define EVMS_REQUESTED_VFS_QUIESCE      (1<<7)
 
 /* this bit indicates corruption */
-#define EVMS_VOLUME_CORRUPT			(1<<8)
+#define EVMS_VOLUME_CORRUPT             (1<<8)
 
 /* these bits define the source of the corruption */
-#define EVMS_VOLUME_SOFT_DELETED               	(1<<9)
-#define EVMS_DEVICE_UNAVAILABLE			(1<<10)
+#define EVMS_VOLUME_SOFT_DELETED        (1<<9)
+#define EVMS_DEVICE_UNAVAILABLE         (1<<10)
+
+/* these bits are used for moving objects. */
+#define EVMS_MOVE_PARENT                (1<<11)
 
 /* these bits define volume status */
-#define EVMS_MEDIA_CHANGED			(1<<20)
-#define EVMS_DEVICE_UNPLUGGED			(1<<21)
+#define EVMS_MEDIA_CHANGED              (1<<20)
+#define EVMS_DEVICE_UNPLUGGED           (1<<21)
 
 /* these bits used for removable status */
-#define EVMS_DEVICE_MEDIA_PRESENT		(1<<24)
-#define EVMS_DEVICE_PRESENT			(1<<25)
-#define EVMS_DEVICE_LOCKABLE			(1<<26)
-#define EVMS_DEVICE_REMOVABLE			(1<<27)
+#define EVMS_DEVICE_MEDIA_PRESENT       (1<<24)
+#define EVMS_DEVICE_PRESENT             (1<<25)
+#define EVMS_DEVICE_LOCKABLE            (1<<26)
+#define EVMS_DEVICE_REMOVABLE           (1<<27)
 
 /* version info for evms_feature_header_t */
-#define EVMS_FEATURE_HEADER_MAJOR	3
-#define EVMS_FEATURE_HEADER_MINOR	0
-#define EVMS_FEATURE_HEADER_PATCHLEVEL	0
+#define EVMS_FEATURE_HEADER_MAJOR       3
+#define EVMS_FEATURE_HEADER_MINOR       0
+#define EVMS_FEATURE_HEADER_PATCHLEVEL  0
+
+/* version info for evms_feature_header_t that has fields for move*/
+#define EVMS_MOVE_FEATURE_HEADER_MAJOR       3
+#define EVMS_MOVE_FEATURE_HEADER_MINOR       1
+#define EVMS_MOVE_FEATURE_HEADER_PATCHLEVEL  0
 
 /* bit definitions of FEATURE HEADER bits in the FLAGS field  */
-#define EVMS_FEATURE_ACTIVE                     (1<<0)
-#define EVMS_FEATURE_VOLUME_COMPLETE            (1<<1)
+#define EVMS_FEATURE_ACTIVE             (1<<0)
+#define EVMS_FEATURE_VOLUME_COMPLETE    (1<<1)
 
 /* bit definitions for VOLUME bits in the FLAGS field */
-#define EVMS_VOLUME_DATA_OBJECT			(1<<16)
-#define EVMS_VOLUME_DATA_STOP			(1<<17)
+#define EVMS_VOLUME_DATA_OBJECT         (1<<16)
+#define EVMS_VOLUME_DATA_STOP           (1<<17)
 
-#define EVMS_FEATURE_HEADER_SIGNATURE           0x54414546 // "FEAT"
+#define EVMS_FEATURE_HEADER_SIGNATURE   0x54414546  // "FEAT"
 typedef struct evms_feature_header {
 /*  0*/
-	u_int32_t               signature;
-/*  4*/ u_int32_t               crc;
-/*  8*/ evms_version_t          version;
-	/* structure version */
-/* 20*/ evms_version_t          engine_version;
-	/* version of the Engine that */
-	/* wrote this feature header  */
-/* 32*/ u_int32_t               flags;
-/* 36*/ u_int32_t               feature_id;
-/* 40*/ u_int64_t		sequence_number;
-/* 48*/ u_int64_t		alignment_padding;
-        //required: starting lsn to 1st copy of feature's metadata.
-/* 56*/ evms_sector_t           feature_data1_start_lsn;
-/* 64*/	evms_sector_t		feature_data1_size;
-	//in 512 byte units
-	//optional: starting lsn to 2nd copy of feature's metadata.
-	//          if unused set size field to 0.
-/* 72*/ evms_sector_t           feature_data2_start_lsn;
-/* 80*/	evms_sector_t		feature_data2_size;
-	//in 512 byte units
-/* 88*/ u_int64_t               volume_serial_number;
-/* 96*/ u_int32_t               volume_system_id;
-	/* the minor is stored here */
-/*100*/ u_int32_t               object_depth;
-	/* depth of object in the volume tree */
-/*104*/ char                    object_name[EVMS_VOLUME_NAME_SIZE + 1];
-/*232*/ char                    volume_name[EVMS_VOLUME_NAME_SIZE + 1];
-/*360*/ unsigned char		pad[152];
+    u_int32_t signature;
+/*  4*/ u_int32_t crc;
+/*  8*/ evms_version_t version;
+    /* structure version */
+/* 20*/ evms_version_t engine_version;
+    /* version of the Engine that */
+    /* wrote this feature header  */
+/* 32*/ u_int32_t flags;
+/* 36*/ u_int32_t feature_id;
+/* 40*/ u_int64_t sequence_number;
+/* 48*/ u_int64_t alignment_padding;
+    //required: starting lsn to 1st copy of feature's metadata.
+/* 56*/ evms_sector_t feature_data1_start_lsn;
+/* 64*/ evms_sector_t feature_data1_size;
+    //in 512 byte units
+    //optional: starting lsn to 2nd copy of feature's metadata.
+    //          if unused set size field to 0.
+/* 72*/ evms_sector_t feature_data2_start_lsn;
+/* 80*/ evms_sector_t feature_data2_size;
+    //in 512 byte units
+/* 88*/ u_int64_t volume_serial_number;
+/* 96*/ u_int32_t volume_system_id;
+    /* the minor is stored here */
+/*100*/ u_int32_t object_depth;
+    /* depth of object in the volume tree */
+/*104*/ char object_name[EVMS_VOLUME_NAME_SIZE + 1];
+/*232*/ char volume_name[EVMS_VOLUME_NAME_SIZE + 1];
+/*360*/ u_int32_t move_source;
+    /* version 3.1.0 feature header */
+/*364*/ u_int32_t move_target;
+    /* version 3.1.0 feature header */
+/*368*/ unsigned char pad[144];
 /*512*/
 } evms_feature_header_t;
 
 /* EVMS specific error codes */
-#define EVMS_FEATURE_FATAL_ERROR                257
-#define EVMS_VOLUME_FATAL_ERROR                 258
+#define EVMS_FEATURE_FATAL_ERROR        257
+#define EVMS_VOLUME_FATAL_ERROR         258
 
-#define EVMS_FEATURE_INCOMPLETE_ERROR		259
+#define EVMS_FEATURE_INCOMPLETE_ERROR   259
 
 /* Defines for storage object names */
-#define EVMS_NAME_SIZE          EVMS_VOLUME_NAME_SIZE
+#define EVMS_NAME_SIZE                  EVMS_VOLUME_NAME_SIZE
 
 /* Defines for the flags in the storage_object_t structure */
-#define SOFLAG_DIRTY                (1<<0)
-#define SOFLAG_NEW                  (1<<1)
-#define SOFLAG_READ_ONLY            (1<<2)
-#define SOFLAG_FEATURE_HEADER_DIRTY (1<<3)
-#define SOFLAG_MUST_BE_TOP          (1<<4)
-#define SOFLAG_IO_ERROR             (1<<5)
-#define SOFLAG_CORRUPT              (1<<6)
-#define SOFLAG_BIOS_READABLE        (1<<7)
-#define SOFLAG_MUST_BE_VOLUME       (1<<8)
-#define SOFLAG_NOT_CLAIMED          (1<<9)
-#define SOFLAG_WRITE_STOP_DATA      (1<<10)
+#define SOFLAG_DIRTY                    (1<<0)
+#define SOFLAG_NEW                      (1<<1)
+#define SOFLAG_READ_ONLY                (1<<2)
+#define SOFLAG_FEATURE_HEADER_DIRTY     (1<<3)
+#define SOFLAG_MUST_BE_TOP              (1<<4)
+#define SOFLAG_IO_ERROR                 (1<<5)
+#define SOFLAG_CORRUPT                  (1<<6)
+#define SOFLAG_BIOS_READABLE            (1<<7)
+#define SOFLAG_MUST_BE_VOLUME           (1<<8)
+#define SOFLAG_NOT_CLAIMED              (1<<9)
+#define SOFLAG_HAS_STOP_DATA            (1<<10)
 
 /* Defines for flags in the storage_container_t structure */
-#define SCFLAG_DIRTY                (1<<0)
-#define SCFLAG_NEW                  (1<<1)
+#define SCFLAG_DIRTY                    (1<<0)
+#define SCFLAG_NEW                      (1<<1)
 
 /* Defines for the flags in the logical_volume_t structure */
-#define VOLFLAG_DIRTY               (1<<0)
-#define VOLFLAG_NEW                 (1<<1)
-#define VOLFLAG_READ_ONLY           (1<<2)
-#define VOLFLAG_NEEDS_DEV_NODE      (1<<3)
-#define VOLFLAG_COMPATIBILITY       (1<<4)
-#define VOLFLAG_FOREIGN             (1<<5)
-#define VOLFLAG_MKFS                (1<<6)
-#define VOLFLAG_UNMKFS              (1<<7)
-#define VOLFLAG_FSCK                (1<<8)
-#define VOLFLAG_DEFRAG              (1<<9)
-#define VOLFLAG_EXPAND_FS           (1<<10)
-#define VOLFLAG_SHRINK_FS           (1<<11)
-#define VOLFLAG_SYNC_FS             (1<<12)
-#define VOLFLAG_PROBE_FS            (1<<13)
+#define VOLFLAG_DIRTY                   (1<<0)
+#define VOLFLAG_NEW                     (1<<1)
+#define VOLFLAG_READ_ONLY               (1<<2)
+#define VOLFLAG_NEEDS_DEV_NODE          (1<<3)
+#define VOLFLAG_COMPATIBILITY           (1<<4)
+#define VOLFLAG_FOREIGN                 (1<<5)
+#define VOLFLAG_MKFS                    (1<<6)
+#define VOLFLAG_UNMKFS                  (1<<7)
+#define VOLFLAG_FSCK                    (1<<8)
+#define VOLFLAG_DEFRAG                  (1<<9)
+#define VOLFLAG_EXPAND_FS               (1<<10)
+#define VOLFLAG_SHRINK_FS               (1<<11)
+#define VOLFLAG_SYNC_FS                 (1<<12)
+#define VOLFLAG_PROBE_FS                (1<<13)
+#define VOLFLAG_IS_EXTERNAL_LOG         (1<<14)
+#define VOLFLAG_HAS_EXTERNAL_LOG        (1<<15)
 
 /* A BOOLEAN variable is one which is either TRUE or FALSE. */
 #ifndef BOOLEAN_DEFINED
@@ -225,7 +236,7 @@
 #endif
 
 /*
- * Logical Sector Number:  This is a physical sector address on a system drive.
+ * Logical Sector Number: This is a physical sector address on a system drive.
  */
 typedef u_int64_t       lsn_t;
 
@@ -298,11 +309,11 @@
  * Definitions and structures for progress indicators.
  */
 typedef enum {
-    DISPLAY_PERCENT = 0,        /* Display the progress as a percentage.      */
-                                /* This is the default display mode.          */
-    DISPLAY_COUNT,              /* Display the progress as a count.           */
-    INDETERMINATE               /* Progress cannot be measured with a count   */
-                                /* of items.  Progress is simply "working".   */
+    DISPLAY_PERCENT = 0,    /* Display the progress as a percentage.      */
+    /* This is the default display mode.          */
+    DISPLAY_COUNT,          /* Display the progress as a count.           */
+    INDETERMINATE           /* Progress cannot be measured with a count   */
+    /* of items.  Progress is simply "working".   */
 } progress_type_t;
 
 typedef struct progress_s {
@@ -342,7 +353,7 @@
      * The plug-in may provide an estimate of how many seconds it will take
      * to complete the operation, but it is not required.  If the plug-in is
      * not providing a time estimate it MUST set remaining_seconds to zero.
-     * 
+     *
      * The plug-in may update remaining_seconds on subsequent calls for
      * progress.  If the plug-in does not provide a time estimate, the UI
      * may provide one based on the time elapsed between the calls to update
diff --git a/lib/evms/enginestructs.h b/lib/evms/enginestructs.h
index c0c8a8d..505a7eb 100644
--- a/lib/evms/enginestructs.h
+++ b/lib/evms/enginestructs.h
@@ -47,7 +47,7 @@
                                                            /* used only by the Engine */
     plugin_id_t                     id;                    /* Plug-in's ID */
     evms_version_t                  version;               /* Plug-in's version */
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
     evms_version_t                  required_api_version;  /* Version of the Engine plug-in API */
                                                            /* that the plug-in requires */
 #else
@@ -90,7 +90,7 @@
     dlist_t                      child_objects;         /* List of child objects, filled in by owner */
     struct storage_object_s    * associated_object;     /* Object to which this object is associated */
     u_int32_t                    flags;                 /* Defined by SOFLAG_???? in common.h */
-    lba_t                        start;                 /* Relative starting block of this object */
+    lsn_t                        start;                 /* Relative starting sector of this object */
     sector_count_t               size;                  /* Size of object in sectors */
     struct logical_volume_s    * volume;                /* Volume which comprises this object */
     evms_feature_header_t      * feature_header;        /* Copy of EVMS storage object's top feature header */
@@ -147,7 +147,7 @@
     sector_count_t            original_vol_size;    /* Size of the file system before expand or shrink */
     sector_count_t            vol_size;             /* Size of the volume */
     sector_count_t            max_vol_size;         /* Maximum size for the volume */
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     sector_count_t            shrink_vol_size;      /* Size to which to shrink the volume */
 #endif
     struct logical_volume_s * associated_volume;    /* Volume to which this volume is associated */
@@ -160,13 +160,13 @@
     u_int64_t                 serial_number;        /* Volume's serial number */
     u_int32_t                 flags;                /* Defined by VOLFLAG_???? defines */
     void                    * private_data;         /* Private data pointer for FSIMs. */
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     void                    * original_fsim_private_data;
                                                     /* Private data of original FSIM. */
 #endif
     char                      name[EVMS_VOLUME_NAME_SIZE+1];
                                                     /* Volume name, filled in by the Engine */
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     char                      dev_node[EVMS_VOLUME_NAME_SIZE+1];
                                                     /* Device node */
 #endif
diff --git a/lib/evms/fs_ext2.c b/lib/evms/fs_ext2.c
index 06c4844..c327600 100644
--- a/lib/evms/fs_ext2.c
+++ b/lib/evms/fs_ext2.c
@@ -40,7 +40,11 @@
 +-------------------------------------------------------------------------------------*/
 
 
+#if (EVMS_ABI_CODE >= 120)
+static int fs_setup( engine_functions_t *engine_function_table)
+#else
 static int fs_setup( engine_mode_t mode, engine_functions_t *engine_function_table)
+#endif
 {
     int rc = 0;
 	EngFncs = engine_function_table;
@@ -702,7 +706,7 @@
 		opt->help = NULL;
 		opt->type = EVMS_Type_Boolean;
 		opt->unit = EVMS_Unit_None;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 0;
 #endif
 		opt->flags = EVMS_OPTION_FLAGS_NOT_REQUIRED;
@@ -717,7 +721,7 @@
 		opt->help = NULL;
 		opt->type = EVMS_Type_Boolean;
 		opt->unit = EVMS_Unit_None;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 0;
 #endif
 		opt->flags = EVMS_OPTION_FLAGS_NOT_REQUIRED;
@@ -732,7 +736,7 @@
 		opt->help = NULL;
 		opt->type = EVMS_Type_String;
 		opt->unit = EVMS_Unit_None;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 16;
 #else
 		opt->min_len = 0;
@@ -754,7 +758,7 @@
 		opt->help = NULL;
 		opt->type = EVMS_Type_Boolean;
 		opt->unit = EVMS_Unit_None;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 0;
 #endif
 		opt->flags = EVMS_OPTION_FLAGS_NOT_REQUIRED;
@@ -775,7 +779,7 @@
 		opt->help = NULL;
 		opt->type = EVMS_Type_Boolean;
 		opt->unit = EVMS_Unit_None;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 0;
 #endif
 		opt->flags = EVMS_OPTION_FLAGS_NOT_REQUIRED;
@@ -790,7 +794,7 @@
 		opt->help = NULL;
 		opt->type = EVMS_Type_Boolean;
 		opt->unit = EVMS_Unit_None;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 0;
 #endif
 		opt->flags = EVMS_OPTION_FLAGS_NOT_REQUIRED;
@@ -808,7 +812,7 @@
 		SET_STRING(opt->title, "Check For Bad Blocks" );
 		SET_STRING(opt->tip, "Check for bad blocks and mark them as busy." );
 		opt->help = NULL;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 0;
 #endif
 		opt->type = EVMS_Type_Boolean;
@@ -829,7 +833,7 @@
 		opt->help = NULL;
 		opt->type = EVMS_Type_Boolean;
 		opt->unit = EVMS_Unit_None;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 0;
 #endif
 		if (EVMS_IS_MOUNTED(context->volume)) {
@@ -848,7 +852,7 @@
 		opt->help = NULL;
 		opt->type = EVMS_Type_Boolean;
 		opt->unit = EVMS_Unit_None;
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 		opt->size = 0;
 #endif
 		opt->flags = EVMS_OPTION_FLAGS_NOT_REQUIRED | EVMS_OPTION_FLAGS_INACTIVE;
@@ -1186,7 +1190,7 @@
 	extended_info_array_t   *Info;
 	extended_info_t		*iptr;
 	char                     version_string[64];
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 	char                     required_version_string[64];
 #else
 	char                     required_engine_api_version_string[64];
@@ -1210,7 +1214,7 @@
 					MINOR_VERSION,
 					PATCH_LEVEL );
 
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 				sprintf(required_version_string, "%d.%d.%d",
 					pMyPluginRecord->required_api_version.major,
 					pMyPluginRecord->required_api_version.minor,
@@ -1267,7 +1271,7 @@
 				iptr->collection_type    = EVMS_Collection_None;
 				memset( &iptr->group, 0, sizeof(group_info_t));
 
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 				iptr = &Info->info[Info->count++];
 				SET_STRING_FIELD( iptr->name, "Required Version" );
 				SET_STRING_FIELD( iptr->title, "Required Engine Version" );
@@ -1424,7 +1428,7 @@
 plugin_record_t  ext2_plugrec = {
 	id:                               SetPluginID(EVMS_OEM_IBM, EVMS_FILESYSTEM_INTERFACE_MODULE, FS_TYPE_EXT2 ),
 	version:                          {MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL},
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 	required_api_version:             {ENGINE_PLUGIN_API_MAJOR_VERION, 
 					   ENGINE_PLUGIN_API_MINOR_VERION,
 					   ENGINE_PLUGIN_API_PATCH_LEVEL},
diff --git a/lib/evms/fsimext2.h b/lib/evms/fsimext2.h
index 6338fb1..326c9e9 100644
--- a/lib/evms/fsimext2.h
+++ b/lib/evms/fsimext2.h
@@ -23,7 +23,7 @@
 /*
  * EVMS 1.0 backwards compatibility functions
  */
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 #define EVMS_IS_MOUNTED(vol)	((vol)->mount_point != 0)
 #define EVMS_GET_DEVNAME(vol)	((vol)->name)
 #else
diff --git a/lib/evms/options.h b/lib/evms/options.h
index 158981d..45826a0 100644
--- a/lib/evms/options.h
+++ b/lib/evms/options.h
@@ -66,13 +66,15 @@
     EVMS_Task_defrag,
     EVMS_Task_Message,
     EVMS_Task_Add_Feature,
+    EVMS_Task_Shrink_Container,
+    EVMS_Task_Set_Container_Info,
     EVMS_Task_Plugin_Function = 0x1000  /* Base number for plug-in funtions */
 } task_action_t;
 
 
 typedef struct function_info_s {
     task_action_t   function;       /* Plugin function number */
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     char          * name;           /* Short, unique (within the plug-in) name for the function */
                                     /* e.g., "addspare" */
 #endif
@@ -239,7 +241,7 @@
     char                     *help;                 /* Multi-paragraph detailed option help */
     value_type_t              type;                 /* Defines option data type */
     value_unit_t              unit;                 /* Defines unit value */
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
     u_int32_t                 size;                 /* Maximum size (in bytes) of option value */
 #else
     value_format_t            format;               /* Suggested format for display of values */
diff --git a/lib/evms/plugfuncs.h b/lib/evms/plugfuncs.h
index 6313009..11596a9 100644
--- a/lib/evms/plugfuncs.h
+++ b/lib/evms/plugfuncs.h
@@ -32,9 +32,13 @@
 #define MAX_USER_MESSAGE_LEN    10240
 
 
-#ifndef ABI_EVMS_1_0
+#if ((EVMS_ABI_CODE == 110) || (EVMS_ABI_CODE == 120))
 #define ENGINE_SERVICES_API_MAJOR_VERION  8
+#if (EVMS_ABI_CODE == 110)
 #define ENGINE_SERVICES_API_MINOR_VERION  0
+#else
+#define ENGINE_SERVICES_API_MINOR_VERION  1
+#endif
 #define ENGINE_SERVICES_API_PATCH_LEVEL   0
 #endif
 
@@ -43,7 +47,8 @@
  */
 
 typedef struct engine_functions_s {
-#ifndef ABI_EVMS_1_0
+
+#if (EVMS_ABI_CODE >= 110)
     /*
      * Get the version of the plug-in API that this Engine provides.
      */
@@ -364,7 +369,7 @@
                               char                * message_text,
                               option_desc_array_t * options);
 
-#ifndef ABI_EVMS_1_0		/* New for version 8 */
+#if (EVMS_ABI_CODE >= 110)		/* New for version 8 */
     /*
      * Start, update, or close a progress indicator for the user.  See the
      * description in common.h for how the progress_t structures are used.
@@ -396,7 +401,7 @@
     BOOLEAN (*is_mounted)(char   * volume_name,
                           char * * mount_name);
 
-#ifndef ABI_EVMS_1_0		/* New for version 8 */
+#if (EVMS_ABI_CODE >= 110)		/* New for version 8 */
     /*
      * Assign an FSIM to a volume.  FSIMs can use this service to claim control
      * of a volume.  For example, an FSIM for a journaling file system may want
@@ -420,25 +425,40 @@
      */
     int (*unassign_fsim_from_volume)(logical_volume_t * volume);
 #endif
-    
+
+#if (EVMS_ABI_CODE >= 120)
+    /*
+     * Get the mode in which the Engine was opened.
+     */
+    engine_mode_t (*get_engine_mode)(void);
+#endif
+
 } engine_functions_t;
 
 
-#ifdef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE == 100)
 #define ENGINE_PLUGIN_API_MAJOR_VERION  3
-#else
+#elif (EVMS_ABI_CODE == 110)
 #define ENGINE_PLUGIN_API_MAJOR_VERION  8
-#endif
+#elif (EVMS_ABI_CODE == 120)
+#define ENGINE_PLUGIN_API_MAJOR_VERION  9
+#else
+#error Unknown EVMS_ABI
+#endif /* EVMS_ABI_CODE */
 #define ENGINE_PLUGIN_API_MINOR_VERION  0
 #define ENGINE_PLUGIN_API_PATCH_LEVEL   0
 
 typedef struct plugin_functions_s {
+#if (EVMS_ABI_CODE >= 120)
+    int (*setup_evms_plugin)(engine_functions_t * functions);
+#else	
     int (*setup_evms_plugin)(engine_mode_t        mode,
                              engine_functions_t * functions);
+#endif
 
     void (*cleanup_evms_plugin)(void);
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     /*
      * Can you apply your plug-in to the input_object?  If yes, return the size
      * of the object you would create.
@@ -454,7 +474,7 @@
      */
     int (*can_delete)(storage_object_t * object);
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     /*
      * Can you unassign your plug-in from this object?
      */
@@ -504,10 +524,18 @@
     int (*can_shrink_by)(storage_object_t * object,
                          sector_count_t   * size);
 
+#if (EVMS_ABI_CODE >= 120)
+    /*
+     * Can you replace this object's child with another object?
+     */
+    int (*can_replace_child)(storage_object_t * object,
+                             storage_object_t * child);
+#else
     /*
      * Can you move this object?
      */
     int (*can_move)(storage_object_t * object);
+#endif
 
     /*
      * Will you allow your object to be made into a volume?  (We don't see
@@ -541,7 +569,7 @@
                   option_array_t * options,
                   dlist_t          output_objects);
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     /*
      * Assign your plug-in to produce storage objects from the given storage
      * object.  This function makes sense mainly for segment managers that are
@@ -561,7 +589,7 @@
     int (*delete)(storage_object_t * object,
                   dlist_t            child_objects);
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     /*
      * Unassign your plug-in from producing storage objects from the given
      * storage object.  This function makes sense mainly for segment managers
@@ -602,6 +630,14 @@
                   dlist_t            input_objects,
                   option_array_t   * options);
 
+#if (EVMS_ABI_CODE >= 120)
+    /*
+     * Replace the object's child with the new child object.
+     */
+    int (*replace_child)(storage_object_t * object,
+                         storage_object_t * child,
+                         storage_object_t * new_child);
+#else
     /*
      * Move the contents of the source object to the target object using the
      * given options.
@@ -609,6 +645,7 @@
     int (*move)(storage_object_t * source,
                 storage_object_t * target,
                 option_array_t   * options);
+#endif
 
     /*
      * This call notifies you that your object is being made into (or part of)
@@ -762,7 +799,7 @@
                  sector_count_t     count,
                  void             * buffer);
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     /*
      * Return an array of plug-in functions that you support for this object.
      */
@@ -788,7 +825,7 @@
 } plugin_functions_t;
 
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
 #define ENGINE_FSIM_API_MAJOR_VERION  8
 #define ENGINE_FSIM_API_MINOR_VERION  0
 #define ENGINE_FSIM_API_PATCH_LEVEL   0
@@ -865,7 +902,7 @@
     int (*can_shrink_by)(logical_volume_t * volume,
                          sector_count_t   * delta_size);
 
-#ifndef ABI_EVMS_1_0		/* New for version 8 */
+#if (EVMS_ABI_CODE >= 110)		/* New for version 8 */
     /*
      * mkfs has been scheduled.  Do any setup work such as claiming another
      * volume for an external log.
@@ -880,7 +917,7 @@
     int (*mkfs)(logical_volume_t * volume,
                 option_array_t   * options);
 
-#ifndef ABI_EVMS_1_0		/* New for version 8 */
+#if (EVMS_ABI_CODE >= 110)		/* New for version 8 */
     /*
      * unmkfs has been scheduled.  Do any setup work such as releasing another
      * volume that was used for an external log.
@@ -1026,7 +1063,7 @@
     int (*get_plugin_info)(char                    * info_name,
                            extended_info_array_t * * info);
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     /*
      * Return an array of plug-in functions that you support for this volume.
      */
@@ -1041,7 +1078,7 @@
                            dlist_t            objects,
                            option_array_t   * options);
 #endif
-    
+
     /*
      * Generic method for communicating with your plug-in.
      */
@@ -1052,7 +1089,7 @@
 } fsim_functions_t;
 
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
 #define ENGINE_CONTAINER_API_MAJOR_VERION  8
 #define ENGINE_CONTAINER_API_MINOR_VERION  0
 #define ENGINE_CONTAINER_API_PATCH_LEVEL   0
@@ -1176,7 +1213,7 @@
     int (*set_container_info)(storage_container_t * container,
                               option_array_t      * options);
 
-#ifndef ABI_EVMS_1_0
+#if (EVMS_ABI_CODE >= 110)
     /*
      * Return an array of plug-in functions that you support for this container.
      */