Of course the simpler solution - to include iPhone would be to add ARM 
detection into that list...
Nothing says you couldn't expand the list, my guess is that it was just a first 
wack at the list...



----- Original Message ----
From: Michael Wild <them...@gmail.com>
To: Sean McBride <s...@rogue-research.com>
Cc: Michael Jackson <mike.jack...@bluequartz.net>; cmake Mailing List 
<cmake@cmake.org>
Sent: Thursday, June 18, 2009 1:44:53 AM
Subject: Re: [CMake] [Insight-developers] 64 bit build detection


On 18. Jun, 2009, at 0:49, Sean McBride wrote:

> On 6/14/09 10:05 PM, Michael Wild said:
> 
>> On Mac OS X one shouldn't do this kind of detection during configure
>> step, because as has been mentioned a single file can be compiled
>> multiple times for different architectures during one single compiler
>> invocation. The size of void* and even endianness can change. It is
>> preferable to have a central config.h.in (or similar) containing
>> something like this:
>> 
>> #if defined(__APPLE__)
>> #  if defined(__i386__)
>> #    undef HAVE_64_BIT
>> #    undef HAVE_BIG_ENDIAN
>> #  elif defined(__ppc__)
>> #    undef HAVE_64_BIT
>> #    define HAVE_BIG_ENDIAN
>> #  elif defined(__x86_64__)
>> #    define HAVE_64_BIT
>> #    undef HAVE_BIG_ENDIAN
>> #  elif defined(__ppc64__)
>> #    define HAVE_64_BIT
>> #    define HAVE_BIG_ENDIAN
>> #  else
>>     // oops
>> #    error "Unknown architecture!"
>> #  endif
>> #else
>> #  cmakedefine HAVE_64_BIT
>> #  cmakedefine HAVE_BIG_ENDIAN
>> #endif
> 
> I agree with Hendrik that such things are better done with types like
> uin32_t, etc.  The quoted stuff above will fail with OS X running on ARM
> (ie iPhone).
> 

Above code for sure is far from ideal or perfect. But sometimes one inherits a 
code which relies on such details, so here is one relatively simple way to deal 
with it.  And I somehow doubt that there are many codes running both on x86/ppc 
and iPhone... Besides, uint32_t and related are not present on Windows, so 
using them is going to break the code there.

Michael
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to