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