|
Packit Service |
21b5d1 |
#ifndef __XMP_Environment_h__
|
|
Packit Service |
21b5d1 |
#define __XMP_Environment_h__ 1
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
// XMP_Environment.h - Build environment flags for the XMP toolkit.
|
|
Packit Service |
21b5d1 |
// ================================================================
|
|
Packit Service |
21b5d1 |
//
|
|
Packit Service |
21b5d1 |
// This header is just C preprocessor macro definitions to set up the XMP toolkit build environment.
|
|
Packit Service |
21b5d1 |
// It must be the first #include in any chain since it might affect things in other #includes.
|
|
Packit Service |
21b5d1 |
//
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
// Copyright 2002-2007 Adobe Systems Incorporated
|
|
Packit Service |
21b5d1 |
// All Rights Reserved.
|
|
Packit Service |
21b5d1 |
//
|
|
Packit Service |
21b5d1 |
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
|
|
Packit Service |
21b5d1 |
// of the Adobe license agreement accompanying it.
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
// Determine the Platform
|
|
Packit Service |
21b5d1 |
// ======================
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// One of MAC_ENV, WIN_ENV, or UNIX_ENV must be defined by the client. Since some other code
|
|
Packit Service |
21b5d1 |
// requires these to be defined without values, they are only used here to define XMP-specific
|
|
Packit Service |
21b5d1 |
// macros with 0 or 1 values.
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
/* 20-Oct-07, ahu: Determine the platform, set the above defines accordingly. */
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if !defined(_FILE_OFFSET_BITS)
|
|
Packit Service |
21b5d1 |
#define _FILE_OFFSET_BITS 64
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if defined __CYGWIN32__ && !defined __CYGWIN__
|
|
Packit Service |
21b5d1 |
/* For backwards compatibility with Cygwin b19 and
|
|
Packit Service |
21b5d1 |
earlier, we define __CYGWIN__ here, so that
|
|
Packit Service |
21b5d1 |
we can rely on checking just for that macro. */
|
|
Packit Service |
21b5d1 |
# define __CYGWIN__ __CYGWIN32__
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
#if defined WIN32 && !defined __CYGWIN__
|
|
Packit Service |
21b5d1 |
# define WIN_ENV 1
|
|
Packit Service |
21b5d1 |
/* Todo: How to correctly recognize a Mac platform? */
|
|
Packit Service |
21b5d1 |
#elif defined macintosh || defined MACOS_CLASSIC || defined MACOS_X_UNIX || defined MACOS_X || defined MACOS || defined(__APPLE__)
|
|
Packit Service |
21b5d1 |
# define MAC_ENV 1
|
|
Packit Service |
21b5d1 |
#else
|
|
Packit Service |
21b5d1 |
# define UNIX_ENV 1
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// ! Tempting though it might be to have a standard macro for big or little endian, there seems to
|
|
Packit Service |
21b5d1 |
// ! be no decent way to do that on our own in UNIX. Forcing it on the client isn't acceptable.
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if defined ( MAC_ENV )
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if 0 // ! maybe someday - ! MAC_ENV
|
|
Packit Service |
21b5d1 |
#error "MAC_ENV must be defined so that \"#if MAC_ENV\" is true"
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if defined ( WIN_ENV ) || defined ( UNIX_ENV )
|
|
Packit Service |
21b5d1 |
#error "XMP environment error - must define only one of MAC_ENV, WIN_ENV, or UNIX_ENV"
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#define XMP_MacBuild 1
|
|
Packit Service |
21b5d1 |
#define XMP_WinBuild 0
|
|
Packit Service |
21b5d1 |
#define XMP_UNIXBuild 0
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#elif defined ( WIN_ENV )
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if 0 // ! maybe someday - ! WIN_ENV
|
|
Packit Service |
21b5d1 |
#error "WIN_ENV must be defined so that \"#if WIN_ENV\" is true"
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if defined ( UNIX_ENV )
|
|
Packit Service |
21b5d1 |
#error "XMP environment error - must define only one of MAC_ENV, WIN_ENV, or UNIX_ENV"
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#define XMP_MacBuild 0
|
|
Packit Service |
21b5d1 |
#define XMP_WinBuild 1
|
|
Packit Service |
21b5d1 |
#define XMP_UNIXBuild 0
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#elif defined ( UNIX_ENV )
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if 0 // ! maybe someday - ! UNIX_ENV
|
|
Packit Service |
21b5d1 |
#error "UNIX_ENV must be defined so that \"#if UNIX_ENV\" is true"
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#define XMP_MacBuild 0
|
|
Packit Service |
21b5d1 |
#define XMP_WinBuild 0
|
|
Packit Service |
21b5d1 |
#define XMP_UNIXBuild 1
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#else
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#error "XMP environment error - must define one of MAC_ENV, WIN_ENV, or UNIX_ENV"
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
// Common Macros
|
|
Packit Service |
21b5d1 |
// =============
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if defined ( DEBUG )
|
|
Packit Service |
21b5d1 |
#if defined ( NDEBUG )
|
|
Packit Service |
21b5d1 |
#undef NDEBUG
|
|
Packit Service |
21b5d1 |
#warning
|
|
Packit Service |
21b5d1 |
#warning "XMP environment - DEBUG and NDEBUG defined. NDEBUG has been undefined"
|
|
Packit Service |
21b5d1 |
#warning
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
#define XMP_DebugBuild 1
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if defined ( NDEBUG )
|
|
Packit Service |
21b5d1 |
#define XMP_DebugBuild 0
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#ifndef XMP_DebugBuild
|
|
Packit Service |
21b5d1 |
#define XMP_DebugBuild 0
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#if XMP_DebugBuild
|
|
Packit Service |
21b5d1 |
#include <stdio.h> // The assert macro needs printf.
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#ifndef XMP_64
|
|
Packit Service |
21b5d1 |
#if _WIN64
|
|
Packit Service |
21b5d1 |
#define XMP_64 1
|
|
Packit Service |
21b5d1 |
#else
|
|
Packit Service |
21b5d1 |
#define XMP_64 0
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#define UNUSED(x) (void)(x)
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
// Macintosh Specific Settings
|
|
Packit Service |
21b5d1 |
// ===========================
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
// Windows Specific Settings
|
|
Packit Service |
21b5d1 |
// =========================
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
// UNIX Specific Settings
|
|
Packit Service |
21b5d1 |
// ======================
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
// =================================================================================================
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
#endif // __XMP_Environment_h__
|
|
Packit Service |
21b5d1 |
|
|
Packit Service |
21b5d1 |
/*
|
|
Packit Service |
21b5d1 |
If you're using Solaris and the Solaris Studio compiler, then you really
|
|
Packit Service |
21b5d1 |
do need to use -library=stdcxx4 along with these inclusions below
|
|
Packit Service |
21b5d1 |
*/
|
|
Packit Service |
21b5d1 |
#if defined(OS_SOLARIS)
|
|
Packit Service |
21b5d1 |
#include <stdio.h>
|
|
Packit Service |
21b5d1 |
#include <string.h>
|
|
Packit Service |
21b5d1 |
#include <strings.h>
|
|
Packit Service |
21b5d1 |
#include <cstdlib>
|
|
Packit Service |
21b5d1 |
#include <math.h>
|
|
Packit Service |
21b5d1 |
#if defined(__cplusplus)
|
|
Packit Service |
21b5d1 |
#include <ios>
|
|
Packit Service |
21b5d1 |
#include <fstream>
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
#endif
|
|
Packit Service |
21b5d1 |
|