Update ooo320-m1
[ooovba.git] / sal / rtl / source / macro.hxx
blobfdbc0a0356b78cf0b95e812d0a4602b9ee28b7a5
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: macro.hxx,v $
10 * $Revision: 1.17 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _RTL_MACRO_HXX
32 #define _RTL_MACRO_HXX
34 #include <rtl/bootstrap.h>
35 #include <rtl/ustring.hxx>
36 #include <osl/endian.h>
38 #if defined WIN32
39 #define THIS_OS "Windows"
40 #elif defined OS2
41 #define THIS_OS "OS2"
42 #elif defined SOLARIS
43 #define THIS_OS "Solaris"
44 #elif defined LINUX
45 #define THIS_OS "Linux"
46 #elif defined MACOSX
47 #define THIS_OS "MacOSX"
48 #elif defined NETBSD
49 #define THIS_OS "NetBSD"
50 #elif defined FREEBSD
51 #define THIS_OS "FreeBSD"
52 #elif defined IRIX
53 #define THIS_OS "Irix"
54 #endif
56 #if ! defined THIS_OS
57 #error "unknown OS -- insert your OS identifier above"
58 this is inserted for the case that the preprocessor ignores error
59 #endif
61 #if defined X86_64
62 # define THIS_ARCH "X86_64"
63 #elif defined INTEL
64 # define THIS_ARCH "x86"
65 #elif defined POWERPC64
66 # define THIS_ARCH "PowerPC_64"
67 #elif defined POWERPC
68 # define THIS_ARCH "PowerPC"
69 #elif defined S390X
70 # define THIS_ARCH "S390x"
71 #elif defined S390
72 # define THIS_ARCH "S390"
73 #elif defined SPARC
74 #if defined IS_LP64
75 # define THIS_ARCH "SPARC64"
76 #else
77 # define THIS_ARCH "SPARC"
78 #endif
79 #elif defined IRIX
80 # define THIS_ARCH "MIPS"
81 #elif defined MIPS
82 # ifdef OSL_BIGENDIAN
83 # define THIS_ARCH "MIPS_EB"
84 # else
85 # define THIS_ARCH "MIPS_EL"
86 # endif
87 #elif defined ARM
88 # ifdef __ARM_EABI__
89 # define THIS_ARCH "ARM_EABI"
90 # else
91 # define THIS_ARCH "ARM_OABI"
92 # endif
93 #elif defined IA64
94 # define THIS_ARCH "IA64"
95 #elif defined M68K
96 # define THIS_ARCH "M68K"
97 #endif
99 #if ! defined THIS_ARCH
100 #error "unknown ARCH -- insert your ARCH identifier above"
101 this is inserted for the case that the preprocessor ignores error
102 #endif
104 #endif