Ignore:
Timestamp:
Dec 11, 2016, 9:12:14 PM (8 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, sampler, yinfft+
Children:
e0a9fd2
Parents:
e65fbec
Message:

doc/requirements.rst: improve description of options

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/requirements.rst

    re65fbec re15d7d0  
    11.. _requirements:
    22
    3 Requirements
    4 ============
    5 
    6 While aubio can be built without any external dependencies, we **recommend** to
    7 use at least some of the following libraries.
    8 
    9 Platform notes
    10 --------------
    11 
    12 On all platforms, you will need to have installed:
    13 
    14  - a compiler (gcc, clang, msvc, ...)
    15  - python (any version >= 2.7, including 3.x)
    16  - a terminal to run command lines in
    17 
    18 Linux
    19 .....
    20 
    21 The following `External libraries`_ will be used if found: `libav`_,
    22 `libsamplerate`_, `libsndfile`_, `libfftw3`_.
    23 
    24 macOS
    25 .....
    26 
    27 The following system frameworks will be used on Mac OS X systems:
    28 
    29   - `Accelerate <https://developer.apple.com/reference/accelerate>`_ to compute
    30     FFTs and other vectorized operations optimally.
    31 
    32   - `CoreAudio <https://developer.apple.com/reference/coreaudio>`_ and
    33     `AudioToolbox <https://developer.apple.com/reference/audiotoolbox>`_ to
    34     decode audio from files and network streams.
    35 
    36 .. note::
    37 
    38   To build a fat binary for both ``i386`` and ``x86_64``, use ``./waf configure
    39   --enable-fat``.
    40 
    41 The following `External libraries`_ will also be checked: `libav`_,
    42 `libsamplerate`_, `libsndfile`_, `libfftw3`_.
    43 
    44 Windows
    45 .......
    46 
    47 To use a specific version of the compiler, ``--msvc_version``. To build for a
    48 specific architecture, use ``--msvc_target``. For instance, to build aubio
    49 for ``x86`` using ``msvc 12.0``, use:
    50 
    51 .. code:: bash
    52 
    53     waf configure --msvc_version='msvc 12.0' --msvc_target='x86'
    54 
    55 
    56 The following `External libraries`_ will be used if found: `libav`_,
    57 `libsamplerate`_, `libsndfile`_, `libfftw3`_.
    58 
    59 iOS
    60 ...
    61 
    62 The following system frameworks will be used on iOS and iOS Simulator.
    63 
    64   - `Accelerate <https://developer.apple.com/reference/accelerate>`_ to compute
    65     FFTs and other vectorized operations optimally.
    66 
    67   - `CoreAudio <https://developer.apple.com/reference/coreaudio>`_ and
    68     `AudioToolbox <https://developer.apple.com/reference/audiotoolbox>`_ to
    69     decode audio from files and network streams.
    70 
    71 To build aubio for iOS, configure with ``--with-target-platform=ios``. For the
    72 iOS Simulator, use ``--with-target-platform=iosimulator`` instead.
    73 
    74 By default, aubio is built with the following flags on iOS:
    75 
    76 .. code:: bash
    77 
    78     CFLAGS="-fembed-bitcode -arch arm64 -arch armv7 -arch armv7s -miphoneos-version-min=6.1"
    79 
    80 and on iOS Simulator:
    81 
    82 .. code::
    83 
    84     CFLAGS="-arch i386 -arch x86_64 -mios-simulator-version-min=6.1"
    85 
    86 Set ``CFLAGS`` and ``LINKFLAGS`` to change these default values, or edit
    87 ``wscript`` directly.
    88 
    893Build options
    90 -------------
    91 
    92 Some additional options can be passed to the configure step. For the complete
    93 list of options, run:
    94 
    95 .. code:: bash
    96 
    97     $ ./waf configure --help
    98 
    99 Double precision
    100 ................
    101 
    102 To compile aubio in double precision mode, configure with ``--enable-double``.
    103 
    104 To compile aubio in single precision mode, use ``--disable-double`` (default).
    105 
    106 Fat binary
    107 ..........
    108 
    109 To build a fat binary on Mac OS platforms, configure with ``--enable-fat``.
     4=============
     5
     6If built without any external dependencies aubio can be somewhat useful, for
     7instance to read, process, and write simple wav files.
     8
     9To support more media input formas add more features to aubio, you can use one
     10or all of the `following libraries <extlibs>`_.
     11
     12You may also want to know more about the `other options`_ and the `platform
     13notes`_
     14
     15The configure script will automatically for these extra libraries. To make sure
     16the library or feature is used, pass the `--enable-flag` to waf. To disable
     17this feature, use `--disable-feature`.
     18
     19To find out more about the build commands, use the `--verbose` option.
    11020
    11121External libraries
     
    18393configure with ``--disable-fftw3``
    18494
    185 External tools
     95Platform notes
    18696--------------
    18797
    188 If the following tools are found, additional documentations are built:
     98On all platforms, you will need to have installed:
     99
     100 - a compiler (gcc, clang, msvc, ...)
     101 - python (any version >= 2.7, including 3.x)
     102 - a terminal to run command lines in
     103
     104Linux
     105.....
     106
     107The following `External libraries`_ will be used if found: `libav`_,
     108`libsamplerate`_, `libsndfile`_, `libfftw3`_.
     109
     110macOS
     111.....
     112
     113The following system frameworks will be used on Mac OS X systems:
     114
     115  - `Accelerate <https://developer.apple.com/reference/accelerate>`_ to compute
     116    FFTs and other vectorized operations optimally.
     117
     118  - `CoreAudio <https://developer.apple.com/reference/coreaudio>`_ and
     119    `AudioToolbox <https://developer.apple.com/reference/audiotoolbox>`_ to
     120    decode audio from files and network streams.
     121
     122.. note::
     123
     124  To build a fat binary for both ``i386`` and ``x86_64``, use ``./waf configure
     125  --enable-fat``.
     126
     127The following `External libraries`_ will also be checked: `libav`_,
     128`libsamplerate`_, `libsndfile`_, `libfftw3`_.
     129
     130To build a fat binary on a darwin like system (macOS, tvOS, appleOS, ...)
     131platforms, configure with ``--enable-fat``.
     132
     133Windows
     134.......
     135
     136To use a specific version of the compiler, ``--msvc_version``. To build for a
     137specific architecture, use ``--msvc_target``. For instance, to build aubio
     138for ``x86`` using ``msvc 12.0``, use:
     139
     140.. code:: bash
     141
     142    waf configure --msvc_version='msvc 12.0' --msvc_target='x86'
     143
     144
     145The following `External libraries`_ will be used if found: `libav`_,
     146`libsamplerate`_, `libsndfile`_, `libfftw3`_.
     147
     148iOS
     149...
     150
     151The following system frameworks will be used on iOS and iOS Simulator.
     152
     153  - `Accelerate <https://developer.apple.com/reference/accelerate>`_ to compute
     154    FFTs and other vectorized operations optimally.
     155
     156  - `CoreAudio <https://developer.apple.com/reference/coreaudio>`_ and
     157    `AudioToolbox <https://developer.apple.com/reference/audiotoolbox>`_ to
     158    decode audio from files and network streams.
     159
     160To build aubio for iOS, configure with ``--with-target-platform=ios``. For the
     161iOS Simulator, use ``--with-target-platform=iosimulator`` instead.
     162
     163By default, aubio is built with the following flags on iOS:
     164
     165.. code:: bash
     166
     167    CFLAGS="-fembed-bitcode -arch arm64 -arch armv7 -arch armv7s -miphoneos-version-min=6.1"
     168
     169and on iOS Simulator:
     170
     171.. code::
     172
     173    CFLAGS="-arch i386 -arch x86_64 -mios-simulator-version-min=6.1"
     174
     175Set ``CFLAGS`` and ``LINKFLAGS`` to change these default values, or edit
     176``wscript`` directly.
     177
     178Other options
     179-------------
     180
     181Some additional options can be passed to the configure step. For the complete
     182list of options, run:
     183
     184.. code:: bash
     185
     186    $ ./waf --help
     187
     188Here is an example of a custom command:
     189
     190.. code:: bash
     191
     192    $ ./waf --verbose configure build install \
     193                --enable-avcodec --enable-wavread --disable-wavwrite \
     194                --enable-sndfile --enable-samplerate --enable-docs \
     195                --destdir $PWD/build/destdir --testcmd="echo %s" \
     196                --prefix=/opt --libdir=/opt/lib/multiarch \
     197                --manpagesdir=/opt/share/man  \
     198                uninstall clean distclean dist distcheck
     199
     200Double precision
     201................
     202
     203To compile aubio in double precision mode, configure with ``--enable-double``.
     204
     205To compile aubio in single precision mode, use ``--disable-double`` (default).
     206
     207Edit wscript
     208............
     209
     210Many of the options are gathered in the file `wscript`. a good starting point
     211when looking for additional options.
     212
     213.. _build_docs:
     214
     215Building the docs
     216-----------------
     217
     218If the following command line tools are found, the documentation will be built
     219built:
    189220
    190221 - `doxygen <http://doxygen.org>`_ to build the :ref:`doxygen-documentation`.
    191222 - `txt2man <https://github.com/mvertes/txt2man>`_ to build the :ref:`manpages`
     223 - `sphinx <http://sphinx-doc.org>`_ to build this document
    192224
    193225These tools are searched for in the current ``PATH`` environment variable.
     
    196228To disable the documentation, configure with ``--disable-docs``. To build with
    197229the documentation, configure with ``--enable-docs``.
    198 
Note: See TracChangeset for help on using the changeset viewer.