Mercurial > pub > dyncall > dyncall
diff autovar/autovar_ARCH.h @ 0:3e629dc19168
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:24:28 +0100 |
parents | |
children | 8449fa6dabc7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/autovar/autovar_ARCH.h Thu Mar 19 22:24:28 2015 +0100 @@ -0,0 +1,59 @@ +/* + + Package: dyncall + Library: autovar + File: autovar/autovar_ARCH.h + Description: + License: + + Copyright (c) 2011-2015 Daniel Adler <dadler@uni-goettingen.de>, + Tassilo Philipp <tphilipp@potion-studios.com> + + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +*/ + +#ifndef AUTOVAR_ARCH_H +#define AUTOVAR_ARCH_H + +/* Check architecture. */ +#if defined(_M_IX86) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || defined(__386__) || defined(__i386) +# define ARCH_X86 +#elif defined(_M_X64_) || defined(_M_AMD64) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) +# define ARCH_X64 +#elif defined(_M_IA64) || defined(__ia64__) +# define ARCH_IA64 +#elif defined(_M_PPC) || defined(__powerpc__) || defined(__powerpc) || defined(__POWERPC__) || defined(__ppc__) || defined(__power__) +# if defined(__ppc64__) || defined(_ARCH_PPC64) || defined(__power64__) || defined(__powerpc64__) +# define ARCH_PPC64 +# else +# define ARCH_PPC +# endif +#elif defined(__mips64__) || defined(__mips64) +# define ARCH_MIPS64 +#elif defined(_M_MRX000) || defined(__mips__) || defined(__mips) || defined(_mips) +# define ARCH_MIPS +#elif defined(__arm__) +# define ARCH_ARM +# if defined(__thumb__) +# define ARCH_THUMB +# endif +#elif defined(__sh__) +# define ARCH_SH +#elif defined(__sparcv9) || defined(__sparc64__) || ( defined(__sparc) && defined(__arch64__) ) +# define ARCH_SPARC64 +#elif defined(__sparc) +# define ARCH_SPARC +#endif + +#endif /* AUTOVAR_ARCH_H */