00001 <html> 00002 00003 <head> 00004 <title>Tremor - Build</title> 00005 <link rel=stylesheet href="style.css" type="text/css"> 00006 </head> 00007 00008 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff"> 00009 <table border=0 width=100%> 00010 <tr> 00011 <td><p class=tiny>Tremor documentation</p></td> 00012 <td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td> 00013 </tr> 00014 </table> 00015 00016 <h1>Tremor: Building libvorbisidec</h1> 00017 00018 <p> 00019 00020 The C source in the Tremor package will build on any ANSI C compiler 00021 and function completely and properly on any platform. The included 00022 build system assumes GNU build system and make tools (m4, automake, 00023 autoconf, libtool and gmake). GCC is not required, although GCC is 00024 the most tested compiler. To build using GNU tools, type in the 00025 source directory: 00026 00027 <p> 00028 <pre><tt> 00029 ./autogen.sh 00030 gmake 00031 </tt></pre> 00032 <p> 00033 or if GNU make is the standard make on the build system: 00034 <pre><tt> 00035 ./autogen.sh 00036 make 00037 </tt></pre> 00038 00039 <p> 00040 Currently, the source implements playback in pure C on all platforms 00041 except ARM, where a [currently] small amount of assembly (see the file 00042 asm_arm.h) is used to implement 64 bit math operations and 00043 fast LSP computation. If building on ARM without the benefit of GNU 00044 build system tools, be sure that <tt>_ARM_ASSEM_</tt> is #defined by 00045 the build system if this assembly is desired, else the resulting 00046 library will use whatever 64 bit math builtins the compiler 00047 implements. 00048 00049 <p> 00050 No math library is required by this source. No floating point 00051 operations are used at any point in either setup or decode. This 00052 decoder library will properly decode any past, current or future 00053 Vorbis I file or stream. 00054 00055 <p> 00056 The GNU build system produces static and, when supported by the OS, 00057 dynamic libraries named 'libvorbisidec'. This library exposes an API 00058 nearly identical to the BSD reference library's 'libvorbisfile', 00059 including all the features familiar to users of vorbisfile. This API 00060 is similar enough that the proper header file to include is named 00061 'ivorbisfile.h', included in the source build directory. 00062 Lower level libvorbis-style headers and structures are 00063 in 'ivorbiscodec.h', also included in the source build directory. A 00064 simple example program, ivorbisfile_example.c, can be built with 'make 00065 ivorbisfile_example'. 00066 <p> 00067 (We've summarized <a href="diff.html">differences between the free, 00068 reference vorbisfile library and Tremor's libvorbisidec in a separate 00069 document</a>.) 00070 00071 <h3>Notes</h3> 00072 00073 <p>Tremor requires a native 64 bit integer type to compile and 00074 function; The GNU build system will locate and typedef 00075 <tt>ogg_int64_t</tt> to the appropriate native type. If not using the 00076 GNU build tools, you will need to define <tt>ogg_int64_t</tt> as a 00077 64-bit type inside your system's project file/Makefile, etc. On win32, 00078 for example, this should be defined as <tt>__int64</tt>. 00079 <p> 00080 00081 <br><br> 00082 <hr noshade> 00083 <table border=0 width=100%> 00084 <tr valign=top> 00085 <td><p class=tiny>copyright © 2002 Xiph.org</p></td> 00086 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td> 00087 </tr><tr> 00088 <td><p class=tiny>Tremor documentation</p></td> 00089 <td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td> 00090 </tr> 00091 </table> 00092 00093 </body> 00094 00095 </html> 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111