alac/README.md

68 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ALAC
====
This repository is a clone of the Apple Lossless Audio Codec (ALAC) repository at http://alac.macosforge.org with added files to enable it to be built using GNU `autotools`. Use it to build and install the ALAC library `libalac`.
The added files are based on work done by [Tiancheng "Timothy" Gu](https://github.com/TimothyGu) in his repository https://github.com/TimothyGu/alac with some changes. Many thanks to him for his work. This respository is bare-bones for Visual Studio or Debian packaging support or for `man` pages, please go to Timothy's repository.
**Note:** In the rest of the note, a command prefixed with `#` means that it must be executed in superuser mode. The `$` prefix means it should be executed in regular user mode.
Install Build Tools
---
Building `libalac` requires a number of tools, such a the compiler and linker, `git` and more. Ensure they are already in place by running the following command. If the tools are already in place, it'll do no harm.
```
# apt get update
# apt-get install build-essential git autoconf automake libtool
```
Download, Build, Install
---
To download, build and install `libalac` do the following:
* Clone the repository and `cd` into the folder:
```
$ git clone https://git.gammaspectra.live/S.O.N.G/alac.git
$ cd alac
```
* Configure the build and make the library:
```
$ autoreconf -fi
$ ./configure
$ make
```
The `autoconfigure` command may take a long time. You may get a warning which you can ignore:
```
aclocal: warning: couldn't open directory 'm4': No such file or directory
```
* Install the library:
```
# make install
```
Make it Available
---
To make the library visible during compilation, you need to tell `ld` about it. Be careful here if you are on FreeBSD, the Linux command will mess up your system. On Linux, use the following command:
```
# ldconfig
```
Using the library
---
The library can be found and linked to via `pkg-config` the module name is `alac`.
Thus:
```
PKG_CHECK_MODULES([ALAC], [alac], [LIBS="${ALAC_LIBS} ${LIBS}"])
```
should work in a `configure.ac` file. If you are using `AC_CHECK_LIB`, something like this will work:
```
AC_CHECK_LIB([alac], [BitBufferInit], , AC_MSG_ERROR(Apple ALAC Decoder support requires the alac library!))
```
On FreeBSD you must add the location of the `alac.pc` file to the `PKG_CONFIG_PATH`, if it exists, and define it otherwise. Here is what you do if it doesn't already exist:
```
$ PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
$ export PKG_CONFIG_PATH
```