From: Theodore Ts'o Date: Fri, 8 Nov 2002 18:50:51 +0000 (-0500) Subject: Update EVMS plugin to support EVMS ABI 1.2 X-Git-Tag: E2FSPROGS-1_31~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9d799a01d21900b40a32d4ae7eb793537c4c6a5;p=thirdparty%2Fe2fsprogs.git Update EVMS plugin to support EVMS ABI 1.2 --- diff --git a/ChangeLog b/ChangeLog index 957683266..83da5c9f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2002-11-08 Theodore Ts'o + + * 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 * Release of E2fsprogs 1.30 diff --git a/configure b/configure index 59b780d95..76d776b4a 100644 --- a/configure +++ b/configure @@ -28,7 +28,9 @@ ac_help="$ac_help 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 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } 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 @@ export CC # 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 @@ if test -z "$CC"; then # 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 @@ fi # 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 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 @@ cross_compiling=$ac_cv_prog_cc_cross 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 @@ if test $ac_cv_prog_cc_works = no; then { 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 @@ else 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_test_CFLAGS="${CFLAGS+set}" 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 @@ if test "${with_ccopts+set}" = set; then 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 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < 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 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < 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 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < 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 @@ echo "$ac_t""$CPP" 1>&6 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 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,25 +1117,34 @@ echo "Disabling htree clearing by default" 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. if test "${enable_dll_shlibs+set}" = set; then enableval="$enable_dll_shlibs" @@ -1445,7 +1456,7 @@ EOF 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 @@ fi # 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 @@ else 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 @@ else 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 < #include @@ -1536,7 +1547,7 @@ else #include 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 @@ rm -f conftest* 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 @@ -1571,7 +1582,7 @@ fi 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 @@ -1592,7 +1603,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1603,7 +1614,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); 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 @@ EOF 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 <&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 @@ EOF 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 <&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 @@ EOF 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 < #if STDC_HEADERS @@ -1775,12 +1786,12 @@ EOF 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 < #if STDC_HEADERS @@ -1810,19 +1821,19 @@ fi # 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 < 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 @@ EOF 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 <&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 @@ EOF 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 <&6 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 <&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 @@ done 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 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&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 @@ for ac_hdr in unistd.h 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 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 @@ done 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 <&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 @@ fi 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 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&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 @@ unistd.h sys/param.h 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 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 @@ done 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 <&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 @@ done 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 <&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 @@ EOF 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 < 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 @@ EOF 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 @@ fi 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 @@ fi 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 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 @@ fi 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 < 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 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 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 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&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 @@ fi 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 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&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 @@ EOF # 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 @@ fi 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 <&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 @@ done # 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 @@ fi # 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 @@ else fi cat > conftest.$ac_ext <&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 @@ fi 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 @@ fi 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 @@ else ac_save_LIBS="$LIBS" LIBS="-li $LIBS" cat > conftest.$ac_ext <&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 @@ else 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 <&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 @@ EOF # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi 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 @@ echo "configure:3324: checking for catalogs to be installed" >&5 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 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 @@ fi 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 @@ fi # 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 @@ else 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ fi # 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 @@ else 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 @@ fi # 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 @@ if test -n "$ac_tool_prefix"; then # 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 @@ fi # 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 @@ if test -n "$ac_tool_prefix"; then # 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 @@ fi # 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 @@ if test -n "$ac_tool_prefix"; then # 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 @@ fi # 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 @@ do # 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 @@ for ac_hdr in stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h diren 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 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 @@ fi 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 <&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 @@ fi 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 <&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 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 < 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 @@ EOF 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 <&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 @@ if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then 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 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4364,7 +4375,7 @@ main() 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 @@ EOF 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 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4404,7 +4415,7 @@ main() 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 @@ EOF 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 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4444,7 +4455,7 @@ main() 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 @@ EOF 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 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4484,7 +4495,7 @@ main() 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 @@ SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long 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 < #include @@ -4530,11 +4541,11 @@ int main() { #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 < #include @@ -4545,7 +4556,7 @@ int main() { #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 @@ if test "$cross_compiling" = yes; then { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&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 @@ EOF 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 < 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 @@ fi 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 < 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 @@ fi 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 <&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 @@ done 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 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&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 @@ fi 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 @@ -4843,20 +4854,20 @@ fi 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 < 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%@CPP@%$CPP%g 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 07b86cc8f..26dd31a51 100644 --- a/configure.in +++ b/configure.in @@ -164,21 +164,34 @@ echo "Disabling htree clearing by default" ) 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 f4c0b3296..7eceb83e3 100644 --- a/lib/evms/ChangeLog +++ b/lib/evms/ChangeLog @@ -1,5 +1,15 @@ 2002-11-08 Theodore Ts'o + * 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 a4c15b2df..47a5322e7 100644 --- a/lib/evms/Makefile.in +++ b/lib/evms/Makefile.in @@ -6,11 +6,11 @@ my_dir = lib/evms 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 f134389fb..e037ffa8d 100644 --- a/lib/evms/common.h +++ b/lib/evms/common.h @@ -24,38 +24,35 @@ #include #include -#include /* will pull in platform specific data type info from linux/include/asm */ -#include /* For EVMS_MAJOR */ - -typedef __u8 u8; -typedef __u16 u16; -typedef __u32 u32; -typedef __u64 u64; +#include /* 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_sector_t; 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 @@ typedef enum evms_plugin_code { * 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 @@ typedef unsigned char BOOLEAN; #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 @@ typedef struct geometry_s { * 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 @@ typedef struct progress_s { * 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 c0c8a8db6..505a7eba9 100644 --- a/lib/evms/enginestructs.h +++ b/lib/evms/enginestructs.h @@ -47,7 +47,7 @@ typedef struct plugin_record_s { /* 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 @@ typedef struct storage_object_s { 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 @@ typedef struct logical_volume_s { 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 @@ typedef struct logical_volume_s { 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 06c4844ff..c32760034 100644 --- a/lib/evms/fs_ext2.c +++ b/lib/evms/fs_ext2.c @@ -40,7 +40,11 @@ static plugin_record_t *pMyPluginRecord = &ext2_plugrec; +-------------------------------------------------------------------------------------*/ +#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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_init_task( task_context_t * context ) 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 @@ static int fs_get_plugin_info( char * descriptor_name, extended_info_array_t * * 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 @@ static int fs_get_plugin_info( char * descriptor_name, extended_info_array_t * * 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 @@ static int fs_get_plugin_info( char * descriptor_name, extended_info_array_t * * 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 @@ static fsim_functions_t fsim_ops = { 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 6338fb19a..326c9e9ca 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 158981d25..45826a0f0 100644 --- a/lib/evms/options.h +++ b/lib/evms/options.h @@ -66,13 +66,15 @@ typedef enum { 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 @@ typedef struct option_descriptor_s { 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 63130099b..11596a9fc 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 @@ typedef struct engine_functions_s { 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 @@ typedef struct engine_functions_s { 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 @@ typedef struct engine_functions_s { */ 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 @@ typedef struct plugin_functions_s { */ 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 @@ typedef struct plugin_functions_s { 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 @@ typedef struct plugin_functions_s { 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 @@ typedef struct plugin_functions_s { 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 @@ typedef struct plugin_functions_s { 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 @@ typedef struct plugin_functions_s { 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 @@ typedef struct plugin_functions_s { 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 @@ typedef struct plugin_functions_s { } 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 @@ typedef struct fsim_functions_s { 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 @@ typedef struct fsim_functions_s { 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 @@ typedef struct fsim_functions_s { 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 @@ typedef struct fsim_functions_s { dlist_t objects, option_array_t * options); #endif - + /* * Generic method for communicating with your plug-in. */ @@ -1052,7 +1089,7 @@ typedef struct fsim_functions_s { } 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 @@ typedef struct container_functions_s { 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. */