1<html> 2 3<head> 4<title>Tremor - Build</title> 5<link rel=stylesheet href="style.css" type="text/css"> 6</head> 7 8<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff"> 9<table border=0 width=100%> 10<tr> 11<td><p class=tiny>Tremor documentation</p></td> 12<td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td> 13</tr> 14</table> 15 16<h1>Tremor: Building libvorbisidec</h1> 17 18<p> 19 20The C source in the Tremor package will build on any ANSI C compiler 21and function completely and properly on any platform. The included 22build system assumes GNU build system and make tools (m4, automake, 23autoconf, libtool and gmake). GCC is not required, although GCC is 24the most tested compiler. To build using GNU tools, type in the 25source directory: 26 27<p> 28<pre><tt> 29./autogen.sh 30gmake 31</tt></pre> 32<p> 33or if GNU make is the standard make on the build system: 34<pre><tt> 35./autogen.sh 36make 37</tt></pre> 38 39<p> 40Currently, the source implements playback in pure C on all platforms 41except ARM, where a [currently] small amount of assembly (see the file 42asm_arm.h) is used to implement 64 bit math operations and 43fast LSP computation. If building on ARM without the benefit of GNU 44build system tools, be sure that <tt>_ARM_ASSEM_</tt> is #defined by 45the build system if this assembly is desired, else the resulting 46library will use whatever 64 bit math builtins the compiler 47implements. 48 49<p> 50No math library is required by this source. No floating point 51operations are used at any point in either setup or decode. This 52decoder library will properly decode any past, current or future 53Vorbis I file or stream. 54 55<p> 56The GNU build system produces static and, when supported by the OS, 57dynamic libraries named 'libvorbisidec'. This library exposes an API 58nearly identical to the BSD reference library's 'libvorbisfile', 59including all the features familiar to users of vorbisfile. This API 60is similar enough that the proper header file to include is named 61'ivorbisfile.h', included in the source build directory. 62Lower level libvorbis-style headers and structures are 63in 'ivorbiscodec.h', also included in the source build directory. A 64simple example program, ivorbisfile_example.c, can be built with 'make 65ivorbisfile_example'. 66<p> 67(We've summarized <a href="diff.html">differences between the free, 68reference vorbisfile library and Tremor's libvorbisidec in a separate 69document</a>.) 70 71<h3>Notes</h3> 72 73<p>Tremor requires a native 64 bit integer type to compile and 74function; The GNU build system will locate and typedef 75<tt>ogg_int64_t</tt> to the appropriate native type. If not using the 76GNU build tools, you will need to define <tt>ogg_int64_t</tt> as a 7764-bit type inside your system's project file/Makefile, etc. On win32, 78for example, this should be defined as <tt>__int64</tt>. 79<p> 80 81<br><br> 82<hr noshade> 83<table border=0 width=100%> 84<tr valign=top> 85<td><p class=tiny>copyright © 2002 Xiph.org</p></td> 86<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td> 87</tr><tr> 88<td><p class=tiny>Tremor documentation</p></td> 89<td align=right><p class=tiny>Tremor version 1.0 - 20020403</p></td> 90</tr> 91</table> 92 93</body> 94 95</html> 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112