MloConfig.h

Go to the documentation of this file.
00001 /*****************************************************************
00002 |
00003 |    Melo - Configuration
00004 |
00005 |    Copyright 2002-2006 Axiomatic Systems LLC
00006 |
00007 |    This file is part of Melo (Melo AAC Decoder).
00008 |
00009 |    Unless you have obtained Melo under a difference license,
00010 |    this version of Melo is Melo|GPL.
00011 |    Melo|GPL is free software; you can redistribute it and/or modify
00012 |    it under the terms of the GNU General Public License as published by
00013 |    the Free Software Foundation; either version 2, or (at your option)
00014 |    any later version.
00015 |
00016 |    Melo|GPL is distributed in the hope that it will be useful,
00017 |    but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 |    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019 |    GNU General Public License for more details.
00020 |
00021 |    You should have received a copy of the GNU General Public License
00022 |    along with Melo|GPL; see the file COPYING.  If not, write to the
00023 |    Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
00024 |    02111-1307, USA.
00025 |
00026  ****************************************************************/
00031 #ifndef _MLO_CONFIG_H_
00032 #define _MLO_CONFIG_H_
00033 
00034 /*----------------------------------------------------------------------
00035 |    defaults
00036 +---------------------------------------------------------------------*/
00037 #define MLO_CONFIG_HAVE_STD_C
00038 #define MLO_CONFIG_HAVE_STDLIB_H
00039 #define MLO_CONFIG_HAVE_STRING_H
00040 #define MLO_CONFIG_HAVE_CTYPE_H
00041 #define MLO_CONFIG_HAVE_MATH_H
00042 #define MLO_CONFIG_HAVE_ASSERT_H
00043 #define MLO_CONFIG_HAVE_LIMITS_H
00044 
00045 /*----------------------------------------------------------------------
00046 |       base types
00047 +---------------------------------------------------------------------*/
00048 typedef int              MLO_Int32;
00049 typedef unsigned int     MLO_UInt32;
00050 typedef short            MLO_Int16;
00051 typedef unsigned short   MLO_UInt16;
00052 typedef signed char      MLO_Int8;
00053 typedef unsigned char    MLO_UInt8;
00054 
00055 /*----------------------------------------------------------------------
00056 |    platform specifics
00057 +---------------------------------------------------------------------*/
00058 /* Windows 32 */
00059 #if defined(_MSC_VER)
00060 #if !defined(STRICT)
00061 #define STRICT
00062 #define inline __inline
00063 #endif
00064 
00065 #define vsnprintf _vsnprintf
00066 
00067 #endif
00068 
00069 /* Microsoft C/C++ Compiler */
00070 #if defined(_MSC_VER)
00071 #define MLO_CONFIG_HAVE_INT64
00072 #define MLO_CONFIG_INT64_TYPE __int64
00073 #endif
00074 
00075 /* QNX */
00076 #if defined(__QNX__)
00077 #endif
00078 
00079 /*----------------------------------------------------------------------
00080 |    compiler specifics
00081 +---------------------------------------------------------------------*/
00082 /* GCC */
00083 #if defined(__GNUC__)
00084 #define MLO_COMPILER_UNUSED(p) (void)p
00085 #define MLO_CONFIG_HAVE_INT64
00086 #define MLO_CONFIG_INT64_TYPE long long
00087 #else
00088 #define MLO_COMPILER_UNUSED(p) 
00089 #endif
00090 
00091 /*----------------------------------------------------------------------
00092 |    standard C runtime
00093 +---------------------------------------------------------------------*/
00094 #if defined (MLO_CONFIG_HAVE_STD_C)
00095 #define MLO_CONFIG_HAVE_MALLOC
00096 #define MLO_CONFIG_HAVE_CALLOC
00097 #define MLO_CONFIG_HAVE_REALLOC
00098 #define MLO_CONFIG_HAVE_FREE
00099 #define MLO_CONFIG_HAVE_MEMCPY
00100 #define MLO_CONFIG_HAVE_MEMMOVE
00101 #define MLO_CONFIG_HAVE_MEMSET
00102 #endif /* MLO_CONFIG_HAS_STD_C */
00103 
00104 #if defined (MLO_CONFIG_HAVE_STRING_H)
00105 #define MLO_CONFIG_HAVE_STRCMP
00106 #define MLO_CONFIG_HAVE_STRNCMP
00107 #define MLO_CONFIG_HAVE_STRDUP
00108 #define MLO_CONFIG_HAVE_STRLEN
00109 #define MLO_CONFIG_HAVE_STRCPY
00110 #define MLO_CONFIG_HAVE_STRNCPY
00111 #endif /* MLO_CONFIG_HAVE_STRING_H */
00112 
00113 #if defined (MLO_CONFIG_HAVE_MATH_H)
00114 #define MLO_CONFIG_HAVE_POW
00115 #define MLO_CONFIG_HAVE_SQRT
00116 #define MLO_CONFIG_HAVE_COS
00117 #define MLO_CONFIG_HAVE_SIN
00118 #endif /* MLO_CONFIG_HAVE_MATH_H */
00119 
00120 #endif /* _MLO_CONFIG_H_ */