| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- /*============================================================================
- KWSys - Kitware System Library
- Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
- Distributed under the OSI-approved BSD License (the "License");
- see accompanying file Copyright.txt for details.
- This software is distributed WITHOUT ANY WARRANTY; without even the
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License for more information.
- ============================================================================*/
- #ifndef @KWSYS_NAMESPACE@_CPU_h
- #define @KWSYS_NAMESPACE@_CPU_h
- #include <@KWSYS_NAMESPACE@/Configure.h>
- /* Identify possible endian cases. The macro
- @KWSYS_NAMESPACE@_CPU_ENDIAN_ID will be defined to one of these, or
- 0 if unknown. */
- #define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG 4321
- #define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE 1234
- /* Apple always defines one of these. */
- #if defined(__LITTLE_ENDIAN__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- #elif defined(__BIG_ENDIAN__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* Alpha */
- #elif defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- /* Arm */
- #elif defined(__arm__)
- # if !defined(__ARMEB__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- # else
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- # endif
- /* Intel x86 */
- #elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- #elif defined(_X86_) || defined(__THW_INTEL__) || defined(__I86__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- #elif defined(__MWERKS__) && defined(__INTEL__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- /* Intel x86-64 */
- #elif defined(__x86_64) || defined(__x86_64__) || defined(_M_X64)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- #elif defined(__amd64) || defined(__amd64__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- /* Intel Architecture-64 (Itanium) */
- #elif defined(__ia64) || defined(__ia64__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- #elif defined(_IA64) || defined(__IA64__) || defined(_M_IA64)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- /* PowerPC */
- #elif defined(__powerpc) || defined(__powerpc__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- #elif defined(__ppc) || defined(__ppc__) || defined(__POWERPC__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* SPARC */
- #elif defined(__sparc) || defined(__sparc__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* HP/PA RISC */
- #elif defined(__hppa) || defined(__hppa__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* Motorola 68k */
- #elif defined(__m68k__) || defined(M68000)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* MIPS */
- #elif defined(__mips) || defined(__mips__) || defined(__MIPS__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* RS/6000 */
- #elif defined(__THW_RS600) || defined(_IBMR2) || defined(_POWER)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- #elif defined(_ARCH_PWR) || defined(_ARCH_PWR2)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* System/370 */
- #elif defined(__370__) || defined(__THW_370__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* System/390 */
- #elif defined(__s390__) || defined(__s390x__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* z/Architecture */
- #elif defined(__SYSC_ZARCH__)
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- /* Unknown CPU */
- #else
- # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID 0
- # if !defined(@KWSYS_NAMESPACE@_CPU_UNKNOWN_OKAY)
- # error "The target CPU architecture is not known."
- # endif
- #endif
- /* If building a C or C++ file in kwsys itself, give the source file
- access to the macros without a configured namespace. */
- #if defined(KWSYS_NAMESPACE)
- # define KWSYS_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID
- # define KWSYS_CPU_ENDIAN_ID_BIG @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
- # define KWSYS_CPU_ENDIAN_ID_LITTLE @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
- #endif
- #endif
|