00001 /* libsswf-version.h -- written by Alexis WILKE for Made to Order Software Corp. (c) 2002-2009 */ 00002 #ifndef LIBSSWF_VERSION_H 00003 #define LIBSSWF_VERSION_H 00004 00005 /* 00006 00007 Copyright (c) 2002-2009 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.5 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 4: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 3: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 * \sa LIBSSWFASC_VERSION 00155 */ 00156 #define LIBSSWFAS_VERSION 2:0:0 00157 00158 00159 /** \brief The ActionScript assembler library (libsswf_asas) compatibility version 00160 * 00161 * When you run a program linked against the dynamic ActionScript assembler 00162 * library, the dynamic linker will check the version of the library to 00163 * make sure that it is compatible. This version is defined by 00164 * LIBSSWFASAS_VERSION. 00165 * 00166 * The syntax is what libtools supports. Three decimal numbers separated 00167 * by semicolons. 00168 * 00169 * \sa LIBSSWFAS_VERSION 00170 * \sa LIBSSWFASC_VERSION 00171 */ 00172 #define LIBSSWFASAS_VERSION 2:0:0 00173 00174 00175 00176 /** \brief The ActionScript internal script files. 00177 * 00178 * The compiler can be used with all the packages defined internally instead of 00179 * externally. This is achieved with the SSWF asc library. The following is the 00180 * version of that library. The dynamic linker will check that version whenever 00181 * the library is being loaded to make sure it is compatible with your tools. 00182 * 00183 * \sa LIBSSWFAS_VERSION 00184 * \sa LIBSSWFASAS_VERSION 00185 */ 00186 #define LIBSSWFASC_VERSION 1:0:0 00187 00188 00189 00190 /**************************************************************************** 00191 * 00192 * Fink requires us to setup the library versions. This is anyhow a very 00193 * good idea to manage compatibility between versions. Only problem, I need 00194 * to test and make sure to change the versions each time I'm about to 00195 * create a new public release... 00196 * 00197 * libtool expects a -version_info option with three values. What follows 00198 * is an extract from: 00199 * 00200 * http://docsrv.sco.com:507/cgi-bin/info2html?(libtool.info.gz)Updating%2520version%2520info&lang=en 00201 * 00202 * which explains how we need to handle this information. 00203 * 00204 **************************************************************************** 00205 * 00206 * Here are a set of rules to help you update your library version 00207 * information: 00208 * 00209 * 1. Start with version information of `0:0:0' for each libtool library. 00210 * 00211 * 2. Update the version information only immediately before a public 00212 * release of your software. More frequent updates are unnecessary, 00213 * and only guarantee that the current interface number gets larger 00214 * faster. 00215 * 00216 * 3. If the library source code has changed at all since the last 00217 * update, then increment REVISION (`C:R:A' becomes `C:r+1:A'). 00218 * 00219 * 4. If any interfaces have been added, removed, or changed since the 00220 * last update, increment CURRENT, and set REVISION to 0. 00221 * 00222 * 5. If any interfaces have been added since the last public release, 00223 * then increment AGE. 00224 * 00225 * 6. If any interfaces have been removed since the last public release, 00226 * then set AGE to 0. 00227 * 00228 **************************************************************************** 00229 */ 00230 00231 00232 #endif // #ifndef LIBSSWF_VERSION_H