diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-08-14 23:45:49 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-08-14 23:45:49 +0000 |
commit | a553232a7ae47588d8678c155bc14242f37bb4a3 (patch) | |
tree | 99b0a42441ea9abc3561d7323f5e368e4e755afe | |
parent | f2291083668e9cfdb5758795dc0eb9a4f6b38dd2 (diff) | |
download | libextractor-a553232a7ae47588d8678c155bc14242f37bb4a3.tar.gz libextractor-a553232a7ae47588d8678c155bc14242f37bb4a3.zip |
trying to clean up configure.ac and TODO list
-rw-r--r-- | TODO | 68 | ||||
-rw-r--r-- | configure.ac | 169 |
2 files changed, 32 insertions, 205 deletions
@@ -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 | |
3 | Core: | 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 | |
18 | * ASF | 18 | - mkv |
19 | * RPM | 19 | - ebml |
20 | 20 | - asf | |
21 | Incomplete 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 | ||
30 | Desirable missing formats: | 22 | Desirable 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 | |||
46 | UTF-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 | ||
237 | AC_CHECK_LIB(stdc++, fclose) | ||
238 | |||
239 | AC_CHECK_HEADERS(langinfo.h) | 236 | AC_CHECK_HEADERS(langinfo.h) |
240 | LIBS=$LIBSOLD | 237 | LIBS=$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 | ||
306 | AC_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 | |||
313 | AC_MSG_CHECKING(for ImageFactory::iptcData in -lexiv2) | 303 | AC_MSG_CHECKING(for ImageFactory::iptcData in -lexiv2) |
314 | AC_LANG_PUSH(C++) | 304 | AC_LANG_PUSH(C++) |
315 | SAVED_LDFLAGS=$LDFLAGS | 305 | SAVED_LDFLAGS=$LDFLAGS |
@@ -329,22 +319,6 @@ LDFLAGS=$SAVED_LDFLAGS | |||
329 | AC_LANG_POP(C++) | 319 | AC_LANG_POP(C++) |
330 | 320 | ||
331 | 321 | ||
332 | |||
333 | AC_MSG_CHECKING(for getPDFMajorVersion in -lpoppler) | ||
334 | AC_LANG_PUSH(C++) | ||
335 | SAVED_LDFLAGS=$LDFLAGS | ||
336 | LDFLAGS="$LDFLAGS -lpoppler" | ||
337 | AC_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)]) | ||
343 | LDFLAGS=$SAVED_LDFLAGS | ||
344 | AC_LANG_POP(C++) | ||
345 | |||
346 | |||
347 | |||
348 | AC_MSG_CHECKING(for DGifOpen -lgif) | 322 | AC_MSG_CHECKING(for DGifOpen -lgif) |
349 | SAVED_LDFLAGS=$LDFLAGS | 323 | SAVED_LDFLAGS=$LDFLAGS |
350 | AC_CHECK_LIB(gif, DGifOpen, | 324 | AC_CHECK_LIB(gif, DGifOpen, |
@@ -440,127 +414,6 @@ else | |||
440 | AM_CONDITIONAL(HAVE_GTK,false) | 414 | AM_CONDITIONAL(HAVE_GTK,false) |
441 | fi | 415 | fi |
442 | 416 | ||
443 | # check for all C++ dependencies... | ||
444 | qt=0 | ||
445 | qt4=0 | ||
446 | |||
447 | if test "x$HAVE_CXX" = "xyes" | ||
448 | then | ||
449 | |||
450 | # check for Qt 4 | ||
451 | SAVED_CPPFLAGS=$CPPFLAGS | ||
452 | SAVED_LDFLAGS=$LDFLAGS | ||
453 | AC_LANG_PUSH([C++]) | ||
454 | AC_MSG_CHECKING(for Qt) | ||
455 | AC_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 | ||
493 | qt_svg=0 | ||
494 | qt_svg4=0 | ||
495 | AC_MSG_CHECKING(for Qt SVG) | ||
496 | AC_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)))]) | ||
532 | QT_CPPFLAGS=$CPPFLAGS | ||
533 | QT_LDFLAGS=$LDFLAGS | ||
534 | LDFLAGS=$SAVED_LDFLAGS | ||
535 | CPPFLAGS=$SAVED_CPPFLAGS | ||
536 | AC_LANG_POP([C++]) | ||
537 | |||
538 | # end C++ checks | ||
539 | fi | ||
540 | |||
541 | # set C++-dependent defines | ||
542 | if test x$qt != x0 | ||
543 | then | ||
544 | AC_DEFINE(HAVE_QT, 1, [We have Qt]) | ||
545 | fi | ||
546 | AM_CONDITIONAL(HAVE_QT, test x$qt != x0) | ||
547 | if test x$qt4 != x0 | ||
548 | then | ||
549 | AC_DEFINE(HAVE_QT4, 1, [We have Qt4]) | ||
550 | fi | ||
551 | AM_CONDITIONAL(HAVE_QT4, test x$qt4 != x0) | ||
552 | |||
553 | if test x$qt_svg != x0 | ||
554 | then | ||
555 | AC_DEFINE(HAVE_QT_SVG, 1, [We have Qt SVG]) | ||
556 | fi | ||
557 | if test x$qt_svg4 != x0 | ||
558 | then | ||
559 | AC_DEFINE(HAVE_QT_SVG4, 1, [We have Qt SVG4]) | ||
560 | fi | ||
561 | AM_CONDITIONAL(HAVE_QT_SVG, test x$qt_svg != x0) | ||
562 | AM_CONDITIONAL(HAVE_QT_SVG4, test x$qt_svg4 != x0) | ||
563 | |||
564 | ABI_GSF | 417 | ABI_GSF |
565 | 418 | ||
566 | AM_CONDITIONAL(HAVE_GSF, test "x$have_gsf" = "xtrue") | 419 | AM_CONDITIONAL(HAVE_GSF, test "x$have_gsf" = "xtrue") |
@@ -614,7 +467,7 @@ LE_LIB_LDFLAGS="-export-dynamic -no-undefined" | |||
614 | LE_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined" | 467 | LE_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined" |
615 | 468 | ||
616 | 469 | ||
617 | dnl TODO insert a proper check here | 470 | # TODO insert a proper check here |
618 | AC_CACHE_CHECK([whether -export-symbols-regex works], | 471 | AC_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) | |||
644 | PACKAGE_VERSION_NOALPHA=`echo $PACKAGE_VERSION | sed "s/@<:@A-Za-z@:>@*//g;"` | 497 | PACKAGE_VERSION_NOALPHA=`echo $PACKAGE_VERSION | sed "s/@<:@A-Za-z@:>@*//g;"` |
645 | AC_SUBST(PACKAGE_VERSION_NOALPHA) | 498 | AC_SUBST(PACKAGE_VERSION_NOALPHA) |
646 | 499 | ||
647 | AC_CONFIG_FILES([Makefile po/Makefile.in m4/Makefile | 500 | AC_CONFIG_FILES([Makefile |
648 | 501 | po/Makefile.in | |
649 | 502 | m4/Makefile | |
650 | contrib/macosx/Info.plist | 503 | contrib/macosx/Info.plist |
651 | contrib/macosx/Pkg-Info.plist | 504 | contrib/macosx/Pkg-Info.plist |
652 | doc/Makefile | 505 | doc/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)]) |
700 | fi | 553 | fi |
701 | 554 | ||
702 | if test "x$without_gtk" = "xtrue" -a "x$qt" = "x0" -a "x$qt4" = "x0" -a "x$ffmpeg_enabled" = "x0" | 555 | if test "x$without_gtk" = "xtrue" |
703 | then | 556 | then |
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]) |
705 | fi | 558 | fi |
706 | 559 | ||
707 | if test "x$HAVE_VORBISFILE_TRUE" = "x#" | 560 | if test "x$HAVE_VORBISFILE_TRUE" = "x#" |
708 | then | 561 | then |
709 | AC_MSG_NOTICE([NOTICE: vorbis support disabled]) | 562 | AC_MSG_NOTICE([NOTICE: libvorbis not found, vorbis support disabled]) |
710 | fi | 563 | fi |
711 | 564 | ||
712 | if test "x$HAVE_MPEG2_TRUE" = "x#" | 565 | if test "x$HAVE_FLAC_TRUE" = "x#" |
713 | then | 566 | then |
714 | AC_MSG_NOTICE([NOTICE: libmpeg2 not found (will not compile mpeg2 plugin)]) | 567 | AC_MSG_NOTICE([NOTICE: libflac not found, flac support disabled]) |
715 | fi | 568 | fi |
716 | 569 | ||
717 | if test "x$HAVE_POPPLER_TRUE" = "x#" | 570 | if test "x$HAVE_MPEG2_TRUE" = "x#" |
718 | then | 571 | then |
719 | AC_MSG_NOTICE([NOTICE: libpoppler not found (will not compile pdf plugin)]) | 572 | AC_MSG_NOTICE([NOTICE: libmpeg2 not found, mpeg2 support disabled]) |
720 | fi | 573 | fi |
721 | 574 | ||
722 | if test "x$HAVE_CXX" != "xyes" | 575 | if test "x$HAVE_CXX" != "xyes" |