SoX Resampler Library       Copyright (c) 2007-13 robs@users.sourceforge.net

INSTALLATION GUIDE CONTENTS

* Standard build
* Build customisation
* Cross-compiling with mingw (linux host)
* Integration with other build systems



STANDARD BUILD

1. Prerequisites:

    Before you can build this library, you need to have available on your
    system:

    * A C-compiler with 64-bit integer support and, optionally, OpenMP, SIMD.

    * A 'make' utility (most compiler installations already have one of these).

    * CMake: http://www.cmake.org/cmake/resources/software.html


2. Build:

    At a command prompt, change directory (`cd') to the one containing this
    file, then enter:

        go                          (on MS-Windows with nmake)
    or
        ./go                        (on unix-like systems)

    This should build the library and run a few sanity tests.


3. Installation:

    Note that this step may need to be performed by a system
    adminstrator.  Enter:

        nmake install               (on MS-Windows)
    or
        cd Release; make install    (on unix)


4. Configuration:

    To use the library you may need to set up appropriate paths to the
    library and its header file in your development environment.


5. Installation test

    To test the installation, build and run some of the example programmes
    (see examples/README).



BUILD CUSTOMISATION

If it is necessary to customise the build, then steps 2 and 3 above may be
substituted as follows.  Change directory to the one containing this file,
then enter commands along the lines of:

    mkdir build
    cd build
    cmake [OPTIONS] ..
    make
    make test
    sudo make install

To list help on the available options, enter:

    cmake -LH ..

Options, if given, should be preceded with '-D', e.g.

    cmake -DWITH_SIMD:BOOL=OFF ..



CROSS-COMPILING WITH MINGW (LINUX HOST)

For example:

    mkdir build
    cd build
    cmake -DCMAKE_TOOLCHAIN_FILE=~/Toolchain-x86_64-mingw-w64-mingw32.cmake \
          -DCMAKE_INSTALL_PREFIX=install \
          -DHAVE_WORDS_BIGENDIAN_EXITCODE=1 \
          -DBUILD_TESTS=0 \
          -DBUILD_EXAMPLES=1 \
          ..
    make

where ~/Toolchain-x86_64-mingw-w64-mingw32.cmake might contain:

    SET(CMAKE_SYSTEM_NAME Windows)
    SET(CMAKE_C_COMPILER /usr/bin/x86_64-w64-mingw32-gcc)
    SET(CMAKE_CXX_COMPILER /usr/bin/x86_64-w64-mingw32-g++)
    SET(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres)
    SET(CMAKE_Fortran_COMPILER /usr/bin/x86_64-w64-mingw32-gfortran)
    SET(CMAKE_AR:FILEPATH /usr/bin/x86_64-w64-mingw32-ar)
    SET(CMAKE_RANLIB:FILEPATH /usr/bin/x86_64-w64-mingw32-ranlib)
    SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)
    SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
    SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
    SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
    SET(QT_BINARY_DIR /usr/x86_64-w64-mingw32/bin /usr/bin)
    SET(Boost_COMPILER -gcc47)



INTEGRATION WITH OTHER BUILD SYSTEMS

Autotools-based systems might find it useful to create a file called
`configure' in the directory containing this file, consisting of the line:
  cmake -DBUILD_SHARED_LIBS=OFF .
(or with other build options as required).

For MS visual studio, see msvc/README