Header File Layout

Fred Gleason fredg at salemradiolabs.com
Thu Sep 2 18:32:39 CEST 2004

Greetings, Taggers!

I am in the midst of integrating TagLib into the following project:


and have some questions regarding layout of TagLib's header files.  The 
default installation for TagLib 1.2 [./configure ; make ; make install] on my 
system puts the headers in '/usr/local/include/taglib/', which is what I 
would expect.  However, Autoconf is then unable to find them.  Specifically, 
doing AC_CHECK_HEADER([taglib/tag.h],[FOO=yes],[]) fails, because 'tag.h' 
contains an '#include <tstring.h>'.  Since 'tstring.h' is part of TagLib, and 
is hence installed in '/usr/local/include/taglib/', it is *not* in the 
standard INCLUDE path, and so Autoconf fails it as being unusable.

So, my dilemma is this:  how can I relably detect TagLib?  Some solutions that 
have occured to me are:  1)  Change the '#include <tstring.h>' in 'tag.h' to 
'#include <taglib/tstring.h> or 2) define a $TAGLIBDIR variable in in the 
environment (somewhat analogously to $QTDIR) to allow the library to be 
found.  Both 'solutions' would involve changes in the way TagLib is currently 
installed, and so are probably not optimum.  What's the best way to proceed 
here?  I'm trying to avoid simply defining a hard include path, as that can 
break in various ways --e.g. when building RPMs.

Thanks for listening...


| Frederick F. Gleason, Jr. | Director of Broadcast Software Development  |
|                           |             Salem Radio Labs                |
|                      When your client's hopping mad,                    |
|                      Put his picture in the ad.                         |
|                      If he still should prove refractory,               |
|                      Add a picture of his factory.                      |
|                                     -- The Advertising Agency Song      |

More information about the taglib-devel mailing list