From: Alexandre Duret-Lutz Date: Sun, 12 Aug 2001 15:20:29 +0000 (+0000) Subject: * tests/semantics.at (AC_C_BIGENDIAN): Explicitelly save and load X-Git-Tag: AUTOCONF-2.52d~101 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c659b9f763518c24577d2a442bc5ef5f35426ae8;p=thirdparty%2Fautoconf.git * tests/semantics.at (AC_C_BIGENDIAN): Explicitelly save and load endianness for comparison instead of relying on AT_CHECK_ENV. --- diff --git a/ChangeLog b/ChangeLog index 2586fc807..16a790558 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-08-12 Alexandre Duret-Lutz + + * tests/semantics.at (AC_C_BIGENDIAN): Explicitelly save and load + endianness for comparison instead of relying on AT_CHECK_ENV. + 2001-08-11 Paul Eggert * doc/autoconf.texi, doc/install.texi: Add a copyright notice diff --git a/tests/semantics.at b/tests/semantics.at index b2ce31e67..797e09327 100644 --- a/tests/semantics.at +++ b/tests/semantics.at @@ -329,38 +329,33 @@ AT_CLEANUP(path) AT_SETUP(AC_C_BIGENDIAN) # Make sure that AC_C_BIGENDIAN behave the same whether we are -# cross-compiling or not. Actually, the tests are differents in both -# case, and the cross-compiling case is allowed to fail (BTW, it might -# be interesting to replace [:] by [touch at-uendian] to cach systems for -# which AC_C_BIGENDIAN does fail, just to know if such a system -# exists.) - -# The following is an manually-expansed call to _AT_CHECK_AC_MACRO -# with the call to AC_CHECK_ENV removed. We don't want AC_CHECK_ENV -# because we are creating a new file (at-bendian or at-lendian) -# as a side effect of AT_CHECK_CONFIGURE. -AT_CONFIGURE_AC([AC_C_BIGENDIAN([touch at-bendian],[touch at-lendian],[:])]) -AT_CHECK_AUTOCONF -AT_CHECK_AUTOHEADER -AT_CHECK_CONFIGURE +# cross-compiling or not. + +_AT_CHECK_AC_MACRO( + [AC_C_BIGENDIAN([ac_endian=big],[ac_endian=little],[ac_endian=unknown]) + echo $ac_endian > at-endian +]) rm -f config.hin # So that next run of autoheader is quiet. -# The last run of AC_CHECK_CONFIGURE has created at-bendian or at-lendian. -# Now we'll perform the same in cross-compiling mode, and make sure -# that no new file is created (if a new file is created it means -# AC_C_BIGENDIAN computed a different result). Checking for a new -# file is done using AC_CHECK_ENV which is called by _AT_CHECK_AC_MACRO. _AT_CHECK_AC_MACRO( [cross_compiling=yes - AC_C_BIGENDIAN([touch at-bendian],[touch at-lendian],[:])]) - + AC_C_BIGENDIAN([ac_endian=big],[ac_endian=little],[ac_endian=unknown]) + ac_prevendian=`cat at-endian` + # Chech we have found the same result as in the previous run + # or unknown (because the cross-compiling check is allowed to fail; + # although it might be interesting to suppress this comparison, just + # to know on which system it fails if it ever does). + if test $ac_endian != $ac_prevendian -a $ac_endian != unknow; then + AC_MSG_ERROR([unexpected endianness: first run found '$ac_prevendian' but second run found '$ac_endian']) + fi +]) # Make sure AC_C_BIGENDIAN with no argument will define WORDS_BIGENDIAN AT_CONFIGURE_AC([AC_C_BIGENDIAN]) AT_CHECK_AUTOHEADER AT_CHECK([grep WORDS_BIGENDIAN config.hin], [], [ignore]) -AT_CLEANUP(at-bendian at-lendian) +AT_CLEANUP(at-endian) # ------------------------------ # # AC_PATH_PROG & AC_PATH_PROGS. #