eg_config.h

Go to the documentation of this file.
00001 /* EGlib "Efficient General Library" provides some basic structures and
00002  * algorithms commons in many optimization algorithms.
00003  *
00004  * Copyright (C) 2005 Daniel Espinoza and Marcos Goycoolea.
00005  * 
00006  * This library is free software; you can redistribute it and/or modify it
00007  * under the terms of the GNU Lesser General Public License as published by the
00008  * Free Software Foundation; either version 2.1 of the License, or (at your
00009  * option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful, but 
00012  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
00013  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public 
00014  * License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public License
00017  * along with this library; if not, write to the Free Software Foundation,
00018  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA 
00019  * */
00020 /* ========================================================================= */
00021 /** Main Configuration for the library, as debug levels and so on
00022  * 
00023  * @par History:
00024  * - 2006-01-27
00025  *          - Handle some problems with stdint.h in SUN
00026  * - 2005-08-17
00027  *          - Set memory aligment to 8 bits
00028  * - 2003-06-02
00029  *          - First Implementation
00030  * @version 0.0.1 
00031  * */
00032 /* ========================================================================= */
00033 #ifndef __EG_CONGIH_H__
00034 #define __EG_CONFIG_H__
00035 #define _XOPEN_SOURCE 600
00036 #include <stdlib.h>
00037 #include <sys/types.h>
00038 #include <unistd.h>
00039 
00040 /* ========================================================================= */
00041 /** @brief we try to detect what type of OS we are working in, this is 
00042  * important because different flavor of unixes have small tweaks that 
00043  * we must take care of. 
00044  * So far, we can choose LINUX or SUN */
00045 #define LINUX 0
00046 #define SUN 1
00047 #ifndef OS
00048 #define OS LINUX
00049 #endif
00050 #if ( (OS > SUN) || (OS < LINUX) )
00051 #error OS configuration value unknown
00052 #endif
00053 
00054 /* ========================================================================= */
00055 /** @brief Depending on the OS, we include some files and make some 
00056  * definitions */
00057 #if OS == LINUX
00058 #include <getopt.h>
00059 #include <stdint.h>
00060 #endif
00061 
00062 
00063 /* ========================================================================= */
00064 /** @brief assert Debug options definitions, by defoult set on */
00065 #ifndef DEBUG
00066 #warning you should define DEBUG, assuming it to be 1
00067 #define DEBUG 1
00068 #endif
00069 
00070 /* ========================================================================= */
00071 /** @brief assert Verbose options definition, by default set on */
00072 #ifndef VERBOSE_LEVEL
00073 #warning you should define VERBOSE_LEVEL, assuming it to be 1
00074 #define VERBOSE_LEVEL 1
00075 #endif
00076 
00077 /* ========================================================================= */
00078 /** @brief assert that we define the HAVE_GNU_MP option */
00079 #ifndef HAVE_GNU_MP
00080 #warning you should define HAVE_GNU_MP assuming it to be 0
00081 #define HAVE_GNU_MP 0
00082 #endif
00083 /* ========================================================================= */
00084 /** @brief assert that we define HAVE_SOFTFLOAT option */
00085 #ifndef HAVE_SOFTFLOAT
00086 #warning you should define HAVE_SOFTFLOAT assuming it to be 0
00087 #define HAVE_SOFTFLOAT 0
00088 #endif
00089 /* end eg_config.h */
00090 #endif

Generated on Wed Nov 21 09:38:13 2007 for MTgomory by  doxygen 1.4.6