diff --git a/ChangeLog b/ChangeLog index 6844358e..d598fc8e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,11 @@ -1999-07-18 Theodore Ts'o +1999-09-24 + + * configure.in (HAVE_STATE_FLAGS): Check to see if st_flags is + actually useful (since glibc 2.1 declares it on Alpha + without it being usable). Add check for signal.h + header file, which doesn't exist on non-unix platforms. + +1999-07-18 Theodore Ts'o * Release of E2fsprogs 1.15 diff --git a/configure b/configure index d4388deb..5bcb9ddc 100644 --- a/configure +++ b/configure @@ -1868,7 +1868,7 @@ else fi echo "$ac_t""$CPP" 1>&6 -for ac_hdr in stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h linux/fd.h linux/major.h sys/disklabel.h sys/sockio.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h +for ac_hdr in stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h linux/fd.h linux/major.h sys/disklabel.h sys/sockio.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 @@ -2277,20 +2277,48 @@ fi echo "$ac_t""$e2fsprogs_cv_struct_st_flags" 1>&6 if test "$e2fsprogs_cv_struct_st_flags" = yes; then - cat >> confdefs.h <<\EOF + echo $ac_n "checking whether st_flags field is useful""... $ac_c" 1>&6 +echo "configure:2282: 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:2294: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + e2fsprogs_cv_struct_st_flags_immut=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + e2fsprogs_cv_struct_st_flags_immut=no +fi +rm -f conftest* +fi + + echo "$ac_t""$e2fsprogs_cv_struct_st_flags_immut" 1>&6 + if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then + cat >> confdefs.h <<\EOF #define HAVE_STAT_FLAGS 1 EOF + fi fi for ac_func in chflags getrusage llseek strdup getmntinfo strcasecmp srandom fchown mallinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2289: checking for $ac_func" >&5 +echo "configure:2317: 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:2345: \"$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 @@ -2338,19 +2366,19 @@ fi done echo $ac_n "checking ino_t defined by sys/types.h""... $ac_c" 1>&6 -echo "configure:2342: checking ino_t defined by sys/types.h" >&5 +echo "configure:2370: checking ino_t defined by sys/types.h" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_ino_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { ino_t ino; ino = 0; ; return 0; } EOF -if { (eval echo configure:2354: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_ino_t=yes else @@ -2371,17 +2399,17 @@ EOF fi ac_safe=`echo "linux/fs.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/fs.h""... $ac_c" 1>&6 -echo "configure:2375: checking for linux/fs.h" >&5 +echo "configure:2403: 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:2385: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2413: \"$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* @@ -2416,7 +2444,7 @@ fi SOCKET_LIB='' echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:2420: checking for socket in -lsocket" >&5 +echo "configure:2448: 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 @@ -2424,7 +2452,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:2467: \"$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 @@ -2457,12 +2485,12 @@ fi echo $ac_n "checking for optreset""... $ac_c" 1>&6 -echo "configure:2461: checking for optreset" >&5 +echo "configure:2489: 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 @@ -2485,12 +2513,12 @@ EOF fi echo $ac_n "checking whether the ext2 ioctls compile""... $ac_c" 1>&6 -echo "configure:2489: checking whether the ext2 ioctls compile" >&5 +echo "configure:2517: checking whether the ext2 ioctls compile" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_ioctl_ext2'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2498,7 +2526,7 @@ int main() { ioctl (0, EXT2_IOC_SETVERSION, 0); ; return 0; } EOF -if { (eval echo configure:2502: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2530: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_ioctl_ext2=yes else @@ -2518,19 +2546,19 @@ EOF fi echo $ac_n "checking whether struct ext2_inode has an i_version field""... $ac_c" 1>&6 -echo "configure:2522: checking whether struct ext2_inode has an i_version field" >&5 +echo "configure:2550: checking whether struct ext2_inode has an i_version field" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_ext2_inode_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct ext2_inode e2i; e2i.i_version=0; ; return 0; } EOF -if { (eval echo configure:2534: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_ext2_inode_version=yes else @@ -2574,20 +2602,20 @@ if test "$root_prefix" = NONE ; then fi echo $ac_n "checking whether linker accepts -static""... $ac_c" 1>&6 -echo "configure:2578: checking whether linker accepts -static" >&5 +echo "configure:2606: 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:2591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2619: \"$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 diff --git a/configure.in b/configure.in index b5c64e51..3f022e44 100644 --- a/configure.in +++ b/configure.in @@ -326,7 +326,7 @@ if test $cross_compiling = no; then else AC_CHECK_PROGS(BUILD_CC, gcc cc) fi -AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h linux/fd.h linux/major.h sys/disklabel.h sys/sockio.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h) +AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h linux/fd.h linux/major.h sys/disklabel.h sys/sockio.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h) AC_FUNC_VPRINTF dnl dnl See if struct dirent has a d_namlen field (like bsd systems), implying @@ -397,7 +397,16 @@ AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags, [e2fsprogs_cv_struct_st_flags=no])) AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags) if test "$e2fsprogs_cv_struct_st_flags" = yes; then - AC_DEFINE(HAVE_STAT_FLAGS) + AC_MSG_CHECKING(whether st_flags field is useful) + AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut, + AC_TRY_COMPILE([#include ], + [struct stat stat; stat.st_flags |= UF_IMMUTABLE;], + [e2fsprogs_cv_struct_st_flags_immut=yes], + [e2fsprogs_cv_struct_st_flags_immut=no])) + AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut) + if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then + AC_DEFINE(HAVE_STAT_FLAGS) + fi fi AC_CHECK_FUNCS(chflags getrusage llseek strdup getmntinfo strcasecmp srandom fchown mallinfo) dnl