BiblioteQ

biblioteq_architecture.h
1 /*
2 ** Copyright (c) 2006 - present, Alexis Megas.
3 ** All rights reserved.
4 **
5 ** Redistribution and use in source and binary forms, with or without
6 ** modification, are permitted provided that the following conditions
7 ** are met:
8 ** 1. Redistributions of source code must retain the above copyright
9 ** notice, this list of conditions and the following disclaimer.
10 ** 2. Redistributions in binary form must reproduce the above copyright
11 ** notice, this list of conditions and the following disclaimer in the
12 ** documentation and/or other materials provided with the distribution.
13 ** 3. The name of the author may not be used to endorse or promote products
14 ** derived from BiblioteQ without specific prior written permission.
15 **
16 ** BIBLIOTEQ IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 ** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 ** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 ** BIBLIOTEQ, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28 #ifndef _BIBLIOTEQ_ARCHITECTURE_H_
29 #define _BIBLIOTEQ_ARCHITECTURE_H_
30 #if defined(__alpha_ev4__)
31 #define BIBLIOTEQ_ARCHITECTURE_STR "__alpha_ev4__"
32 #elif defined(__alpha_ev5__)
33 #define BIBLIOTEQ_ARCHITECTURE_STR "__alpha_ev5__"
34 #elif defined(__alpha_ev6__)
35 #define BIBLIOTEQ_ARCHITECTURE_STR "__alpha_ev6__"
36 #elif defined(__alpha__)
37 #define BIBLIOTEQ_ARCHITECTURE_STR "__alpha__"
38 #elif defined(__amd64__)
39 #define BIBLIOTEQ_ARCHITECTURE_STR "__amd64__"
40 #elif defined(__amd64)
41 #define BIBLIOTEQ_ARCHITECTURE_STR "__amd64"
42 #elif defined(__x86_64__)
43 #define BIBLIOTEQ_ARCHITECTURE_STR "__x86_64__"
44 #elif defined(__x86_64)
45 #define BIBLIOTEQ_ARCHITECTURE_STR "__x86_64"
46 #elif defined(__ARM_ARCH_6J__)
47 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_6J__"
48 #elif defined(__ARM_ARCH_6K__)
49 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_6K__"
50 #elif defined(__ARM_ARCH_6T2__)
51 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_6T2__"
52 #elif defined(__ARM_ARCH_6ZK__)
53 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_6ZK__"
54 #elif defined(__ARM_ARCH_6Z__)
55 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_6Z__"
56 #elif defined(__ARM_ARCH_6__)
57 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_6__"
58 #elif defined(__ARM_ARCH_7A__)
59 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_7A__"
60 #elif defined(__ARM_ARCH_7M__)
61 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_7M__"
62 #elif defined(__ARM_ARCH_7R__)
63 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_7R__"
64 #elif defined(__ARM_ARCH_7S__)
65 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_7S__"
66 #elif defined(__ARM_ARCH_7__)
67 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_7__"
68 #elif defined(__ARM_ARCH_8A__)
69 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_8A__"
70 #elif defined(__ARM_ARCH_8__)
71 #define BIBLIOTEQ_ARCHITECTURE_STR "__ARM_ARCH_8__"
72 #elif defined(i386)
73 #define BIBLIOTEQ_ARCHITECTURE_STR "i386"
74 #elif defined(__i386)
75 #define BIBLIOTEQ_ARCHITECTURE_STR "__i386"
76 #elif defined(__i386__)
77 #define BIBLIOTEQ_ARCHITECTURE_STR "__i386__"
78 #elif defined(__i486__)
79 #define BIBLIOTEQ_ARCHITECTURE_STR "__i486__"
80 #elif defined(__i586__)
81 #define BIBLIOTEQ_ARCHITECTURE_STR "__i586__"
82 #elif defined(__i686__)
83 #define BIBLIOTEQ_ARCHITECTURE_STR "__i686__"
84 #elif defined(_X86_)
85 #define BIBLIOTEQ_ARCHITECTURE_STR "_X86_"
86 #elif defined(__ia64__)
87 #define BIBLIOTEQ_ARCHITECTURE_STR "__ia64__"
88 #elif defined(_IA64)
89 #define BIBLIOTEQ_ARCHITECTURE_STR "_IA64"
90 #elif defined(__IA64__)
91 #define BIBLIOTEQ_ARCHITECTURE_STR "__IA64__"
92 #elif defined(__powerpc64__)
93 #define BIBLIOTEQ_ARCHITECTURE_STR "__powerpc64__"
94 #elif defined(__ppc64__)
95 #define BIBLIOTEQ_ARCHITECTURE_STR "__ppc64__"
96 #elif defined(__PPC64__)
97 #define BIBLIOTEQ_ARCHITECTURE_STR "__PPC64__"
98 #elif defined(_ARCH_PPC64)
99 #define BIBLIOTEQ_ARCHITECTURE_STR "_ARCH_PPC64"
100 #elif defined(__powerpc)
101 #define BIBLIOTEQ_ARCHITECTURE_STR "__powerpc"
102 #elif defined(__powerpc__)
103 #define BIBLIOTEQ_ARCHITECTURE_STR "__powerpc__"
104 #elif defined(__POWERPC__)
105 #define BIBLIOTEQ_ARCHITECTURE_STR "__POWERPC__"
106 #elif defined(__ppc__)
107 #define BIBLIOTEQ_ARCHITECTURE_STR "__ppc__"
108 #elif defined(__PPC__)
109 #define BIBLIOTEQ_ARCHITECTURE_STR "__PPC__"
110 #elif defined(_ARCH_PPC)
111 #define BIBLIOTEQ_ARCHITECTURE_STR "_ARCH_PPC"
112 #elif defined(__sparc_v8__)
113 #define BIBLIOTEQ_ARCHITECTURE_STR "__sparc_v8__"
114 #elif defined(__sparc_v9__)
115 #define BIBLIOTEQ_ARCHITECTURE_STR "__sparc_v9__"
116 #elif defined(__sparcv8)
117 #define BIBLIOTEQ_ARCHITECTURE_STR "__sparcv8"
118 #elif defined(__sparcv9)
119 #define BIBLIOTEQ_ARCHITECTURE_STR "__sparcv9"
120 #elif defined(__sparc__)
121 #define BIBLIOTEQ_ARCHITECTURE_STR "__sparc__"
122 #elif defined(__sparc)
123 #define BIBLIOTEQ_ARCHITECTURE_STR "__sparc"
124 #else
125 #define BIBLIOTEQ_ARCHITECTURE_STR "gingerjitter"
126 #endif
127 #endif