1/*
2 * Copyright (c) 2000-2004 Apple Computer, Inc. All Rights Reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24
25//
26// utility_config.h - common configuration for the utility libraries
27//
28#ifndef _H_UTILITY_CONFIG
29#define _H_UTILITY_CONFIG
30
31#include <CoreFoundation/CFBase.h>
32#include <assert.h>
33
34//
35// Decide what io apis we'll be using
36//
37#define _USE_IO_POSIX 0
38#define _USE_IO_MACOS 1
39
40#if !defined(_USE_IO)
41# if TARGET_API_MAC_OS8
42#  define _USE_IO _USE_IO_MACOS
43# else
44#  define _USE_IO _USE_IO_POSIX
45# endif
46#endif
47
48//
49// Decide what threading support we'll be using
50//
51#define _USE_NO_THREADS 0
52#define _USE_PTHREADS 1
53#define _USE_MPTHREADS 2
54
55#include <unistd.h>
56#if defined(_POSIX_THREADS)
57# define _USE_THREADS _USE_PTHREADS
58#endif
59#if !defined(_USE_THREADS)
60# define _USE_THREADS _USE_NO_THREADS
61#endif
62
63
64//
65// Compatibility switches
66//
67#define COMPAT_OSX_10_0		1	/* be compatible with MacOS 10.0.x formats & features */
68
69
70//
71// Bugs, buglets, and special compiler features
72//
73#define bug_private	private
74#define bug_protected protected
75#define bug_const const
76
77#define BUG_GCC 0
78
79#if defined(__GNUC__)
80# undef BUG_GCC
81# define BUG_GCC 1
82# undef bug_const
83# define bug_const
84#else
85# if !defined(__attribute__)
86#  define __attribute__(whatever)	/* don't use for non-gcc compilers */
87# endif
88#endif
89
90/*
91ld: for architecture ppc
92ld: common symbols not allowed with MH_DYLIB output format
93/Network/Servers/fivestar/homes/delaware/jhurley/AppleDev/insight/build/intermediates/KeychainLib.build/Objects/Sources/KeychainLib/KCSleep.o definition of common __7KCSleep.mKCSleepRec (size 12)
94*/
95#define BUG_COMMON_SYMBOLS
96
97// Make sure that namespace Security exists
98namespace Security
99{
100} // end namespace Security
101
102// Automatically use the Security namespace for everything that includes the utility_config header.
103using namespace Security;
104
105// Make sure that namespace std exists
106namespace std
107{
108} // end namespace std
109
110// Automatically use the std namespace for everything that includes the utility_config header.
111using namespace std;
112
113#endif //_H_UTILITY_CONFIG
114