68 lines
2.5 KiB
Markdown
68 lines
2.5 KiB
Markdown
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
|
||
```
|