libsswf-version.h

Go to the documentation of this file.
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

Generated on Wed Dec 26 14:11:05 2007 for libsswf by  doxygen 1.4.7