libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

commit a4d1c55b59ea6c1f09af1272928bdc657ca2e345
parent 8847035a01617de462aa9a87edd5e6905ea40e30
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri,  1 Jan 2010 19:54:34 +0000

docu

Diffstat:
MMakefile.am | 2+-
MREADME | 54++++++++++++++++++++----------------------------------
MREADME.debian | 29-----------------------------
3 files changed, 21 insertions(+), 64 deletions(-)

diff --git a/Makefile.am b/Makefile.am @@ -1,7 +1,7 @@ SUBDIRS = m4 po src doc . EXTRA_DIST = config.rpath \ ABOUT-NLS mkinstalldirs install-sh \ - PLATFORMS README.debian + PLATFORMS pkgconfigdatadir = $(libdir)/pkgconfig pkgconfigdata_DATA = libextractor.pc diff --git a/README b/README @@ -5,10 +5,10 @@ libextractor is a simple library for keyword extraction. libextractor does not support all formats but supports a simple plugging mechanism such that you can quickly add extractors for additional formats, even without recompiling libextractor. libextractor typically ships with a -dozen helper-libraries that can be used to obtain keywords from common -file-types. +few dozen helper-libraries (plugins) that can be used to obtain +keywords from common file-types. -libextractor is a part of the GNU project (http://www.gnu.org/). +libextractor is a GNU package (http://www.gnu.org/). @@ -22,17 +22,11 @@ extract is a simple command-line interface to libextractor. Dependencies ============ -libextractor requires Python (2.3, better 2.4 including development -files) and a JNI header file (jni.h) for Java. Further requirements -include: -* libvorbisfile * zlib (compression library) -* c++ compiler +* GNU C/C++ compiler * libltdl 2.2.x (from GNU libtool) -* libtool 1.5 or higher +* GNU libtool 2.2 or higher * GNU gettext -* glib 2.6 -* gtk 2.6 (for thumbnails, gdk-pixbuf) When building libextractor binaries, please make sure all of these dependencies are available. Otherwise the build system may @@ -49,26 +43,24 @@ need to do is write a little library that implements a single method with this signature: -KeywordList * <libraryname>_extract(const char * filename, - const char * data, - size_t size, - KeywordList * prev, - const char * options); +int +EXTRACTOR_XXX_extract + (const char *data, + size_t data_size, + EXTRACTOR_MetaDataProcessor proc, + void *proc_cls, + const char * options); -where <libraryname> is the name of the library file that you will tell -libExtractor to load, minus the suffix. For example, if you link your -extractor into a file called 'myextractor.so', the method above should -be called 'myextractor_extract'. +where XXX is the name of the library file that you will tell +libextractor to load, minus the suffix. For example, if you link your +extractor into a file called 'libextractor_my.so', the method above should +be called 'EXTRACTOR_my_extract'. -The filename is the name of the file and maybe NULL, data is a pointer -to the contents of the file and size is the size of the file. The -extract method must prepend keywords that it finds to the linked list -'prev' and return the new head. The library must allocate (malloc) -the entry in the keyword list and the memory for the filename since -both will be free'ed by libextractor once the application calls -freeKeywords. +data is a pointer to the contents of the file and data_size is the +size of data. The extract method must call the proc function with all +of the meta data found. -An example implementation can be found in mp3extractor.c. +An example implementation can be found in mp3_extractor.c. @@ -81,12 +73,6 @@ known to work well; as such, libextractor will first look for 3.3 (by attempting to run gcc-3.3, cpp-3.3, and g++-3.3) and then 2.95.2 (by attempting to run gcc2 and g++2). -exiv2 requires G++ 3.0 or higher. With older GCC versions (and other -broken C++ compilers), you have to manually disable exiv2 by passing -"--disable-exiv2" to "configure" in order to avoid compilation -problems. - - If libextractor fails to find the plugins, a possible method of last resort is to set the environment variable LIBEXTRACTOR_PREFIX to the parent of the directory where the plugins are installed (i.e., if the diff --git a/README.debian b/README.debian @@ -4,36 +4,7 @@ install prior to compiling GNU libextractor. ================================================= Absolutely needed: -libtool -gcc -make -g++ -libltdl7-dev -zlib1g-dev -libbz2-dev -Recommended: -libgtk2.0-dev -libvorbis-dev -libflac-dev -libgsf-1-dev -libmpeg2-4-dev -libqt4-dev -librpm-dev -libpoppler-dev - -Optional: -libexiv2-dev # if you compile with --enable-exiv2 -libavformat-dev # if you compile with --enable-ffmpeg -libswscale-dev # if you compile with --enable-ffmpeg - -For Subversion access and compilation: -subversion -autoconf -automake ============================================== -Please notify us if we missed some dependencies -(note that the list is supposed to only list direct -dependencies, not transitive dependencies).