libs-base/Source/common.h
fredkiefer 6a54c84a72 * Source/NSProcessInfo.m: Add includes needed for the HAVE_PROCFS
case.
* Source/common.h: Correct last commit, the #endif was placed
incorrectly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34041 72102866-910b-0410-8b05-ffd578937521
2011-10-22 13:59:05 +00:00

68 lines
2.2 KiB
Objective-C

/* Header file for all objective-c code in the base library.
* This imports all the common headers in a consistent order such that
* we can be sure only local headers are used rather than any which
* might be from an earlier build.
*/
#import "config.h"
/* If this is included in a file in the Additions subdirectory, and we are
* building for use with the NeXT/Apple Foundation, then we need to import
* the native headers in preference to any of our own.
*/
#if defined(NeXT_Foundation_LIBRARY)
#import <Foundation/Foundation.h>
#endif
#import "GNUstepBase/GSConfig.h"
/* Set localisation macro for use within the base library itsself.
*/
#define GS_LOCALISATION_BUNDLE \
[NSBundle bundleForLibrary: @"gnustep-base" version: \
OBJC_STRINGIFY(GNUSTEP_BASE_MAJOR_VERSION.GNUSTEP_BASE_MINOR_VERSION)]
#import "GNUstepBase/GNUstep.h"
/* Foundation/NSObject.h imports <Foundation/NSZone.h> and
* <Foundation/NSObjCRuntime.h> so we import local versions first.
*/
#import "Foundation/NSZone.h"
#import "Foundation/NSObjCRuntime.h"
/* Almost all headers import <Foundation/NSObject.h> so we import
* "Foundation/NSObject.h" first, to ensure we have a local copy.
*/
#import "Foundation/NSObject.h"
/* These headers are used in almost every file.
*/
#import "Foundation/NSString.h"
#import "Foundation/NSDebug.h"
/* These headers needed for string localisation ... hopefully we will
* localise all the exceptions and debug/error messages in all the source
* some day, so localisation needs ot be in the common header for all code.
*/
#import "Foundation/NSBundle.h"
#import "GNUstepBase/NSBundle+GNUstepBase.h"
/* We need to wrap unistd.h because it is used throughout the code and some
* versions include __block as a variable name, and clang also defines that
* and depends on the definition later ... so we resort to the fragile hack
* of redefining according to the observed definition.
*/
#ifdef HAVE_UNISTD_H
# ifdef __block
# undef __block
# define __block __gs_unistd_block
# include <unistd.h>
# undef __block
# define __block __attribute__((__blocks__(byref)))
# else
# define __block __gs_unistd_block
# include <unistd.h>
# undef __block
# endif
#endif