00001 /*************************************************************************** 00002 LibUFO - UI For OpenGL 00003 copyright : (C) 2001-2005 by Johannes Schmidt 00004 email : schmidtjf at users.sourceforge.net 00005 ------------------- 00006 00007 file : include/ufo/ufo_versioninfo.hpp 00008 begin : Mon Mar 31 2003 00009 $Id: uversioninfo.hpp,v 1.13 2005/10/12 12:02:18 schmidtjf Exp $ 00010 ***************************************************************************/ 00011 00012 /*************************************************************************** 00013 * This library is free software; you can redistribute it and/or * 00014 * modify it under the terms of the GNU Lesser General Public * 00015 * License as published by the Free Software Foundation; either * 00016 * version 2.1 of the License, or (at your option) any later version. * 00017 * * 00018 * This library is distributed in the hope that it will be useful, * 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00021 * Lesser General Public License for more details. * 00022 * * 00023 * You should have received a copy of the GNU Lesser General Public * 00024 * License along with this library; if not, write to the Free Software * 00025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * 00026 ***************************************************************************/ 00027 00028 #ifndef UFO_VERSIONINFO_HPP 00029 #define UFO_VERSIONINFO_HPP 00030 00031 // versioning in libUFO 00032 // the version macros are based on the SDL sources 00033 // http://www.libsdl.org 00034 // thanks Sam! 00035 00036 /* 00037 */ 00038 #define UFO_MAJOR_VERSION 0 00039 #define UFO_MINOR_VERSION 8 00040 #define UFO_MICRO_VERSION 4 00041 00042 namespace ufo { 00043 struct UVersionInfo { 00044 uint8_t major; 00045 uint8_t minor; 00046 uint8_t micro; 00047 }; 00048 00049 00051 #define UFO_FILL_VERSIONINFO(info) \ 00052 { \ 00053 info->major = UFO_MAJOR_VERSION \ 00054 info->minor = UFO_MINOR_VERSION \ 00055 info->micro = UFO_MICRO_VERSION \ 00056 } 00057 00058 #define UFO_VERSION(info) UFO_FILL_VERSIONINFO(info) 00059 00064 #define UFO_MAKE_VERSION(X, Y, Z) \ 00065 (X) << 16 + (Y) << 8 + (Z) 00066 00068 #define UFO_COMPILED_VERSION \ 00069 UFO_MAKE_VERSION(UFO_MAJOR_VERSION, UFO_MINOR_VERSION, UFO_MICRO_VERSION) 00070 00072 #define UFO_VERSION_ATLEAST(X, Y, Z) \ 00073 (UFO_COMPILED_VERSION >= UFO_MAKE_VERSION(X, Y, Z)) 00074 00075 } // namespace ufo 00076 00077 #endif // UFO_VERSIONINFO_HPP