From 697afb65fcf45bf27572b10e788fd8661efe5113 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Fri, 3 Dec 2004 19:36:53 +0000 Subject: [PATCH] * configure.in (SIM_CHECK_MEMBERS): Call for struct stat members st_dev, st_ino, st_mode, st_nlink, st_uid, st_gid, st_rdev, st_size, st_blksize, st_blocks, st_atime, st_mtime and st_ctime. * aclocal.m4 (SIM_CHECK_MEMBER, SIM_CHECK_MEMBERS_1) (SIM_CHECK_MEMBERS): New macros. * callback.c (cb_host_to_target_stat): Use temporary macro ST_x for struct stat member test and write. Add ST_x calls for each struct stat member tested in configure.in. Wrap each ST_x call in #ifdef of configure macro for that member. * configure, config.in: Regenerate. --- sim/common/ChangeLog | 13 + sim/common/aclocal.m4 | 68 ++++ sim/common/callback.c | 52 ++- sim/common/config.in | 40 +++ sim/common/configure | 870 ++++++++++++++++++++++++++++++++++++++++++++++++ sim/common/configure.in | 6 +- 6 files changed, 1044 insertions(+), 5 deletions(-) diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 4b4b677..2158275 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,16 @@ +2004-12-03 Hans-Peter Nilsson + + * configure.in (SIM_CHECK_MEMBERS): Call for struct stat members + st_dev, st_ino, st_mode, st_nlink, st_uid, st_gid, st_rdev, + st_size, st_blksize, st_blocks, st_atime, st_mtime and st_ctime. + * aclocal.m4 (SIM_CHECK_MEMBER, SIM_CHECK_MEMBERS_1) + (SIM_CHECK_MEMBERS): New macros. + * callback.c (cb_host_to_target_stat): Use temporary macro ST_x + for struct stat member test and write. Add ST_x calls for each + struct stat member tested in configure.in. Wrap each ST_x call in + #ifdef of configure macro for that member. + * configure, config.in: Regenerate. + 2004-12-01 Hans-Peter Nilsson * cgen.sh: New thirteenth parameter opcfile, defaulting to diff --git a/sim/common/aclocal.m4 b/sim/common/aclocal.m4 index ceee6d4..20c72ff 100644 --- a/sim/common/aclocal.m4 +++ b/sim/common/aclocal.m4 @@ -1257,3 +1257,71 @@ AC_SUBST(CGEN_MAINT) AC_SUBST(cgendir) AC_SUBST(cgen) ]) +dnl FIXME: When upgrading to modern autoconf, remove +dnl SIM_CHECK_MEMBER and SIM_CHECK_MEMBERS et al and use +dnl AC_CHECK_MEMBERS from autoconf. +dnl +dnl Translated from a FC2 autoconf-2.59-3 installation. +dnl AC_CHECK_MEMBER(AGGREGATE.MEMBER, +dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], +dnl [INCLUDES]) +dnl +dnl --------------------------------------------------------- +dnl AGGREGATE.MEMBER is for instance `struct passwd.pw_gecos', shell +dnl variables are not a valid argument. +AC_DEFUN([SIM_CHECK_MEMBER], +dnl Extract the aggregate name, and the member name +[AC_CACHE_CHECK([for $1], [ac_]patsubst([$1], [[\. ]], [_]), +[ac_]patsubst([$1], [[\. ]], [_])[=no;] +AC_TRY_COMPILE([$4],[ +dnl AGGREGATE ac_aggr; +static ]patsubst([$1], [\..*])[ ac_aggr; +dnl ac_aggr.MEMBER; +if (ac_aggr.]patsubst([$1], [^[^.]*\.])[) +return 0;],[ac_]patsubst([$1], [[\. ]], [_])[=yes;], +AC_TRY_COMPILE([$4],[ +dnl AGGREGATE ac_aggr; +static ]patsubst([$1], [\..*])[ ac_aggr; +dnl ac_aggr.MEMBER; +if (sizeof ac_aggr.]patsubst([$1], [^[^.]*\.])[) +return 0;], +[ac_]patsubst([$1], [[\. ]], [_])[=yes;], +[ac_]patsubst([$1], [[\. ]], [_])[=no;])) +[if test [$]ac_]patsubst([$1], [[\. ]], [_])[ = yes; then :; [$2] +else :; [$3] +fi]) +])dnl SIM_CHECK_MEMBER +dnl +dnl Translated from a FC2 autoconf-2.59-3 installation. +dnl SIM_CHECK_MEMBERS([AGGREGATE.MEMBER, ...]) +dnl except we just work with a limited set of fixed includes. +dnl +AC_DEFUN([SIM_CHECK_MEMBERS_1], +[ifelse($#, 1, +[SIM_CHECK_MEMBER([$1], +AC_DEFINE_UNQUOTED([HAVE_]translit([$1], [a-z .], [A-Z__]), 1, +[Define to 1 if ]patsubst([$1], +[^[^.]*\.])[ is a member of ]patsubst([$1], [\..*])[. ]),, +[#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif])], +[SIM_CHECK_MEMBER([$1], +AC_DEFINE_UNQUOTED([HAVE_]translit([$1], [a-z .], [A-Z__]), 1, +[Define to 1 if ]patsubst([$1], +[^[^.]*\.])[ is a member of ]patsubst([$1], [\..*])[. ]),, +[#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif]) +SIM_CHECK_MEMBERS_1(builtin(shift,$@))])])dnl SIM_CHECK_MEMBERS +dnl +AC_DEFUN([SIM_CHECK_MEMBERS], +[ifelse($#, 1, [SIM_CHECK_MEMBERS_1($1)], +[errprint(__file__:__line__: +[This SIM_CHECK_MEMBERS only supports one argument,] +[the list of struct tests])])])dnl SIM_CHECK_MEMBERS diff --git a/sim/common/callback.c b/sim/common/callback.c index ca707fc..d2a92d0 100644 --- a/sim/common/callback.c +++ b/sim/common/callback.c @@ -816,10 +816,54 @@ cb_host_to_target_stat (cb, hs, ts) if (hs != NULL) { - if (strncmp (m, "st_dev", q - m) == 0) - store (p, size, hs->st_dev, big_p); - else if (strncmp (m, "st_ino", q - m) == 0) - store (p, size, hs->st_ino, big_p); + if (1) + ; + /* Defined here to avoid emacs indigestion on a lone "else". */ +#undef ST_x +#define ST_x(FLD) \ + else if (strncmp (m, #FLD, q - m) == 0) \ + store (p, size, hs->FLD, big_p) + +#ifdef HAVE_STRUCT_STAT_ST_DEV + ST_x (st_dev); +#endif +#ifdef HAVE_STRUCT_STAT_ST_INO + ST_x (st_ino); +#endif +#ifdef HAVE_STRUCT_STAT_ST_MODE + ST_x (st_mode); +#endif +#ifdef HAVE_STRUCT_STAT_ST_NLINK + ST_x (st_nlink); +#endif +#ifdef HAVE_STRUCT_STAT_ST_UID + ST_x (st_uid); +#endif +#ifdef HAVE_STRUCT_STAT_ST_GID + ST_x (st_gid); +#endif +#ifdef HAVE_STRUCT_STAT_ST_RDEV + ST_x (st_rdev); +#endif +#ifdef HAVE_STRUCT_STAT_ST_SIZE + ST_x (st_size); +#endif +#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE + ST_x (st_blksize); +#endif +#ifdef HAVE_STRUCT_STAT_ST_BLOCKS + ST_x (st_blocks); +#endif +#ifdef HAVE_STRUCT_STAT_ST_ATIME + ST_x (st_atime); +#endif +#ifdef HAVE_STRUCT_STAT_ST_MTIME + ST_x (st_mtime); +#endif +#ifdef HAVE_STRUCT_STAT_ST_CTIME + ST_x (st_ctime); +#endif +#undef ST_x /* FIXME:wip */ else store (p, size, 0, big_p); /* unsupported field, store 0 */ diff --git a/sim/common/config.in b/sim/common/config.in index 0b222e8..1360d7b 100644 --- a/sim/common/config.in +++ b/sim/common/config.in @@ -180,3 +180,43 @@ /* Define if you have the socket library (-lsocket). */ #undef HAVE_LIBSOCKET + +/* Define to 1 if st_dev is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_DEV + +/* Define to 1 if st_ino is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_INO + +/* Define to 1 if st_mode is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_MODE + +/* Define to 1 if st_nlink is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_NLINK + +/* Define to 1 if st_uid is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_UID + +/* Define to 1 if st_gid is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_GID + +/* Define to 1 if st_rdev is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_RDEV + +/* Define to 1 if st_size is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_SIZE + +/* Define to 1 if st_blksize is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_BLKSIZE + +/* Define to 1 if st_blocks is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_BLOCKS + +/* Define to 1 if st_atime is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_ATIME + +/* Define to 1 if st_mtime is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_MTIME + +/* Define to 1 if st_ctime is a member of struct stat. */ +#undef HAVE_STRUCT_STAT_ST_CTIME + diff --git a/sim/common/configure b/sim/common/configure index 11c0e64..74f5e11 100755 --- a/sim/common/configure +++ b/sim/common/configure @@ -3617,6 +3617,876 @@ else fi done +echo $ac_n "checking for struct stat.st_dev""... $ac_c" 1>&6 +echo "configure:3622: checking for struct stat.st_dev" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_dev'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_dev=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_dev) +return 0; +; return 0; } +EOF +if { (eval echo configure:3643: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_dev=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_dev) +return 0; +; return 0; } +EOF +if { (eval echo configure:3666: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_dev=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_dev=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_dev = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_ino""... $ac_c" 1>&6 +echo "configure:3689: checking for struct stat.st_ino" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_ino'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_ino=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_ino) +return 0; +; return 0; } +EOF +if { (eval echo configure:3710: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_ino=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_ino) +return 0; +; return 0; } +EOF +if { (eval echo configure:3733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_ino=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_ino=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_ino = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_mode""... $ac_c" 1>&6 +echo "configure:3756: checking for struct stat.st_mode" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_mode'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_mode=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_mode) +return 0; +; return 0; } +EOF +if { (eval echo configure:3777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_mode=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_mode) +return 0; +; return 0; } +EOF +if { (eval echo configure:3800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_mode=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_mode=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_mode = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_nlink""... $ac_c" 1>&6 +echo "configure:3823: checking for struct stat.st_nlink" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_nlink'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_nlink=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_nlink) +return 0; +; return 0; } +EOF +if { (eval echo configure:3844: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_nlink=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_nlink) +return 0; +; return 0; } +EOF +if { (eval echo configure:3867: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_nlink=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_nlink=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_nlink = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_uid""... $ac_c" 1>&6 +echo "configure:3890: checking for struct stat.st_uid" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_uid'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_uid=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_uid) +return 0; +; return 0; } +EOF +if { (eval echo configure:3911: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_uid=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_uid) +return 0; +; return 0; } +EOF +if { (eval echo configure:3934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_uid=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_uid=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_uid = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_gid""... $ac_c" 1>&6 +echo "configure:3957: checking for struct stat.st_gid" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_gid'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_gid=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_gid) +return 0; +; return 0; } +EOF +if { (eval echo configure:3978: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_gid=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_gid) +return 0; +; return 0; } +EOF +if { (eval echo configure:4001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_gid=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_gid=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_gid = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_rdev""... $ac_c" 1>&6 +echo "configure:4024: checking for struct stat.st_rdev" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_rdev'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_rdev=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_rdev) +return 0; +; return 0; } +EOF +if { (eval echo configure:4045: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_rdev=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_rdev) +return 0; +; return 0; } +EOF +if { (eval echo configure:4068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_rdev=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_rdev=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_rdev = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_size""... $ac_c" 1>&6 +echo "configure:4091: checking for struct stat.st_size" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_size'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_size=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_size) +return 0; +; return 0; } +EOF +if { (eval echo configure:4112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_size=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_size) +return 0; +; return 0; } +EOF +if { (eval echo configure:4135: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_size=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_size=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_size = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_blksize""... $ac_c" 1>&6 +echo "configure:4158: checking for struct stat.st_blksize" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_blksize'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_blksize=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_blksize) +return 0; +; return 0; } +EOF +if { (eval echo configure:4179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_blksize=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_blksize) +return 0; +; return 0; } +EOF +if { (eval echo configure:4202: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_blksize=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_blksize=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_blksize = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_blocks""... $ac_c" 1>&6 +echo "configure:4225: checking for struct stat.st_blocks" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_blocks'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_blocks=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_blocks) +return 0; +; return 0; } +EOF +if { (eval echo configure:4246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_blocks=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_blocks) +return 0; +; return 0; } +EOF +if { (eval echo configure:4269: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_blocks=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_blocks=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_blocks = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_atime""... $ac_c" 1>&6 +echo "configure:4292: checking for struct stat.st_atime" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_atime'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_atime=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_atime) +return 0; +; return 0; } +EOF +if { (eval echo configure:4313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_atime=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_atime) +return 0; +; return 0; } +EOF +if { (eval echo configure:4336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_atime=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_atime=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_atime = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_mtime""... $ac_c" 1>&6 +echo "configure:4359: checking for struct stat.st_mtime" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_mtime'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_mtime=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_mtime) +return 0; +; return 0; } +EOF +if { (eval echo configure:4380: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_mtime=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_mtime) +return 0; +; return 0; } +EOF +if { (eval echo configure:4403: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_mtime=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_mtime=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_mtime = yes; then :; cat >> confdefs.h <&6 + +echo $ac_n "checking for struct stat.st_ctime""... $ac_c" 1>&6 +echo "configure:4426: checking for struct stat.st_ctime" >&5 +if eval "test \"`echo '$''{'ac_struct_stat_st_ctime'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_struct_stat_st_ctime=no; +cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (ac_aggr.st_ctime) +return 0; +; return 0; } +EOF +if { (eval echo configure:4447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_ctime=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext < +#endif +#ifdef HAVE_SYS_STAT_H +#include +#endif +int main() { + +static struct stat ac_aggr; +if (sizeof ac_aggr.st_ctime) +return 0; +; return 0; } +EOF +if { (eval echo configure:4470: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_struct_stat_st_ctime=yes; +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_struct_stat_st_ctime=no; +fi +rm -f conftest* +fi +rm -f conftest* +if test $ac_struct_stat_st_ctime = yes; then :; cat >> confdefs.h <&6 trap '' 1 2 15 cat > confcache <<\EOF diff --git a/sim/common/configure.in b/sim/common/configure.in index 4421878..e6d2710 100644 --- a/sim/common/configure.in +++ b/sim/common/configure.in @@ -36,6 +36,10 @@ AC_SUBST(TARGET_SUBDIR) # These aren't all needed yet, but will be eventually. AC_CHECK_HEADERS(stdlib.h string.h strings.h time.h sys/times.h sys/stat.h sys/mman.h) AC_CHECK_FUNCS(mmap munmap) - +SIM_CHECK_MEMBERS([[struct stat.st_dev], [struct stat.st_ino], +[struct stat.st_mode], [struct stat.st_nlink], [struct stat.st_uid], +[struct stat.st_gid], [struct stat.st_rdev], [struct stat.st_size], +[struct stat.st_blksize], [struct stat.st_blocks], [struct stat.st_atime], +[struct stat.st_mtime], [struct stat.st_ctime]]) AC_OUTPUT(Makefile, [case x$CONFIG_HEADERS in xcconfig.h:config.in) echo > stamp-h ;; esac]) -- 2.7.4