Mercurial > hg > sv-dependency-builds
diff src/libsndfile-1.0.25/doc/pkgconfig.html @ 0:c7265573341e
Import initial set of sources
author | Chris Cannam |
---|---|
date | Mon, 18 Mar 2013 14:12:14 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/libsndfile-1.0.25/doc/pkgconfig.html Mon Mar 18 14:12:14 2013 +0000 @@ -0,0 +1,71 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> + +<HEAD> + <TITLE> + libsndfile : pkg-config + </TITLE> + <META NAME="Author" CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)"> + <LINK REL="stylesheet" HREF="libsndfile.css" TYPE="text/css" MEDIA="all"> + <LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print"> +</HEAD> + +<BODY> + +<BR> +<H1>libsndfile and pkg-config</H1> + +<P> + From version 1.0.0 libsndfile has had the ability to read and write files of + greater than 2 Gig in size on most OSes even if sizeof (long) == 4. + OSes which support this feature include Linux (2.4 kernel, glibc6) on x86, PPC and + probably others, Win32, MacOS X, *BSD, Solaris and probably others. + OSes on 64 bit processors where the default compile environment is LP64 (longs and + pointers are 64 bit ie Linux on DEC/Compaq/HP Alpha processors) automatically + support large file access. +</P> +<P> + Other OSes including Linux on 32 bit processors, 32 bit Solaris and others require + special compiler flags to add large file support. + This applies to both the compilation of the library itself and the compilation of + programs which link to the library. +</P> +<P> + Note : People using Win32, MacOS (both OS X and pre-OS X) or *BSD can disregard the + rest of this document as it does not apply to either of these OSes. +</P> +<P> + The <B>pkg-config</B> program makes finding the correct compiler flag values and + library location far easier. + During the installation of libsndfile, a file named <B>sndfile.pc</B> is installed + in the directory <B>${libdir}/pkgconfig</B> (ie if libsndfile is installed in + <B>/usr/local/lib</B>, <B>sndfile.pc</B> will be installed in + <B>/usr/local/lib/pkgconfig/</B>). +</P> +<P> + In order for pkg-config to find sndfile.pc it may be necessary to point the + environment variable <B>PKG_CONFIG_PATH</B> in the right direction. +</P> + <PRE> + export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig + </PRE> + +<P> + Then, to compile a C file into an object file, the command would be: +</P> + <PRE> + gcc `pkg-config --cflags sndfile` -c somefile.c + </PRE> +<P> + and to link a number of objects into an executable that links against libsndfile, + the command would be: +</P> + <PRE> + gcc `pkg-config --libs sndfile` obj1.o obj2.o -o program + </PRE> + +<P> + Obviously all this can be rolled into a Makefile for easier maintenance. +</P> +</BODY> +</HTML>