On Sun, Sep 12, 2010 at 04:01:47AM -0400, Mike Frysinger wrote: > The current off_t/rlim_t size checks (wrt size of long long) use AC_RUN > which obviously doesn't work when cross-compiling. While we don't hit any > configure errors, the fall back code is pretty dumb (which is to say there > isn't any). Considering the code in question though, we can use some fun > compiler tricks with sizeof and array lengths to turn it into a pure build > test and avoid the RUN issue completely. > > * acinclude.m4 (AC_OFF_T_IS_LONG_LONG, AC_RLIM_T_IS_LONG_LONG): Convert > from AC_RUN_IFELSE to AC_COMPILE_IFELSE. > > Signed-off-by: Mike Frysinger <[email protected]> > --- > note: all the systems i tested seem to return "no" for both of these, so > i couldnt find any which test otherwise to double check my work. but > it looks sane enough :P. > > acinclude.m4 | 28 ++++++++-------------------- > 1 files changed, 8 insertions(+), 20 deletions(-) > > diff --git a/acinclude.m4 b/acinclude.m4 > index 708f8cc..5e61d15 100644 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -232,16 +232,10 @@ dnl ### A macro to determine if off_t is a long long > AC_DEFUN([AC_OFF_T_IS_LONG_LONG], > [AC_MSG_CHECKING(for long long off_t) > AC_CACHE_VAL(ac_cv_have_long_long_off_t, > -[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <sys/types.h> > -main () { > - if (sizeof (off_t) == sizeof (long long) && > - sizeof (off_t) > sizeof (long)) > - return 0; > - return 1; > -} > -]])],[ac_cv_have_long_long_off_t=yes],[ac_cv_have_long_long_off_t=no],[# > Should try to guess here > -ac_cv_have_long_long_off_t=no > -])]) > +[AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <sys/types.h> > +char a[(sizeof (off_t) == sizeof (long long) && > + sizeof (off_t) > sizeof (long)) - 1]; > +]])],[ac_cv_have_long_long_off_t=yes],[ac_cv_have_long_long_off_t=no])])
Hah, that was very nice :) Cheers, Edgar ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Strace-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/strace-devel
