build.html 3.1 KB

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