ATLAS Offline Software
Loading...
Searching...
No Matches
SealCommon.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
11
12#ifndef CXXUTILS_SEAL_COMMON_H
13#define CXXUTILS_SEAL_COMMON_H
14
15// start copy from "SealBase/sysapi/IOTypes.h"
17#ifdef _WIN32
18#define IOFD_INVALID (void *)-1
19#else
20#define IOFD_INVALID -1
21#endif
22
24#ifdef _WIN32
25typedef void *IOFD;
26#else
27typedef int IOFD;
28#endif
29// end copy from IOTypes
30
31
32// platform specific defines from SealPlatform/config.h
33#ifdef __linux__
34
35/* C++ features --------------------------------------------------------- */
36
37/* Define if you have standard C++ C headers like <cstdlib>. */
38#define HAVE_CXX_STDC_HEADERS 1
39
40/* Signals -------------------------------------------------------------- */
41
42/* Define if you have POSIX signal stuff. */
43#define HAVE_POSIX_SIGNALS 1
44
45/* Define if you have POSIX real-time signal stuff. */
46#define HAVE_POSIX_RT_SIGNALS 1
47
48/* Define if you have the strsignal function. */
49#define HAVE_STRSIGNAL 1
50#define HAVE_STRSIGNAL_DECL 1
51
52/* Define if you have raise. */
53#define HAVE_RAISE 1
54#define HAVE_RAISE_DECL 1
55
56/* Define if you have sys_siglist in <signal.h>. */
57#define HAVE_SYS_SIGLIST 1
58
59/* Resource information ------------------------------------------------- */
60
61/* Define if you have program_invocation_name. */
62#define HAVE_PROGRAM_INVOCATION_NAME 1
63
64/* Stack tracing -------------------------------------------------------- */
65
66/* Define if you have pstack (usually in /usr/proc/bin) to the full
67 path of that program. */
68#define PROG_PSTACK "/usr/bin/pstack"
69
70/* Define if you have c++filt to the full path of that program. */
71#define PROG_CXXFILT "/usr/bin/c++filt"
72
73/* Define if you have backtrace and backtrace_symbols_fd (glibc 2.1). */
74#define HAVE_BACKTRACE_SYMBOLS_FD 1
75
76/* Dynamic linker ------------------------------------------------------- */
77
78/* Define if `dlopen' exists. */
79#define HAVE_DLOPEN 1
80#define HAVE_DLOPEN_DECL 1
81
82/* Define if you have the <link.h> header file. */
83#define HAVE_LINK_H 1
84
85/* Define if `dladdr' exists. */
86#define HAVE_DLADDR 1
87#define HAVE_DLADDR_DECL 1
88
89/* Define if `_r_debug' exists. */
90// note: leave undefined on SLC4 b/c of binutils problems
91#define HAVE_R_DEBUG 1
92
93/* Define if you have the <elf.h> header file. */
94#define HAVE_ELF_H 1
95
96#endif // __linux
97
98
99// platform specific defines from SealPlatform/config.h
100#ifdef __APPLE__
101
102/* C++ features --------------------------------------------------------- */
103#define HAVE_R_DEBUG 1
104
105/* Define if you have standard C++ C headers like <cstdlib>. */
106#define HAVE_CXX_STDC_HEADERS 1
107
108/* Signals -------------------------------------------------------------- */
109
110/* Define if you have POSIX signal stuff. */
111#define HAVE_POSIX_SIGNALS 1
112
113/* Define if you have the strsignal function. */
114#define HAVE_STRSIGNAL 1
115#define HAVE_STRSIGNAL_DECL 1
116
117/* Define if you have raise. */
118#define HAVE_RAISE 1
119#define HAVE_RAISE_DECL 1
120
121/* Define if you have sys_siglist in <signal.h>. */
122#define HAVE_SYS_SIGLIST 1
123
124/* Stack tracing -------------------------------------------------------- */
125
126/* Define if you have c++filt to the full path of that program. */
127#define PROG_CXXFILT "/usr/bin/c++filt"
128
129/* Define if you have backtrace and backtrace_symbols_fd (glibc 2.1). */
130#define HAVE_BACKTRACE_SYMBOLS_FD 1
131
132/* Dynamic linker ------------------------------------------------------- */
133
134/* Define if `dlopen' exists. */
135#define HAVE_DLOPEN 1
136#define HAVE_DLOPEN_DECL 1
137
138/* Define if `dladdr' exists. */
139#define HAVE_DLADDR 1
140#define HAVE_DLADDR_DECL 1
141
142/* Define if you have the <mach-o/dyld.h> header file. */
143#define HAVE_MACH_O_DYLD_H 1
144
145#endif // __APPLE__
146
147
148#if HAVE_LOAD
149# define PATH "LIBPATH"
150#elif HAVE_DLOPEN
151# if defined __APPLE__ && defined __MACH__
152# define PATH "DYLD_LIBRARY_PATH"
153# else
154# define PATH "LD_LIBRARY_PATH"
155# endif
156#elif HAVE_SHL_LOAD
157# define PATH "SHLIB_PATH"
158#elif defined _WIN32
159# define PATH "PATH"
160#else
161# define PATH 0
162#endif
163// end copy from SealBase/sysapi/SharedLibrary.h
164
165
166// start copy from SealPlatform/system.h
167#if HAVE_CXX_STDC_HEADERS
168# define STDC std
169#else
170# define STDC
171#endif
172// end copy from SealPlatform/system.h
173
174
175// start copy from SealBase/sysapi/ElfAbi.h
176# ifndef _WIN32
177# if HAVE_LOADER_H
178# include <loader.h>
179# endif
180# if HAVE_LINK_H
181# include <link.h>
182# include <limits.h>
183# include <sys/stat.h>
184# include <unistd.h>
185# endif
186# if HAVE_SGIDEFS_H // irix n32, 64
187# include <sgidefs.h>
188# include <objlist.h>
189# include <obj_list.h>
190# include <obj.h>
191# endif
192# if HAVE_ELF_H
193# include <elf.h>
194# endif
195# endif // ! _WIN32
196
197//<<<<<< PUBLIC DEFINES >>>>>>
198
199#if /* irix */ (defined ABI64 || defined _ABI64 || \
200 (defined _MIPS_SIM && _MIPS_SIM == _MIPS_SIM_ABI64)) \
201 /* solaris */ || (defined sparcv9 || defined _sparcv9 \
202 || defined __sparcv9 || defined __sparcv9__) \
203 /* tru64 */ || (defined arch64 || defined _arch64 || \
204 defined __arch64 || defined __arch64__)
205# define ELF_ABI 64
206#else
207# define ELF_ABI 32
208#endif
209#ifndef ElfW
210# define ElfW(type) ElfW1(Elf,ELF_ABI,type)
211# define ElfW1(e,w,t) ElfW2(Elf,w,_##t)
212# define ElfW2(e,w,t) e ## w ## t
213#endif
214// end copy from SealBase/sysapi/ElfAbi.h
215
216#endif // CXXUTILS_SEAL_COMMON_H
int IOFD
Type the system uses for channel descriptors.
Definition SealCommon.h:27