Apple Lossless Codec and Utility with Autotools. Fork of https://github.com/mikebrady/alac
Go to file
DataHoarder ba11f91599
All checks were successful
continuous-integration/drone/push Build is passing
Added decoder sanity checks for bitDepth, channels
2022-04-23 16:52:21 +02:00
codec Added decoder sanity checks for bitDepth, channels 2022-04-23 16:52:21 +02:00
convert-utility Unbreak build of sample conversion utility. 2019-02-11 17:46:55 +01:00
.drone.yml Add build dependencies 2022-04-21 11:03:36 +02:00
ALACMagicCookieDescription.txt Initial check in 2011-10-26 19:31:06 +00:00
AUTHORS Initial set of autotools files 2016-07-03 19:44:12 +01:00
ChangeLog Initial set of autotools files 2016-07-03 19:44:12 +01:00
configure.ac Add in the alac.pc/in file 2016-07-03 21:17:39 +01:00
COPYING Initial set of autotools files 2016-07-03 19:44:12 +01:00
LICENSE Initial check in 2011-10-26 19:54:09 +00:00
Makefile.am Initial set of autotools files 2016-07-03 19:44:12 +01:00
NEWS Initial set of autotools files 2016-07-03 19:44:12 +01:00
README Initial set of autotools files 2016-07-03 19:44:12 +01:00
README.md Add C libalac interface for encoder 2022-04-20 20:18:57 +02:00
ReadMe.txt Initial check in 2011-10-26 19:31:06 +00:00

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 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