aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-08-14 23:45:49 +0000
committerChristian Grothoff <christian@grothoff.org>2012-08-14 23:45:49 +0000
commita553232a7ae47588d8678c155bc14242f37bb4a3 (patch)
tree99b0a42441ea9abc3561d7323f5e368e4e755afe
parentf2291083668e9cfdb5758795dc0eb9a4f6b38dd2 (diff)
downloadlibextractor-a553232a7ae47588d8678c155bc14242f37bb4a3.tar.gz
libextractor-a553232a7ae47588d8678c155bc14242f37bb4a3.zip
trying to clean up configure.ac and TODO list
-rw-r--r--TODO68
-rw-r--r--configure.ac169
2 files changed, 32 insertions, 205 deletions
diff --git a/TODO b/TODO
index 33a6565..811826d 100644
--- a/TODO
+++ b/TODO
@@ -1,31 +1,23 @@
1* ffmpeg needs make 3.81: add configure check for it 1* Update plugins to new API (and cleanup code):
2 2 - mp3/id3/id3v2 tags
3Core: 3 - thumbnail-ffmpeg
4* port test cases 4 - thumbnail-gtk
5* support "hash" plugins as *optional* plugins 5 - thumbnail-qt
6 (need a way to indicate that they should not be used 6 - tar
7 "by default") 7 - html
8* support "footer" plugins that need the end of the file, 8 - man
9 and not the beginning 9 - dvi
10* document the new APIs 10 - elf
11* document special options; we have: 11 - applefile
12 - force-kill: plugin process committs suicide after each file 12 - flv
13 - oop-only: plugin is never run in-process 13 - qt
14 - close-stdout: stdout is closed for the (external) plugin process 14 - riff
15 - close-stderr: stderr is closed for the (external) plugin process 15 - tiff
16 16 - ps
17'Unclean' code: 17 - pdf
18* ASF 18 - mkv
19* RPM 19 - ebml
20 20 - asf
21Incomplete code (missing features):
22* RIFF (idx1 attribute)
23* StarOffice sdw (some attributes, see doc/)
24* man pages (interpret sections for authors, brief description)
25* pdf: full-text extraction!
26* EXIV2
27* ELF: 64-bit support, lists of architectures, OSes, etc. are incomplete
28* ID3v2x: unsynchronization support, (de)compression support, footer support (24)
29 21
30Desirable missing formats: 22Desirable missing formats:
31* mbox / various e-mail formats 23* mbox / various e-mail formats
@@ -34,27 +26,9 @@ Desirable missing formats:
34* a.out (== ar?) 26* a.out (== ar?)
35* rtf 27* rtf
36* EXE 28* EXE
37* APEv2 (MPC file format, www.personal.uni-jena.de/~pfk/mpp/sv8/apetag.html) 29* APEv2 (MPC file format, http://www.personal.uni-jena.de/~pfk/mpp/sv8/apetag.html)
38* PRC (Palm module, http://web.mit.edu/tytso/www/pilot/prc-format.html) 30* PRC (Palm module, http://web.mit.edu/tytso/www/pilot/prc-format.html)
39* KOffice 31* KOffice
40* TGA 32* TGA
41* ODF (OpenDocument format) 33* ODF (OpenDocument format)
42* Microsoft OOXML (MS Office >= 2007) 34* Microsoft OOXML (MS Office >= 2007)
43
44==============
45
46UTF-8 conversion (only listing what is left to do):
47* DVI: special headers are in what format? (rest is ASCII)
48* SDW: needs to be done (need info about charsets)
49* JPEG: presumably ASCII (or not specified)
50* PS?
51* WAV?
52* ZIP?
53* TAR?
54* RIFF?
55* MAN: presumably ASCII/Utf-8
56* DEB: to be done
57* ASF: ?
58* HTML: to be done
59* OLE2: done
60* OO: to be done
diff --git a/configure.ac b/configure.ac
index 03d493e..8817d83 100644
--- a/configure.ac
+++ b/configure.ac
@@ -233,9 +233,6 @@ fi])
233 233
234# Checks for libraries. 234# Checks for libraries.
235 235
236# Redhat 9, gcc 3.2, libextractor_pdf barfs if we don't check for this
237AC_CHECK_LIB(stdc++, fclose)
238
239AC_CHECK_HEADERS(langinfo.h) 236AC_CHECK_HEADERS(langinfo.h)
240LIBS=$LIBSOLD 237LIBS=$LIBSOLD
241# FIXME: allow --with-oggvorbis=PFX 238# FIXME: allow --with-oggvorbis=PFX
@@ -303,13 +300,6 @@ AC_CHECK_LIB(jpeg, jpeg_std_error,
303 AM_CONDITIONAL(HAVE_JPEG, false))], 300 AM_CONDITIONAL(HAVE_JPEG, false))],
304 AM_CONDITIONAL(HAVE_JPEG, false)) 301 AM_CONDITIONAL(HAVE_JPEG, false))
305 302
306AC_CHECK_LIB(poppler, _ZTI9MemStream,
307 [AC_CHECK_HEADERS([poppler/goo/gmem.h],
308 AM_CONDITIONAL(HAVE_POPPLER, true)
309 AC_DEFINE(HAVE_POPPLER,1,[Have libpoppler]),
310 AM_CONDITIONAL(HAVE_POPPLER, false))],
311 AM_CONDITIONAL(HAVE_POPPLER, false))
312
313AC_MSG_CHECKING(for ImageFactory::iptcData in -lexiv2) 303AC_MSG_CHECKING(for ImageFactory::iptcData in -lexiv2)
314AC_LANG_PUSH(C++) 304AC_LANG_PUSH(C++)
315SAVED_LDFLAGS=$LDFLAGS 305SAVED_LDFLAGS=$LDFLAGS
@@ -329,22 +319,6 @@ LDFLAGS=$SAVED_LDFLAGS
329AC_LANG_POP(C++) 319AC_LANG_POP(C++)
330 320
331 321
332
333AC_MSG_CHECKING(for getPDFMajorVersion in -lpoppler)
334AC_LANG_PUSH(C++)
335SAVED_LDFLAGS=$LDFLAGS
336LDFLAGS="$LDFLAGS -lpoppler"
337AC_LINK_IFELSE(
338 [AC_LANG_PROGRAM([[#include <poppler/PDFDoc.h>]],
339 [[PDFDoc *foo = NULL; foo->getPDFMajorVersion(); ]])],
340 [AC_MSG_RESULT(yes)
341 AC_DEFINE(HAVE_POPPLER_GETPDFMAJORVERSION,1,[Have getPDFMajorVersion in libpoppler])],
342 [AC_MSG_RESULT(no)])
343LDFLAGS=$SAVED_LDFLAGS
344AC_LANG_POP(C++)
345
346
347
348AC_MSG_CHECKING(for DGifOpen -lgif) 322AC_MSG_CHECKING(for DGifOpen -lgif)
349SAVED_LDFLAGS=$LDFLAGS 323SAVED_LDFLAGS=$LDFLAGS
350AC_CHECK_LIB(gif, DGifOpen, 324AC_CHECK_LIB(gif, DGifOpen,
@@ -440,127 +414,6 @@ else
440 AM_CONDITIONAL(HAVE_GTK,false) 414 AM_CONDITIONAL(HAVE_GTK,false)
441fi 415fi
442 416
443# check for all C++ dependencies...
444qt=0
445qt4=0
446
447if test "x$HAVE_CXX" = "xyes"
448then
449
450# check for Qt 4
451SAVED_CPPFLAGS=$CPPFLAGS
452SAVED_LDFLAGS=$LDFLAGS
453AC_LANG_PUSH([C++])
454AC_MSG_CHECKING(for Qt)
455AC_ARG_WITH(qt,
456 [ --with-qt=PFX Base of Qt installation],
457 [AC_MSG_RESULT([$with_qt])
458 case $with_qt in
459 no)
460 ;;
461 yes)
462 AC_CHECK_HEADERS([Qt/qpixmap.h],
463 AC_CHECK_LIB([QtGui4], [_ZN7QPixmap12defaultDepthEv],
464 qt4=1,
465 AC_CHECK_LIB([QtGui], [_ZN7QPixmap12defaultDepthEv],
466 qt=1)))
467 ;;
468 *)
469 LDFLAGS="-L$with_qt/lib $LDFLAGS"
470 CPPFLAGS="-I$with_qt/include -I$with_qt/include/qt4 $CPPFLAGS"
471 AC_CHECK_HEADERS([Qt/qpixmap.h],
472 AC_CHECK_LIB([QtGui4], [_ZN7QPixmap12defaultDepthEv],
473 EXT_LIB_PATH="-L$with_qt/lib $EXT_LIB_PATH"
474 qt4=1,
475 AC_CHECK_LIB([QtGui], [_ZN7QPixmap12defaultDepthEv],
476 EXT_LIB_PATH="-L$with_qt/lib $EXT_LIB_PATH"
477 qt=1)))
478 ;;
479 esac
480 ],
481 [AC_MSG_RESULT([--with-qt not specified])
482 LDFLAGS="-L/usr/lib $LDFLAGS"
483 CPPFLAGS="-I/usr/include -I/usr/include/qt4 $CPPFLAGS"
484 AC_CHECK_HEADERS([Qt/qpixmap.h],
485 AC_CHECK_LIB([QtGui4], [_ZN7QPixmap12defaultDepthEv],
486 EXT_LIB_PATH="-L$with_qt/lib $EXT_LIB_PATH"
487 qt4=1,
488 AC_CHECK_LIB([QtGui], [_ZN7QPixmap12defaultDepthEv],
489 EXT_LIB_PATH="-L$with_qt/lib $EXT_LIB_PATH"
490 qt=1)))])
491
492# check for Qt SVG module
493qt_svg=0
494qt_svg4=0
495AC_MSG_CHECKING(for Qt SVG)
496AC_ARG_WITH(qt,
497 [ --with-qt=PFX Base of Qt installation],
498 [AC_MSG_RESULT([$with_qt])
499 case $with_qt in
500 no)
501 ;;
502 yes)
503 AC_CHECK_HEADERS([Qt/qsvgrenderer.h],
504 AC_CHECK_LIB([QtSvg4], [_ZN10QSvgWidgetD0Ev],
505 qt_svg4=1,
506 AC_CHECK_LIB([QtSvg], [_ZN10QSvgWidgetD0Ev],
507 qt_svg=1)))
508 ;;
509 *)
510 LDFLAGS="-L$with_qt/lib $LDFLAGS"
511 CPPFLAGS="-I$with_qt/include -I$with_qt/include/qt4 $CPPFLAGS"
512 AC_CHECK_HEADERS([Qt/qsvgrenderer.h],
513 AC_CHECK_LIB([QtSvg4], [_ZN10QSvgWidgetD0Ev],
514 EXT_LIB_PATH="-L$with_qt/lib $EXT_LIB_PATH"
515 qt_svg4=1,
516 AC_CHECK_LIB([QtSvg], [_ZN10QSvgWidgetD0Ev],
517 EXT_LIB_PATH="-L$with_qt/lib $EXT_LIB_PATH"
518 qt_svg=1)))
519 ;;
520 esac
521 ],
522 [AC_MSG_RESULT([--with-qt not specified])
523 LDFLAGS="-L/usr/lib $LDFLAGS"
524 CPPFLAGS="-I/usr/include -I/usr/include/qt4 $CPPFLAGS"
525 AC_CHECK_HEADERS([Qt/qsvgrenderer.h],
526 AC_CHECK_LIB([QtSvg4], [_ZN10QSvgWidgetD0Ev],
527 EXT_LIB_PATH="-L$with_qt/lib $EXT_LIB_PATH"
528 qt_svg4=1,
529 AC_CHECK_LIB([QtSvg], [_ZN10QSvgWidgetD0Ev],
530 EXT_LIB_PATH="-L$with_qt/lib $EXT_LIB_PATH"
531 qt_svg=1)))])
532QT_CPPFLAGS=$CPPFLAGS
533QT_LDFLAGS=$LDFLAGS
534LDFLAGS=$SAVED_LDFLAGS
535CPPFLAGS=$SAVED_CPPFLAGS
536AC_LANG_POP([C++])
537
538# end C++ checks
539fi
540
541# set C++-dependent defines
542if test x$qt != x0
543then
544 AC_DEFINE(HAVE_QT, 1, [We have Qt])
545fi
546AM_CONDITIONAL(HAVE_QT, test x$qt != x0)
547if test x$qt4 != x0
548then
549 AC_DEFINE(HAVE_QT4, 1, [We have Qt4])
550fi
551AM_CONDITIONAL(HAVE_QT4, test x$qt4 != x0)
552
553if test x$qt_svg != x0
554then
555 AC_DEFINE(HAVE_QT_SVG, 1, [We have Qt SVG])
556fi
557if test x$qt_svg4 != x0
558then
559 AC_DEFINE(HAVE_QT_SVG4, 1, [We have Qt SVG4])
560fi
561AM_CONDITIONAL(HAVE_QT_SVG, test x$qt_svg != x0)
562AM_CONDITIONAL(HAVE_QT_SVG4, test x$qt_svg4 != x0)
563
564ABI_GSF 417ABI_GSF
565 418
566AM_CONDITIONAL(HAVE_GSF, test "x$have_gsf" = "xtrue") 419AM_CONDITIONAL(HAVE_GSF, test "x$have_gsf" = "xtrue")
@@ -614,7 +467,7 @@ LE_LIB_LDFLAGS="-export-dynamic -no-undefined"
614LE_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined" 467LE_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
615 468
616 469
617dnl TODO insert a proper check here 470# TODO insert a proper check here
618AC_CACHE_CHECK([whether -export-symbols-regex works], 471AC_CACHE_CHECK([whether -export-symbols-regex works],
619 gn_cv_export_symbols_regex_works, 472 gn_cv_export_symbols_regex_works,
620 [ 473 [
@@ -644,9 +497,9 @@ AC_SUBST(LIBEXT)
644PACKAGE_VERSION_NOALPHA=`echo $PACKAGE_VERSION | sed "s/@<:@A-Za-z@:>@*//g;"` 497PACKAGE_VERSION_NOALPHA=`echo $PACKAGE_VERSION | sed "s/@<:@A-Za-z@:>@*//g;"`
645AC_SUBST(PACKAGE_VERSION_NOALPHA) 498AC_SUBST(PACKAGE_VERSION_NOALPHA)
646 499
647AC_CONFIG_FILES([Makefile po/Makefile.in m4/Makefile 500AC_CONFIG_FILES([Makefile
648 501po/Makefile.in
649 502m4/Makefile
650contrib/macosx/Info.plist 503contrib/macosx/Info.plist
651contrib/macosx/Pkg-Info.plist 504contrib/macosx/Pkg-Info.plist
652doc/Makefile 505doc/Makefile
@@ -699,24 +552,24 @@ else
699 AC_MSG_NOTICE([NOTICE: FFmpeg thumbnailer plugin enabled (security untested)]) 552 AC_MSG_NOTICE([NOTICE: FFmpeg thumbnailer plugin enabled (security untested)])
700fi 553fi
701 554
702if test "x$without_gtk" = "xtrue" -a "x$qt" = "x0" -a "x$qt4" = "x0" -a "x$ffmpeg_enabled" = "x0" 555if test "x$without_gtk" = "xtrue"
703then 556then
704 AC_MSG_NOTICE([NOTICE: neither gtk nor Qt not found, no thumbnail support]) 557 AC_MSG_NOTICE([NOTICE: libgtk2+ not found, gtk thumbnail support disabled])
705fi 558fi
706 559
707if test "x$HAVE_VORBISFILE_TRUE" = "x#" 560if test "x$HAVE_VORBISFILE_TRUE" = "x#"
708then 561then
709 AC_MSG_NOTICE([NOTICE: vorbis support disabled]) 562 AC_MSG_NOTICE([NOTICE: libvorbis not found, vorbis support disabled])
710fi 563fi
711 564
712if test "x$HAVE_MPEG2_TRUE" = "x#" 565if test "x$HAVE_FLAC_TRUE" = "x#"
713then 566then
714 AC_MSG_NOTICE([NOTICE: libmpeg2 not found (will not compile mpeg2 plugin)]) 567 AC_MSG_NOTICE([NOTICE: libflac not found, flac support disabled])
715fi 568fi
716 569
717if test "x$HAVE_POPPLER_TRUE" = "x#" 570if test "x$HAVE_MPEG2_TRUE" = "x#"
718then 571then
719 AC_MSG_NOTICE([NOTICE: libpoppler not found (will not compile pdf plugin)]) 572 AC_MSG_NOTICE([NOTICE: libmpeg2 not found, mpeg2 support disabled])
720fi 573fi
721 574
722if test "x$HAVE_CXX" != "xyes" 575if test "x$HAVE_CXX" != "xyes"