Made to Order Software Corporation Logo

libsswf: libsswf-version.h Source File

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

Generated on Wed Mar 18 15:13:55 2009 for libsswf by  doxygen 1.5.5