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>