00001 /* libsswf-version.h -- written by Alexis WILKE for Made to Order Software Corp. (c) 2002-2007 */ 00002 #ifndef LIBSSWF_VERSION_H 00003 #define LIBSSWF_VERSION_H 00004 00005 /* 00006 00007 Copyright (c) 2002-2007 Made to Order Software Corp. 00008 00009 Permission is hereby granted, free of charge, to any 00010 person obtaining a copy of this software and 00011 associated documentation files (the "Software"), to 00012 deal in the Software without restriction, including 00013 without limitation the rights to use, copy, modify, 00014 merge, publish, distribute, sublicense, and/or sell 00015 copies of the Software, and to permit persons to whom 00016 the Software is furnished to do so, subject to the 00017 following conditions: 00018 00019 The above copyright notice and this permission notice 00020 shall be included in all copies or substantial 00021 portions of the Software. 00022 00023 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 00024 ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 00025 LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 00026 FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 00027 EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 00028 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 00029 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 00030 ARISING FROM, OUT OF OR IN CONNECTION WITH THE 00031 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 00032 SOFTWARE. 00033 00034 */ 00035 00036 /** \file 00037 * 00038 * \brief The authority defining the version of the SSWF libraries 00039 * 00040 * The libsswf-version.h header file describes the SSWF version 00041 * and the versions of all the libraries available in the SSWF 00042 * project. 00043 * 00044 * The library versions are compatibility versions used by the 00045 * dynamic linker to make sure that a given library can indeed 00046 * be used by a software or another. 00047 */ 00048 00049 00050 00051 /** \brief The exact SSWF project version 00052 * 00053 * The SSWF VERSION represents the current project release 00054 * (see libtool -release). 00055 * 00056 * Its declares the exact version of the SSWF project. It is 00057 * composed of 3 decimal numbers separated by two points. 00058 * 00059 * The first number defines the major version of the library and 00060 * tools. So far, it has not changed. 00061 * 00062 * The second number defines the tag versions, each time I add 00063 * support for one or more SWF tags, that version is increased. 00064 * 00065 * The third number defines the revision number. I increase that 00066 * number whenever I make a new release with bug fixes and new 00067 * functions, but no new SWF tags. 00068 * 00069 * \note 00070 * Do not confound the SSWF project version (SSWF_VERSION) and 00071 * the SSWF library compatibility version (LIBSSWF_VERSION). 00072 * These two versions are not the same. One represents bug 00073 * fixes and enhancements, the other represents changes to the 00074 * interface of the library (which happen nearly all the time!). 00075 * 00076 * \sa LIBSSWF_VERSION 00077 */ 00078 #define SSWF_VERSION 1.8.2 00079 00080 /** \brief A low-level macro to create a C string 00081 * 00082 * The TO_STR_sub(s) macro is used to transform the parameter 00083 * into a string. This macro is called by the TO_STR(s) macro. 00084 * 00085 * \param s Often another macro such as SSWF_VERSION 00086 * 00087 * \sa SSWF_VERSION 00088 */ 00089 #define TO_STR_sub(s) #s 00090 00091 /** \brief Transform a macro which is not a string into a string 00092 * 00093 * The TO_STR(s) macro transform the parameter into a string. 00094 * 00095 * \param s Often another macro such as SSWF_VERSION 00096 * 00097 * \sa SSWF_VERSION 00098 */ 00099 #define TO_STR(s) TO_STR_sub(s) 00100 00101 00102 /****************************************************************************** 00103 * The following are the current compatibility versions for each library 00104 * (see libtool -version-info) 00105 ******************************************************************************/ 00106 00107 00108 /** \brief The C++ SSWF library (libsswf) compatibility version 00109 * 00110 * When you run a program linked against the dynamic SSWF library, the 00111 * dynamic linker will check the version of the library to make sure that 00112 * it is compatible. This version is defined by LIBSSWF_VERSION. 00113 * 00114 * When this version changes, it is not unlikely that the C library 00115 * version will change too. 00116 * 00117 * The syntax is what libtools supports. Three decimal numbers separated 00118 * by semicolons. 00119 * 00120 * \sa LIBSSWFC_VERSION 00121 */ 00122 #define LIBSSWF_VERSION 3:0:0 00123 00124 00125 /** \brief The C SSWF library (libsswf_c) compatibility version 00126 * 00127 * When you run a program linked against the dynamic C SSWF library, the 00128 * dynamic linker will check the version of the library to make sure that 00129 * it is compatible. This version is defined by LIBSSWFC_VERSION. 00130 * 00131 * This version should change less than the C++ library version, yet it 00132 * will certain often change when the C++ library includes new functions 00133 * and parameters. 00134 * 00135 * The syntax is what libtools supports. Three decimal numbers separated 00136 * by semicolons. 00137 * 00138 * \sa LIBSSWF_VERSION 00139 */ 00140 #define LIBSSWFC_VERSION 2:0:0 00141 00142 00143 /** \brief The ActionScript compiler library (libsswf_as) compatibility version 00144 * 00145 * When you run a program linked against the dynamic ActionScript compiler 00146 * library, the dynamic linker will check the version of the library to 00147 * make sure that it is compatible. This version is defined by 00148 * LIBSSWFAS_VERSION. 00149 * 00150 * The syntax is what libtools supports. Three decimal numbers separated 00151 * by semicolons. 00152 * 00153 * \sa LIBSSWFASAS_VERSION 00154 */ 00155 #define LIBSSWFAS_VERSION 1:0:0 00156 00157 00158 /** \brief The ActionScript assembler library (libsswf_asas) compatibility version 00159 * 00160 * When you run a program linked against the dynamic ActionScript assembler 00161 * library, the dynamic linker will check the version of the library to 00162 * make sure that it is compatible. This version is defined by 00163 * LIBSSWFASAS_VERSION. 00164 * 00165 * The syntax is what libtools supports. Three decimal numbers separated 00166 * by semicolons. 00167 * 00168 * \sa LIBSSWFAS_VERSION 00169 */ 00170 #define LIBSSWFASAS_VERSION 1:0:0 00171 00172 00173 00174 /**************************************************************************** 00175 * 00176 * Fink requires us to setup the library versions. This is anyhow a very 00177 * good idea to manage compatibility between versions. Only problem, I need 00178 * to test and make sure to change the versions each time I'm about to 00179 * create a new public release... 00180 * 00181 * libtool expects a -version_info option with three values. What follows 00182 * is an extract from: 00183 * 00184 * http://docsrv.sco.com:507/cgi-bin/info2html?(libtool.info.gz)Updating%2520version%2520info&lang=en 00185 * 00186 * which explains how we need to handle this information. 00187 * 00188 **************************************************************************** 00189 * 00190 * Here are a set of rules to help you update your library version 00191 * information: 00192 * 00193 * 1. Start with version information of `0:0:0' for each libtool library. 00194 * 00195 * 2. Update the version information only immediately before a public 00196 * release of your software. More frequent updates are unnecessary, 00197 * and only guarantee that the current interface number gets larger 00198 * faster. 00199 * 00200 * 3. If the library source code has changed at all since the last 00201 * update, then increment REVISION (`C:R:A' becomes `C:r+1:A'). 00202 * 00203 * 4. If any interfaces have been added, removed, or changed since the 00204 * last update, increment CURRENT, and set REVISION to 0. 00205 * 00206 * 5. If any interfaces have been added since the last public release, 00207 * then increment AGE. 00208 * 00209 * 6. If any interfaces have been removed since the last public release, 00210 * then set AGE to 0. 00211 * 00212 **************************************************************************** 00213 */ 00214 00215 00216 #endif // #ifndef LIBSSWF_VERSION_H