libUTL++
host.h
1 #pragma once
2 
3 // host architecture values
4 #define UTL_ARCH_IX86 1
5 #define UTL_ARCH_AMD64 2
6 
7 // host type values
8 #define UTL_HT_UNIX 1
9 
10 // host OS values
11 #define UTL_OS_LINUX 1
12 #define UTL_OS_MINGW 2
13 
14 // host CC values
15 #define UTL_CC_GCC 1
16 
17 // cache line size default value
18 #ifndef UTL_CACHE_LINE_SIZE
19 #define UTL_CACHE_LINE_SIZE 64
20 #endif
21 
22 // determine endian-ness and word-size
23 #if UTL_HOST_ARCH == UTL_ARCH_IX86
24 #define UTL_HOST_LITTLE_ENDIAN
25 #define UTL_HOST_WORDSIZE 32
26 #else
27 #define UTL_HOST_LITTLE_ENDIAN
28 #define UTL_HOST_WORDSIZE 64
29 #endif
30 
31 // determine sizeof(long)
32 #if (UTL_HOST_WORDSIZE == 32) || (UTL_HOST_OS == UTL_OS_MINGW)
33 #define UTL_SIZEOF_LONG 4
34 #else
35 #define UTL_SIZEOF_LONG 8
36 #endif
37 
38 // determine host type
39 #if ((UTL_HOST_OS == UTL_OS_LINUX) || (UTL_HOST_OS == UTL_OS_MINGW))
40 #define UTL_HOST_TYPE UTL_HT_UNIX
41 #endif