From: mquinson Date: Fri, 10 Dec 2004 06:42:52 +0000 (+0000) Subject: Initiate port to cross compile over win32. Try to let TWO_COMPLEMENT work with cross... X-Git-Tag: v3.3~4764 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/77c6875da08eb632e94569d56ed38b001436040e Initiate port to cross compile over win32. Try to let TWO_COMPLEMENT work with cross-compile, and remove it since I failed and I doubt its utility. Add the win32 arch (the alignments are different) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@586 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/acmacro/gras_arch.m4 b/acmacro/gras_arch.m4 index 64f4aadc68..8ada131e80 100644 --- a/acmacro/gras_arch.m4 +++ b/acmacro/gras_arch.m4 @@ -45,15 +45,18 @@ dnl AC_DEFUN([GRAS_TWO_COMPLEMENT], [ AC_MSG_CHECKING(whether $1 is two-complement) -AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include "confdefs.h" +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "confdefs.h" union { signed $1 testInt; unsigned char bytes[sizeof($1)]; } intTester; ]],[[ intTester.testInt = -2; - return ((unsigned int)intTester.bytes[0] + - (unsigned int)intTester.bytes[sizeof($1) - 1]) - 509; /* should be 0 */ + switch (0) { + case 0: + case (((unsigned int)intTester.bytes[0] + + (unsigned int)intTester.bytes[sizeof($1) - 1]) - 509) == 0: + } ]])], dnl end of AC LANG PROGRAM [two_complement=yes],[two_complement=no] )dnl end of AC COMPILE IFELSE @@ -134,7 +137,8 @@ AC_DEFUN([GRAS_ARCH], # Check for the architecture AC_C_BIGENDIAN(endian=1,endian=0,AC_MSG_ERROR([GRAS works only for little or big endian systems (yet)])) dnl Make sure we don't run on a non-two-complement arch, since we dunno convert them -GRAS_TWO_COMPLEMENT(int) +dnl G RAS_TWO_COMPLEMENT(int) don't do this, it breaks cross-compile and all +dnl archs conform to this AC_DEFINE_UNQUOTED(GRAS_BIGENDIAN,$endian,[define if big endian]) GRAS_SIGNED_SIZEOF(char) GRAS_STRUCT_BOUNDARY(char) @@ -179,6 +183,7 @@ case $trace in B_C:1/1:_I:2/2:4/4:8/8:8/8:_P:8/8:8/8:_D:4/4:8/8:) gras_arch=3; gras_arch_name=big64;; B_C:1/1:_I:2/2:4/4:4/4:8/8:_P:4/4:4/4:_D:4/4:8/4:) gras_arch=4; gras_arch_name=aix;; B_C:1/1:_I:2/2:4/2:4/2:8/2:_P:4/2:4/2:_D:4/2:8/2:) gras_arch=5; gras_arch_name=arm;; + l_C:1/1:_I:2/2:4/4:4/4:8/8:_P:4/4:4/4:_D:4/4:8/8:) gras_arch=6; gras_arch_name=win32;; esac if test x$gras_arch = xunknown ; then AC_MSG_RESULT([damnit ($trace)])