cotton_double/Include/ClassicMIL/milsetup.h

312 lines
11 KiB
C

/************************************************************************/
/*
*
* Filename : MILSETUP.H
* Revision : 10.60.0776
* Content : This file contains definitions for specifying the target
* compile environment and the default state to set for
* MIL (Matrox Imaging Library). It also defines the
* MappAllocDefault() and MappFreeDefault() macros.
*
* Copyright © Matrox Electronic Systems Ltd., 1992-2023.
* All Rights Reserved
*************************************************************************/
#ifndef __MILSETUP_H__
#define __MILSETUP_H__
/************************************************************************/
/* MIL COMPILE VERSION */
/* These defines are for Matrox internal purpose only and are NOT meant */
/* to be edited by the client. */
/************************************************************************/
#if !defined(MIL_COMPILE_VERSION_HEX) || (MIL_COMPILE_VERSION_HEX== 0)
#ifdef MIL_COMPILE_VERSION_HEX
#undef MIL_COMPILE_VERSION_HEX
#endif
#define MIL_COMPILE_VERSION_HEX 0x1060
#endif
// Let's put the hex value in decimal.
#define MIL_COMPILE_VERSION ((((MIL_COMPILE_VERSION_HEX >> 12) & 0xf) * 1000) + (((MIL_COMPILE_VERSION_HEX >> 8) & 0xf) * 100) + (((MIL_COMPILE_VERSION_HEX >> 4) & 0xf) * 10) + (((MIL_COMPILE_VERSION_HEX) & 0xf) ))
#define MIL_COMPILE_TRUNK_VERSION 1095
#define MIL_COMPILE_NEXT_MAJOR_VERSION 1100
/************************************************************************/
/* COMPILATION FLAG */
/* One and only one flag must be active */
/************************************************************************/
#ifndef M_MIL_USE_OS
#define M_MIL_USE_OS 1
#if(defined(__clang__))
#define M_MIL_USE_CLANG 1
#else
#define M_MIL_USE_CLANG 0
#endif
#if defined(__linux__)
#ifdef __aarch64__
#define M_MIL_USE_ARM 1
#else
#define M_MIL_USE_ARM 0
#endif
#ifdef __x86_64__
#define M_MIL_USE_INTEL_CPU 1
#else
#define M_MIL_USE_INTEL_CPU 0
#endif
#define M_MIL_USE_WINDOWS 0
#define M_MIL_USE_LINUX 1
#define M_MIL_USE_NEW_STDHEADERS 1
#if defined(__x86_64__) || defined(__aarch64__)
#define M_MIL_USE_64BIT 1
#else
#define M_MIL_USE_64BIT 0
#endif
#ifndef M_LINUX_KERNEL
#define M_LINUX_KERNEL 0
#endif
#ifdef __INTEL_COMPILER
#define M_MIL_USE_LINTEL 1
#else
#define M_MIL_USE_LINTEL 0
#endif
#else
#define M_MIL_USE_WINDOWS 1
#define M_MIL_USE_LINUX 0
#define M_MIL_USE_ARM 0
#if defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
#define M_MIL_USE_INTEL_CPU 1
#else
#define M_MIL_USE_INTEL_CPU 0
#endif
#if defined(_WIN64) || defined(WIN64)
#define M_MIL_USE_64BIT 1
#else
#define M_MIL_USE_64BIT 0
#endif
#if (_MSC_VER >= 1400) && !defined(M_MIL_USING_SAFE_CRT)
#define M_MIL_USING_SAFE_CRT 1
#endif
#endif
#if defined(__POWERPC__)
#error "PowerPC not supported"
#endif
#endif
#if !(M_MIL_USE_WINDOWS || M_MIL_USE_LINUX)
#error "You must set at least one compilation flag."
#endif
#if ( (M_MIL_USE_WINDOWS && M_MIL_USE_LINUX) )
#error "You must select one and only one compilation flag."
#endif
/************************************************************************/
/*This flag indicates if MIL has been compiled without UNICODE support */
/*If MIL supports UNICODE, user can define UNICODE to use UNICODE API */
/************************************************************************/
#if !defined(M_MIL_USE_UNICODE) && !M_MIL_USE_LINUX
#define M_MIL_USE_UNICODE 1
#elif !defined (M_MIL_USE_UNICODE)
#define M_MIL_USE_UNICODE 0
#endif
#if defined(UNICODE)
#define M_MIL_UNICODE_API 1
#else
#define M_MIL_UNICODE_API 0
#endif
#if M_MIL_USE_LINUX || M_MIL_UNICODE_API
#define M_MIL_USE_TTF_UNICODE 1
#endif
/************************************************************************/
/*This flag enable or disable deprecated defines. */
/************************************************************************/
#if !defined(M_MIL_WARN_ON_DEPRECATED)
#if (defined(_MSC_VER) && (_MSC_VER >= 1400) && !M_MIL_USE_CLANG) || (defined(__INTEL_COMPILER) && !defined (M_LINUX_DISTCC))
#define M_MIL_WARN_ON_DEPRECATED 1
#else
#define M_MIL_WARN_ON_DEPRECATED 0
#endif
#endif
#if M_MIL_WARN_ON_DEPRECATED
// Define true (1) or false (2) depends on MIL_COMPILE_VERSION and START_VERSION.
#if MIL_COMPILE_VERSION >= 1000
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1000 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1000 0
#endif
#if MIL_COMPILE_VERSION >= 1010
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1010 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1010 0
#endif
#if MIL_COMPILE_VERSION >= 1020
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1020 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1020 0
#endif
#if MIL_COMPILE_VERSION >= 1030
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1030 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1030 0
#endif
#if MIL_COMPILE_VERSION >= 1040
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1040 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1040 0
#endif
#if MIL_COMPILE_VERSION >= 1050
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1050 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1050 0
#endif
#if MIL_COMPILE_VERSION >= 1060
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1060 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1060 0
#endif
#if MIL_COMPILE_VERSION >= MIL_COMPILE_TRUNK_VERSION
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1095 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1095 0
#endif
#if MIL_COMPILE_VERSION >= MIL_COMPILE_NEXT_MAJOR_VERSION
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1100 1
#else
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_1100 0
#endif
#define PRIMITIVE_CAT(X, ...) X ## __VA_ARGS__
#define MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO(X) PRIMITIVE_CAT(MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO_, X)
#define IIF(X) PRIMITIVE_CAT(IIF_, X)
#define IIF_0(X, ...) __VA_ARGS__
#define IIF_1(X, ...) X
#define MIL_DEPRECATED(IDENTIFIER, START_VERSION) IIF(MIL_COMPILE_VERSION_HIGHER_OR_EQUAL_TO(START_VERSION)) (__pragma(deprecated(#IDENTIFIER)), /*nothing*/)
#else
#define MIL_DEPRECATED(IDENTIFIER, START_VERSION)
#endif
#ifndef M_MIL_WARN_ON_DEPRECATED_MOS
#define M_MIL_WARN_ON_DEPRECATED_MOS 1
#endif
#ifndef M_MILIM_FUNCTION_DEPRECATION_WARNING
#if defined(OldDefinesSupport) && OldDefinesSupport
#define M_MILIM_FUNCTION_DEPRECATION_WARNING 1
#else
#define M_MILIM_FUNCTION_DEPRECATION_WARNING 0
#endif
#endif
/************************************************************************/
/* DEFAULT STATE INITIALIZATION FLAG */
/************************************************************************/
//Defines for INSTALLDIR support
#define M_INSTALL_DIR MIL_TEXT("///INSTALLDIR///")
#if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION
#define INSTALL_DIR M_INSTALL_DIR
#endif
#define M_TEMP_DIR MIL_TEXT("///MILTEMPDIRDIR///")
#define M_USER_DLL_DIR MIL_TEXT("///MILUSERDLLDIR///")
#if M_MIL_USE_LINUX
#define M_IMAGE_PATH M_INSTALL_DIR MIL_TEXT("images/")
#define M_CONTEXT_PATH M_INSTALL_DIR MIL_TEXT("contexts/")
#else
#define M_IMAGE_PATH M_INSTALL_DIR MIL_TEXT("images\\")
#define M_CONTEXT_PATH M_INSTALL_DIR MIL_TEXT("contexts\\")
#endif
/************************************************************************/
/* DEFAULT SYSTEM SPECIFICATIONS */
/************************************************************************/
/*DO NOT EDIT: you should change the default values with the Mil Configuration utility*/
#if OldDefinesSupport
#define M_DEF_SYSTEM_NUM M_DEFAULT
MIL_DEPRECATED(M_DEF_SYSTEM_NUM, 1000)
#define M_SYSTEM_SETUP M_DEF_SYSTEM_TYPE
MIL_DEPRECATED(M_SYSTEM_SETUP, 1000)
#define M_DEF_SYSTEM_TYPE M_SYSTEM_DEFAULT
MIL_DEPRECATED(M_DEF_SYSTEM_TYPE, 1000)
#endif
/************************************************************************/
/* DEFAULT DIGITIZER SPECIFICATIONS */
/************************************************************************/
/*DO NOT EDIT: you should change the default values with the Mil Configuration utility*/
#if OldDefinesSupport
#define M_DEF_DIGITIZER_INIT M_DEFAULT
MIL_DEPRECATED(M_DEF_DIGITIZER_INIT, 1000)
#define M_DEF_DIGITIZER_NUM M_DEFAULT
MIL_DEPRECATED(M_DEF_DIGITIZER_NUM, 1000)
#define M_CAMERA_SETUP M_DEF_DIGITIZER_FORMAT
MIL_DEPRECATED(M_CAMERA_SETUP, 1000)
#define M_DEF_DIGITIZER_FORMAT MIL_TEXT("M_DEFAULT")
MIL_DEPRECATED(M_DEF_DIGITIZER_FORMAT, 1000)
#endif
/************************************************************************/
/* DEFAULT DISPLAY SPECIFICATIONS */
/************************************************************************/
/*DO NOT EDIT: you should change the default values with the Mil Configuration utility*/
#if OldDefinesSupport
#define M_DEF_DISPLAY_FORMAT MIL_TEXT("M_DEFAULT")
#define M_DISPLAY_SETUP M_DEF_DISPLAY_FORMAT
MIL_DEPRECATED(M_DISPLAY_SETUP, 1000)
MIL_DEPRECATED(M_DEF_DISPLAY_FORMAT, 1000)
#define M_DEF_DISPLAY_INIT M_DEFAULT
MIL_DEPRECATED(M_DEF_DISPLAY_INIT, 1000)
#define M_DEF_DISPLAY_NUM M_DEFAULT
MIL_DEPRECATED(M_DEF_DISPLAY_NUM, 1000)
#endif
/************************************************************************/
/* DEFAULT IMAGE BUFFER SPECIFICATIONS */
/************************************************************************/
#if OldDefinesSupport
#define M_DEF_IMAGE_NUMBANDS_MIN 1
MIL_DEPRECATED(M_DEF_IMAGE_NUMBANDS_MIN, 1000)
#define M_DEF_IMAGE_SIZE_X_MIN 50
MIL_DEPRECATED(M_DEF_IMAGE_SIZE_X_MIN, 1000)
#define M_DEF_IMAGE_SIZE_Y_MIN 50
MIL_DEPRECATED(M_DEF_IMAGE_SIZE_Y_MIN, 1000)
#define M_DEF_IMAGE_SIZE_X_MAX 4000000
MIL_DEPRECATED(M_DEF_IMAGE_SIZE_X_MAX, 1000)
#define M_DEF_IMAGE_SIZE_Y_MAX 4000000
MIL_DEPRECATED(M_DEF_IMAGE_SIZE_Y_MAX, 1000)
#define M_DEF_IMAGE_TYPE (8+M_UNSIGNED)
MIL_DEPRECATED(M_DEF_IMAGE_TYPE, 1000)
#define M_DEF_IMAGE_ATTRIBUTE_MIN (M_IMAGE+M_PROC)
MIL_DEPRECATED(M_DEF_IMAGE_ATTRIBUTE_MIN, 1000)
#endif
/************************************************************************/
/* Enables DMIL monitoring auto-publish mode. 0 == Disabled */
/************************************************************************/
#define M_DEF_AUTO_PUBLISH 0
#if OldDefinesSupport
#define MIL_DLLFUNC
#endif
#endif /*__MILSETUP_H__*/