git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/libraries/libkexiv2@1076314 283d02a7-25f6-0310-bc7c-ecb5cbfe19dav3.5.13-sru
commit
03224475f7
@ -0,0 +1,11 @@
|
|||||||
|
AUTHORS AND MAINTAINERS:
|
||||||
|
|
||||||
|
Caulier Gilles <caulier dot gilles at gmail dot com>
|
||||||
|
Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
|
||||||
|
|
||||||
|
CONTRIBUTORS:
|
||||||
|
|
||||||
|
Angelo Naselli <anaselli at linux dot it>
|
||||||
|
Gerhard Kulzer <gerhard at kulzer dot net>
|
||||||
|
Achim Bohnet <ach at mpe dot mpg dot de>
|
||||||
|
|
@ -0,0 +1,721 @@
|
|||||||
|
V 0.1.7 - 2008-03-24
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
2008-03-18 18:47 cgilles
|
||||||
|
|
||||||
|
* [r787192] libkexiv2/libkexiv2.pc.in:
|
||||||
|
update
|
||||||
|
|
||||||
|
2008-03-18 18:37 cgilles
|
||||||
|
|
||||||
|
* [r787184] libkexiv2/libkexiv2.lsm, libkexiv2/libkexiv2.pc.in:
|
||||||
|
update
|
||||||
|
|
||||||
|
2008-02-12 07:58 cgilles
|
||||||
|
|
||||||
|
* [r773947] libkexiv2/libkexiv2/kexiv2.cpp,
|
||||||
|
libkexiv2/libkexiv2/kexiv2.h:
|
||||||
|
libkexiv2 from KDE3 branch : set negative altitude value properly
|
||||||
|
CCBUGS : 157552
|
||||||
|
|
||||||
|
2007-12-30 22:00 anaselli
|
||||||
|
|
||||||
|
* [r754872] libkexiv2/libkexiv2/Makefile.am,
|
||||||
|
libkexiv2/libkexiv2/kexiv2.cpp, libkexiv2/libkexiv2/kexiv2.h:
|
||||||
|
Breakage of the year, new static method version has been added
|
||||||
|
|
||||||
|
CCMAIL: kde-imaging@kde.org
|
||||||
|
|
||||||
|
2007-12-14 14:11 cgilles
|
||||||
|
|
||||||
|
* [r748437] libkexiv2/libkexiv2.lsm, libkexiv2/libkexiv2.pc.in,
|
||||||
|
libkexiv2/libkexiv2/version.h:
|
||||||
|
new version
|
||||||
|
|
||||||
|
2007-11-19 15:50 cgilles
|
||||||
|
|
||||||
|
* [r738755] libkexiv2/libkexiv2/kexiv2.cpp:
|
||||||
|
print error code
|
||||||
|
|
||||||
|
2007-09-26 10:50 cgilles
|
||||||
|
|
||||||
|
* [r717230] libkexiv2/libkexiv2/kexiv2.cpp:
|
||||||
|
polish
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
V 0.1.6 - 2007-09-08
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
2007-09-01 10:46 cgilles
|
||||||
|
|
||||||
|
* [r707242] libkexiv2/libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from KDE3 branch : fix IPTC strings creation with
|
||||||
|
non-zero value at end
|
||||||
|
CCBUGS: 148182
|
||||||
|
|
||||||
|
2007-08-25 08:03 cgilles
|
||||||
|
|
||||||
|
* [r704515] libkexiv2/libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from KDE3 branch : backport Marcel commit #693337 from
|
||||||
|
trunk (KDE4) about to handle properly Exiv2 exceptions, depending
|
||||||
|
of GCC visility option use to compile.
|
||||||
|
CCBUGS: 148014
|
||||||
|
--This l from KDEine, and those below, will be ignored--
|
||||||
|
|
||||||
|
M kexiv2.cpp
|
||||||
|
|
||||||
|
2007-08-21 20:48 cgilles
|
||||||
|
|
||||||
|
* [r703058] libkexiv2/libkexiv2/kexiv2.cpp:
|
||||||
|
use EXIV2_TEST_VERSION instead EXIV2_CHECK_VERSION witch is
|
||||||
|
depreciate now
|
||||||
|
|
||||||
|
2007-08-21 18:54 cgilles
|
||||||
|
|
||||||
|
* [r703007] libkexiv2/libkexiv2/kexiv2.cpp:
|
||||||
|
fix EXIV2_CHECK_VERSION macro handling
|
||||||
|
|
||||||
|
2007-08-21 09:16 cgilles
|
||||||
|
|
||||||
|
* [r702839] libkexiv2/libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from KDE3 branch : return run-time version if Exiv2 if
|
||||||
|
possible
|
||||||
|
|
||||||
|
2007-06-13 08:12 cgilles
|
||||||
|
|
||||||
|
* [r674817] libkexiv2/libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from KDE3 branch : With Nikon camera, the AdobeRgb user
|
||||||
|
color space is defined to set Exif.Photo.ColorSpace to
|
||||||
|
Uncalibrated and Exif.Nikon3.ColorMode to MODE2.
|
||||||
|
BUG: 137750
|
||||||
|
|
||||||
|
2007-06-08 19:16 cgilles
|
||||||
|
|
||||||
|
* [r673015] libkexiv2/Makefile.am, libkexiv2/kexiv2.cpp,
|
||||||
|
libkexiv2/kexiv2.h, libkexiv2/libkexiv2,
|
||||||
|
libkexiv2/libkexiv2/Makefile.am, libkexiv2/libkexiv2/kexiv2.cpp,
|
||||||
|
libkexiv2/libkexiv2/kexiv2.h,
|
||||||
|
libkexiv2/libkexiv2/libkexiv2_export.h,
|
||||||
|
libkexiv2/libkexiv2/version.h, libkexiv2/libkexiv2_export.h,
|
||||||
|
libkexiv2/version.h:
|
||||||
|
to be homogenous with trunk (KDE4), move all source code in
|
||||||
|
libkexiv2 sub-folder
|
||||||
|
|
||||||
|
2007-06-05 06:56 cgilles
|
||||||
|
|
||||||
|
* [r671625] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
libkexiv2 from branches : Krazy Code Checker fix
|
||||||
|
(http://www.englishbreakfastnetwork.org/krazy)
|
||||||
|
|
||||||
|
2007-06-05 06:29 cgilles
|
||||||
|
|
||||||
|
* [r671618] libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from branches : Krazy Code Checker fix
|
||||||
|
(http://www.englishbreakfastnetwork.org/krazy)
|
||||||
|
|
||||||
|
2007-06-04 11:35 cgilles
|
||||||
|
|
||||||
|
* [r671273] libkexiv2/CMakeLists.txt, libkexiv2/cmake:
|
||||||
|
remove obsolete file
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
V 0.1.5 - 2007-05-08
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
Fixing: libtools version info again, we found not to be back compatible
|
||||||
|
with libkexiv 0.1.1, unfortunately since 0.1.2 version.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
V 0.1.4 - 2007-05-06
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
Fixing: libtools version info
|
||||||
|
|
||||||
|
2007-05-06 21:23 anaselli
|
||||||
|
|
||||||
|
* [r661885] libkexiv2/ChangeLog, libkexiv2/Makefile.am,
|
||||||
|
libkexiv2/libkexiv2.lsm, libkexiv2/libkexiv2.pc.in,
|
||||||
|
libkexiv2/version.h:
|
||||||
|
Release 0.1.4
|
||||||
|
- fix libtools version-info
|
||||||
|
|
||||||
|
CCMAIL: kde-imaging@kde.org, digikam-devel@kde.org
|
||||||
|
|
||||||
|
2007-05-06 21:14 anaselli
|
||||||
|
|
||||||
|
* [r661883] libkexiv2/Makefile.am:
|
||||||
|
Changed to add libtools version managing into prepare script
|
||||||
|
(hope this will avoid to forget it)
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
v 0.1.3 - 2007-05-05
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
2007-05-05 14:01 gkulzer
|
||||||
|
|
||||||
|
* [r661413] libkexiv2/ChangeLog:
|
||||||
|
0.1.3 release, coordinated with digiKam 0.9.2-beta1 release
|
||||||
|
|
||||||
|
2007-05-05 12:09 gkulzer
|
||||||
|
|
||||||
|
* [r661379] libkexiv2/ChangeLog, libkexiv2/NEWS,
|
||||||
|
libkexiv2/libkexiv2.lsm:
|
||||||
|
0.1.3 release, coordinated with digiKam 0.9.2-beta1 release
|
||||||
|
|
||||||
|
2007-05-02 07:11 cgilles
|
||||||
|
|
||||||
|
* [r660285] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h,
|
||||||
|
libkexiv2/libkexiv2_export.h, libkexiv2/version.h:
|
||||||
|
fix headers
|
||||||
|
|
||||||
|
2007-05-02 06:42 cgilles
|
||||||
|
|
||||||
|
* [r660276] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
libkexiv2 from trunk : test if file is readable before to load it
|
||||||
|
in Exiv2.
|
||||||
|
CCBUGS: 144895
|
||||||
|
|
||||||
|
* [r658899] BUG:144455
|
||||||
|
thanks a lot to Stéphane Pontier, corrected a lot of spelling errors
|
||||||
|
and missing mails
|
||||||
|
M /trunk/extragear/libs/libkexiv2/libkexiv2_export.h
|
||||||
|
M /trunk/extragear/libs/libkexiv2/kexiv2.cpp
|
||||||
|
M /trunk/extragear/libs/libkexiv2/version.h
|
||||||
|
M /trunk/extragear/libs/libkexiv2/kexiv2.h
|
||||||
|
|
||||||
|
* [r658847] GPS problem solved. BUG:144604
|
||||||
|
M /trunk/extragear/libs/libkexiv2/kexiv2.cpp
|
||||||
|
|
||||||
|
Gilles patch
|
||||||
|
* [r658711]M /trunk/extragear/libs/libkexiv2/libkexiv2.pc.in
|
||||||
|
M /trunk/extragear/libs/libkexiv2/kexiv2.cpp
|
||||||
|
M /trunk/extragear/libs/libkexiv2/libkexiv2.lsm
|
||||||
|
M /trunk/extragear/libs/libkexiv2/version.h
|
||||||
|
M /trunk/extragear/libs/libkexiv2/NEWS
|
||||||
|
M /trunk/extragear/libs/libkexiv2/README
|
||||||
|
M /trunk/extragear/libs/libkexiv2/kexiv2.h
|
||||||
|
|
||||||
|
V 0.1.2 - 2007-04-07
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
2007-03-26 07:54 cgilles
|
||||||
|
|
||||||
|
* [r646581] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
libkexiv2 from trunk : polish API : all "get...()" method must
|
||||||
|
use const operator.
|
||||||
|
|
||||||
|
2007-03-15 11:10 anaselli
|
||||||
|
|
||||||
|
* [r642771] libkexiv2/Makefile.am, libkexiv2/NEWS:
|
||||||
|
API changed, please check if it is correct.
|
||||||
|
|
||||||
|
CCMAIL: caulier.gilles@kdemail.net
|
||||||
|
|
||||||
|
2007-03-15 09:09 cgilles
|
||||||
|
|
||||||
|
* [r642722] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
libkexiv2 from trunk : Fix broken compilation with current Exiv2
|
||||||
|
implementation (next 0.14.0 release), duing a change with C++
|
||||||
|
Exception rule. I recommend to cleanup and recompile this library
|
||||||
|
and clients program witch use it.
|
||||||
|
|
||||||
|
Note : libkexiv2 still compatible with older Exiv2 releases 0.12
|
||||||
|
and 0.13
|
||||||
|
|
||||||
|
CCMAIL: digikam-devel@kde.org
|
||||||
|
|
||||||
|
2007-03-14 12:12 cgilles
|
||||||
|
|
||||||
|
* [r642432] libkexiv2/NEWS:
|
||||||
|
--Cette ligupdatene, et les suivantes ci-dessous, seront
|
||||||
|
ignorées--
|
||||||
|
|
||||||
|
M NEWS
|
||||||
|
|
||||||
|
2007-03-14 12:11 cgilles
|
||||||
|
|
||||||
|
* [r642431] libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from trunk : patch from Arnd Baecker about to avoid the
|
||||||
|
GPS accuracy loss
|
||||||
|
BUG: 140297
|
||||||
|
|
||||||
|
2007-03-14 12:05 cgilles
|
||||||
|
|
||||||
|
* [r642427] libkexiv2/kexiv2.cpp:
|
||||||
|
sanity check again about empty byte array
|
||||||
|
|
||||||
|
2007-03-14 11:58 cgilles
|
||||||
|
|
||||||
|
* [r642421] libkexiv2/libkexiv2.lsm:
|
||||||
|
fix version
|
||||||
|
|
||||||
|
2007-03-14 11:58 cgilles
|
||||||
|
|
||||||
|
* [r642420] libkexiv2/libkexiv2.pc.in:
|
||||||
|
fix version
|
||||||
|
|
||||||
|
2007-03-14 11:57 cgilles
|
||||||
|
|
||||||
|
* [r642419] libkexiv2/version.h:
|
||||||
|
fix version
|
||||||
|
|
||||||
|
2007-03-11 10:58 cgilles
|
||||||
|
|
||||||
|
* [r641445] libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from trunk : when Exiv2 0.14.0 will be available, a new
|
||||||
|
tag Exif.Image.ProcessingSoftware will be use to store program
|
||||||
|
informations
|
||||||
|
|
||||||
|
2007-03-11 10:31 cgilles
|
||||||
|
|
||||||
|
* [r641437] libkexiv2/NEWS:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-03-11 10:30 cgilles
|
||||||
|
|
||||||
|
* [r641436] libkexiv2/kexiv2.cpp:
|
||||||
|
fix comment
|
||||||
|
|
||||||
|
2007-03-11 10:29 cgilles
|
||||||
|
|
||||||
|
* [r641435] libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from trunk : set the Exif.Image.Software tag only if it
|
||||||
|
doesn't exist.
|
||||||
|
BUG: 142564
|
||||||
|
|
||||||
|
2007-02-28 22:19 ach
|
||||||
|
|
||||||
|
* [r638128] libkexiv2:
|
||||||
|
libkexiv2: ignore Makefile.in
|
||||||
|
|
||||||
|
2007-02-28 22:14 ach
|
||||||
|
|
||||||
|
* [r638127] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h,
|
||||||
|
libkexiv2/libkexiv2_export.h, libkexiv2/version.h:
|
||||||
|
libkexiv2: remove unnecessary line break in license notice
|
||||||
|
|
||||||
|
2007-02-28 22:13 ach
|
||||||
|
|
||||||
|
* [r638126] libkexiv2/AUTHORS:
|
||||||
|
libkexiv2: add final newline to AUTHORS
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
V 0.1.1 - 2007-02-24
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
2007-02-24 20:53 anaselli
|
||||||
|
|
||||||
|
* [r636958] libkexiv2/ChangeLog, libkexiv2/Makefile.am,
|
||||||
|
libkexiv2/NEWS, libkexiv2/libkexiv2.lsm,
|
||||||
|
libkexiv2/libkexiv2.pc.in, libkexiv2/version.h:
|
||||||
|
libkexiv2 0.1.1
|
||||||
|
bug fixing release
|
||||||
|
|
||||||
|
CCMAIL:kde-imaging@kde.org
|
||||||
|
|
||||||
|
2007-02-22 12:01 cgilles
|
||||||
|
|
||||||
|
* [r636211] kipi-plugins/kipiplugins.kdevelop,
|
||||||
|
kipi-plugins/rawconverter/batchdialog.cpp,
|
||||||
|
kipi-plugins/rawconverter/singledialog.cpp,
|
||||||
|
libkdcraw/dcraw/dcraw.c, libkdcraw/dcraw/kdcraw.1,
|
||||||
|
libkdcraw/dcrawbinary.cpp, libkdcraw/dcrawsettingswidget.cpp,
|
||||||
|
libkdcraw/dcrawsettingswidget.h, libkdcraw/kdcraw.cpp,
|
||||||
|
libkdcraw/libkdcraw.kdevelop, libkdcraw/rawdecodingsettings.h,
|
||||||
|
libkexiv2/libkexiv2.kdevelop:
|
||||||
|
libkdcraw from trunk : backport last dcraw implementation "8.60"
|
||||||
|
: the old noise reduction algorithm used with 8.54 version have
|
||||||
|
been remplaced by a wavelet algorithm witch is more intuitive,
|
||||||
|
more easy to use (just one threshold setting) and very powerfull.
|
||||||
|
|
||||||
|
Kipi-plugins RAWConverter from svn trunk is fixed.
|
||||||
|
The patch to use libkdcraw with current implementation of digiKam
|
||||||
|
have been updated :
|
||||||
|
|
||||||
|
http://digikam3rdparty.free.fr/misc.tarballs/libkdcrawdigikamport.patch
|
||||||
|
|
||||||
|
CCMAIL: digikam-users@kde.org
|
||||||
|
CCMAIL: digikam-devel@kde.org
|
||||||
|
CCMAIL: kde-imaging@kde.org
|
||||||
|
|
||||||
|
2007-02-20 17:22 cgilles
|
||||||
|
|
||||||
|
* [r635684] libkexiv2/kexiv2.cpp:
|
||||||
|
libkexiv2 from trunk : sanity check if QByteArray are null size
|
||||||
|
everywhere
|
||||||
|
Feedback welcome...
|
||||||
|
|
||||||
|
CCBUGS:141980
|
||||||
|
|
||||||
|
2007-02-16 22:01 cgilles
|
||||||
|
|
||||||
|
* [r634334] kipi-plugins/rawconverter/actionthread.cpp,
|
||||||
|
kipi-plugins/rawconverter/rawdecodingiface.cpp,
|
||||||
|
libkdcraw/kdcraw.cpp, libkexiv2/kexiv2.cpp:
|
||||||
|
fix comments
|
||||||
|
|
||||||
|
2007-02-16 15:44 cgilles
|
||||||
|
|
||||||
|
* [r634186] libkexiv2/libkexiv2.kdevelop:
|
||||||
|
kdevelop project
|
||||||
|
|
||||||
|
2007-02-16 15:44 cgilles
|
||||||
|
|
||||||
|
* [r634184] libkexiv2/AUTHORS, libkexiv2/kexiv2.cpp,
|
||||||
|
libkexiv2/kexiv2.h, libkexiv2/libkexiv2.lsm:
|
||||||
|
fix email
|
||||||
|
|
||||||
|
2007-02-15 13:15 cgilles
|
||||||
|
|
||||||
|
* [r633835] libkexiv2/kexiv2.cpp:
|
||||||
|
indent
|
||||||
|
|
||||||
|
2007-02-13 22:41 ach
|
||||||
|
|
||||||
|
* [r633377] libkexiv2/README:
|
||||||
|
fix library name in README
|
||||||
|
|
||||||
|
2007-02-12 15:26 cgilles
|
||||||
|
|
||||||
|
* [r632868] libkexiv2/configure.in.in:
|
||||||
|
this condition is unused everywhere. removed
|
||||||
|
|
||||||
|
2007-02-12 09:24 cgilles
|
||||||
|
|
||||||
|
* [r632763] libkexiv2/configure.in.in:
|
||||||
|
revert
|
||||||
|
|
||||||
|
2007-02-12 08:32 cgilles
|
||||||
|
|
||||||
|
* [r632755] libkexiv2/configure.in.in:
|
||||||
|
polish
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
V 0.1.0 - 2007-02-11
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
2007-02-11 20:44 anaselli
|
||||||
|
|
||||||
|
* [r632646] libkexiv2/ChangeLog, libkexiv2/libkexiv2.lsm,
|
||||||
|
libkexiv2/libkexiv2.pc.in:
|
||||||
|
libkexiv2 0.1.0
|
||||||
|
|
||||||
|
CCMAIL:kde-imaging@kde.org
|
||||||
|
|
||||||
|
|
||||||
|
2007-02-09 06:50 cgilles
|
||||||
|
|
||||||
|
* [r631791] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
libkexiv2 from trunk : new method to extract Exiv2 library
|
||||||
|
release numbers
|
||||||
|
|
||||||
|
2007-02-06 22:12 cgilles
|
||||||
|
|
||||||
|
* [r630973] libkexiv2/version.h:
|
||||||
|
compile
|
||||||
|
|
||||||
|
2007-02-06 22:04 cgilles
|
||||||
|
|
||||||
|
* [r630967] libkexiv2/Makefile.am, libkexiv2/version.h:
|
||||||
|
libkexiv2 from trunk : add version header file for this library
|
||||||
|
CCMAIL: Achim Bohnet <ach@mpe.mpg.de>
|
||||||
|
|
||||||
|
2007-02-06 21:39 cgilles
|
||||||
|
|
||||||
|
* [r630957] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
2 new methods to set IPTC or Exif tag using a bytes array
|
||||||
|
|
||||||
|
2007-02-05 20:16 cgilles
|
||||||
|
|
||||||
|
* [r630585] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
factorize source code
|
||||||
|
|
||||||
|
2007-02-05 14:38 cgilles
|
||||||
|
|
||||||
|
* [r630488] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
add boolean flag to add or not program name when a tag is
|
||||||
|
changed/added
|
||||||
|
|
||||||
|
2007-02-05 14:00 cgilles
|
||||||
|
|
||||||
|
* [r630471] libkexiv2/kexiv2.h:
|
||||||
|
set load() like virtual method. Re-implemented in digiKam core
|
||||||
|
|
||||||
|
2007-01-30 12:18 cgilles
|
||||||
|
|
||||||
|
* [r628573] libkexiv2/README:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-01-30 12:16 cgilles
|
||||||
|
|
||||||
|
* [r628572] libkexiv2/README:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-01-30 12:12 cgilles
|
||||||
|
|
||||||
|
* [r628569] libkexiv2/README:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-01-30 11:57 cgilles
|
||||||
|
|
||||||
|
* [r628566] libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h:
|
||||||
|
libkexiv2 from trunk : polish implementation. Fix API doc
|
||||||
|
|
||||||
|
2007-01-30 11:18 cgilles
|
||||||
|
|
||||||
|
* [r628554] libkexiv2/kexiv2.h:
|
||||||
|
libkexiv2 from trunk : Finamize API doc.
|
||||||
|
|
||||||
|
2007-01-30 10:23 cgilles
|
||||||
|
|
||||||
|
* [r628541] libkexiv2/kexiv2_export.h:
|
||||||
|
wrong file name
|
||||||
|
|
||||||
|
2007-01-30 10:22 cgilles
|
||||||
|
|
||||||
|
* [r628540] kipi-plugins/galleryexport/gallerytalker.cpp,
|
||||||
|
kipi-plugins/gpssync/gpslistviewitem.cpp,
|
||||||
|
kipi-plugins/gpssync/plugin_gpssync.cpp,
|
||||||
|
kipi-plugins/jpeglossless/jpegtransform.h,
|
||||||
|
kipi-plugins/metadataedit/exifadjust.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifcaption.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifdatetime.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifdevice.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifeditdialog.cpp,
|
||||||
|
kipi-plugins/metadataedit/exiflens.cpp,
|
||||||
|
kipi-plugins/metadataedit/exiflight.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccaption.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccategories.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccredits.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcdatetime.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptceditdialog.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptckeywords.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcorigin.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcstatus.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcsubjects.cpp,
|
||||||
|
kipi-plugins/metadataedit/plugin_metadataedit.cpp,
|
||||||
|
kipi-plugins/rawconverter/dcrawiface.cpp,
|
||||||
|
kipi-plugins/sendimages/sendimages.cpp,
|
||||||
|
kipi-plugins/timeadjust/timeadjustdialog.cpp,
|
||||||
|
libkexiv2/Makefile.am, libkexiv2/kexiv2.cpp, libkexiv2/kexiv2.h,
|
||||||
|
libkexiv2/kexiv2_export.h, libkexiv2/libkexiv2.cpp,
|
||||||
|
libkexiv2/libkexiv2.h:
|
||||||
|
kipi-plugins from trunk : fix libkexiv2 header file name
|
||||||
|
|
||||||
|
2007-01-30 09:45 cgilles
|
||||||
|
|
||||||
|
* [r628536] kipi-plugins/galleryexport/gallerytalker.cpp,
|
||||||
|
kipi-plugins/gpssync/gpslistviewitem.cpp,
|
||||||
|
kipi-plugins/gpssync/plugin_gpssync.cpp,
|
||||||
|
kipi-plugins/jpeglossless/jpegtransform.cpp,
|
||||||
|
kipi-plugins/jpeglossless/jpegtransform.h,
|
||||||
|
kipi-plugins/metadataedit/exifadjust.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifcaption.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifdatetime.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifdevice.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifeditdialog.cpp,
|
||||||
|
kipi-plugins/metadataedit/exiflens.cpp,
|
||||||
|
kipi-plugins/metadataedit/exiflight.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccaption.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccategories.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccredits.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcdatetime.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptceditdialog.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptckeywords.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcorigin.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcstatus.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcsubjects.cpp,
|
||||||
|
kipi-plugins/metadataedit/plugin_metadataedit.cpp,
|
||||||
|
kipi-plugins/rawconverter/dcrawiface.cpp,
|
||||||
|
kipi-plugins/sendimages/sendimages.cpp,
|
||||||
|
kipi-plugins/timeadjust/timeadjustdialog.cpp,
|
||||||
|
libkexiv2/libkexiv2.cpp, libkexiv2/libkexiv2.h:
|
||||||
|
kipi-plugins from trunk : fix libkexiv2 namespace and interface
|
||||||
|
class name
|
||||||
|
|
||||||
|
2007-01-30 09:02 cgilles
|
||||||
|
|
||||||
|
* [r628532] libkexiv2/libkexiv2.cpp, libkexiv2/libkexiv2.h:
|
||||||
|
libkexiv2 from trunk : backport new method to handle color
|
||||||
|
work-space of image. update API doc.
|
||||||
|
|
||||||
|
2007-01-29 23:36 ach
|
||||||
|
|
||||||
|
* [r628396] libkexiv2/libkexiv2.h:
|
||||||
|
libkexiv2: s/informations/information/
|
||||||
|
|
||||||
|
2007-01-29 21:19 lure
|
||||||
|
|
||||||
|
* [r628356] libkexiv2/libkexiv2.h:
|
||||||
|
Fix broken comment - did not compile on Kubuntu Feisty
|
||||||
|
|
||||||
|
2007-01-29 19:57 cgilles
|
||||||
|
|
||||||
|
* [r628333] libkexiv2/libkexiv2.h:
|
||||||
|
libkexiv2 from trunk : Doxygen API (uncomplete)
|
||||||
|
|
||||||
|
2007-01-29 16:49 cgilles
|
||||||
|
|
||||||
|
* [r628263] libkexiv2/libkexiv2.pc.in:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-01-29 14:18 cgilles
|
||||||
|
|
||||||
|
* [r628206] libkexiv2/libkexiv2.cpp, libkexiv2/libkexiv2.h:
|
||||||
|
libkexiv2 from trunk : backport all common methods from
|
||||||
|
Digikam::DMetadata class. Backport all fix about comments
|
||||||
|
encoding from Marcel. The implementation is clean now and ready
|
||||||
|
to use with digiKam core.
|
||||||
|
|
||||||
|
CCMAIL : marcel.wiesweg@gmx.de, digikam-devel@kde.org,
|
||||||
|
kde-imaging@kde.org
|
||||||
|
|
||||||
|
2007-01-29 09:50 cgilles
|
||||||
|
|
||||||
|
* [r628140] libkexiv2/libkexiv2.cpp, libkexiv2/libkexiv2.h:
|
||||||
|
new protected methods to use with derivated class
|
||||||
|
|
||||||
|
2007-01-28 10:32 ach
|
||||||
|
|
||||||
|
* [r627809] libkexiv2/libkexiv2.lsm, libkexiv2/libkexiv2.pc.in,
|
||||||
|
prepare_libkexiv2.rb:
|
||||||
|
libkexiv2: use same version everywhere
|
||||||
|
|
||||||
|
2007-01-28 09:54 ach
|
||||||
|
|
||||||
|
* [r627801] libkexiv2/libkexiv2.pc.in:
|
||||||
|
libkexiv2: fix libkexiv2.pc pkg-config file
|
||||||
|
|
||||||
|
2007-01-28 09:47 ach
|
||||||
|
|
||||||
|
* [r627799] libkexiv2/configure.in.in:
|
||||||
|
libkexiv2: Fix configure. PKGCONFIGFOUND was not set.
|
||||||
|
|
||||||
|
CCMAIL: kde-imaging@kde.org
|
||||||
|
|
||||||
|
2007-01-27 12:40 cgilles
|
||||||
|
|
||||||
|
* [r627622] libkexiv2/libkexiv2.cpp, libkexiv2/libkexiv2_export.h:
|
||||||
|
kipi-plugins from trunk : libkexiv2 : do not use kdDebug() here
|
||||||
|
because it's not thread-safe. Use qDebug() instead...
|
||||||
|
|
||||||
|
CCBUGS: 133026
|
||||||
|
|
||||||
|
2007-01-27 10:57 cgilles
|
||||||
|
|
||||||
|
* [r627593] libkexiv2/README:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-01-26 20:59 cgilles
|
||||||
|
|
||||||
|
* [r627509] libkexiv2/libkexiv2.lsm:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-01-26 20:40 cgilles
|
||||||
|
|
||||||
|
* [r627501] kipi-plugins/NEWS, kipi-plugins/README,
|
||||||
|
kipi-plugins/common/Makefile.am, kipi-plugins/common/exiv2iface,
|
||||||
|
kipi-plugins/configure.in.bot, kipi-plugins/configure.in.in,
|
||||||
|
kipi-plugins/galleryexport/Makefile.am,
|
||||||
|
kipi-plugins/galleryexport/gallerytalker.cpp,
|
||||||
|
kipi-plugins/gpssync/Makefile.am,
|
||||||
|
kipi-plugins/gpssync/gpslistviewitem.cpp,
|
||||||
|
kipi-plugins/gpssync/gpslistviewitem.h,
|
||||||
|
kipi-plugins/gpssync/plugin_gpssync.cpp,
|
||||||
|
kipi-plugins/gpssync/plugin_gpssync.h,
|
||||||
|
kipi-plugins/jpeglossless/Makefile.am,
|
||||||
|
kipi-plugins/jpeglossless/jpegtransform.cpp,
|
||||||
|
kipi-plugins/jpeglossless/jpegtransform.h,
|
||||||
|
kipi-plugins/metadataedit/Makefile.am,
|
||||||
|
kipi-plugins/metadataedit/exifadjust.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifcaption.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifdatetime.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifdevice.cpp,
|
||||||
|
kipi-plugins/metadataedit/exifeditdialog.cpp,
|
||||||
|
kipi-plugins/metadataedit/exiflens.cpp,
|
||||||
|
kipi-plugins/metadataedit/exiflight.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccaption.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccategories.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptccredits.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcdatetime.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptceditdialog.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptckeywords.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcorigin.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcstatus.cpp,
|
||||||
|
kipi-plugins/metadataedit/iptcsubjects.cpp,
|
||||||
|
kipi-plugins/metadataedit/plugin_metadataedit.cpp,
|
||||||
|
kipi-plugins/rawconverter/Makefile.am,
|
||||||
|
kipi-plugins/rawconverter/dcrawiface.cpp,
|
||||||
|
kipi-plugins/rawconverter/dcrawiface.h,
|
||||||
|
kipi-plugins/sendimages/Makefile.am,
|
||||||
|
kipi-plugins/sendimages/sendimages.cpp,
|
||||||
|
kipi-plugins/sendimages/sendimages.h,
|
||||||
|
kipi-plugins/sync/Makefile.am,
|
||||||
|
kipi-plugins/sync/gallerytalker.cpp,
|
||||||
|
kipi-plugins/timeadjust/Makefile.am,
|
||||||
|
kipi-plugins/timeadjust/timeadjustdialog.cpp,
|
||||||
|
kipi-plugins/timeadjust/timeadjustdialog.h,
|
||||||
|
libkexiv2/libkexiv2.cpp, libkexiv2/libkexiv2.h:
|
||||||
|
kipi-plugins from trunk : all plugins use the new shared library
|
||||||
|
libkexiv2 instead KipiPlugins::EXiv2Iface class.
|
||||||
|
|
||||||
|
Marcel, next stage is to derivate the DigiKam::DMetadata class
|
||||||
|
from LibKExiv2. Let's me hear when you whant to do it...
|
||||||
|
|
||||||
|
CCMAIL: digikam-devel@kde.org, kde-imaging@kde.org,
|
||||||
|
marcel.wiesweg@gmx.de
|
||||||
|
|
||||||
|
2007-01-26 15:51 cgilles
|
||||||
|
|
||||||
|
* [r627439] libkexiv2/configure.in.bot, libkexiv2/configure.in.in:
|
||||||
|
compile
|
||||||
|
|
||||||
|
2007-01-26 15:38 cgilles
|
||||||
|
|
||||||
|
* [r627433] libkexiv2/libkexiv2.h:
|
||||||
|
using Export rules
|
||||||
|
|
||||||
|
2007-01-26 13:14 cgilles
|
||||||
|
|
||||||
|
* [r627401] libkexiv2/README:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-01-26 13:10 cgilles
|
||||||
|
|
||||||
|
* [r627400] libkexiv2/README:
|
||||||
|
update
|
||||||
|
|
||||||
|
2007-01-26 13:09 cgilles
|
||||||
|
|
||||||
|
* [r627399] libkexiv2/Makefile.am, libkexiv2/exiv2iface.cpp,
|
||||||
|
libkexiv2/exiv2iface.h, libkexiv2/libkexiv2.cpp,
|
||||||
|
libkexiv2/libkexiv2.h:
|
||||||
|
exiv2iface ==> libkexiv2
|
||||||
|
new namespace
|
||||||
|
|
||||||
|
2007-01-26 12:58 cgilles
|
||||||
|
|
||||||
|
* [r627393] libkexiv2/exiv2iface.cpp, libkexiv2/exiv2iface.h,
|
||||||
|
libkexiv2/libkexiv2_export.h:
|
||||||
|
fix header
|
||||||
|
|
||||||
|
2007-01-26 12:55 cgilles
|
||||||
|
|
||||||
|
* [r627390] libkexiv2, libkexiv2/AUTHORS, libkexiv2/COPYING,
|
||||||
|
libkexiv2/ChangeLog, libkexiv2/INSTALL, libkexiv2/Makefile.am,
|
||||||
|
libkexiv2/NEWS, libkexiv2/README, libkexiv2/configure.in.in,
|
||||||
|
libkexiv2/exiv2iface.cpp, libkexiv2/exiv2iface.h,
|
||||||
|
libkexiv2/libkexiv2.lsm, libkexiv2/libkexiv2.pc.in,
|
||||||
|
libkexiv2/libkexiv2_export.h:
|
||||||
|
New common library witch will be used by digiKam and kipi-plugins
|
||||||
|
to handle Pictures metadata (Exif/Iptc).
|
||||||
|
|
||||||
|
This shared library is a wrapper around Exiv2 library. It give a
|
||||||
|
Qt like interface to control
|
||||||
|
Exiv2 actions on pictures. Using this library will remove all
|
||||||
|
duplicate code on kipi-plugins::exiv2iface and
|
||||||
|
digikam::dmetadata.
|
||||||
|
|
||||||
|
The current implementation is the same than
|
||||||
|
kipi-plugins/exiv2iface. This library is not yet used in
|
||||||
|
digiKam/kipi-plugins.
|
||||||
|
We will added a new depency to this library in kipi-plugins in
|
||||||
|
first and later to digiKam.
|
||||||
|
|
||||||
|
CCMAIL: digikam-devel@kde.org, kde-imaging@kde.org,
|
||||||
|
marcel.wiesweg@gmx.de
|
||||||
|
|
@ -0,0 +1,181 @@
|
|||||||
|
Basic Installation
|
||||||
|
==================
|
||||||
|
|
||||||
|
These are generic installation instructions.
|
||||||
|
|
||||||
|
The `configure' shell script attempts to guess correct values for
|
||||||
|
various system-dependent variables used during compilation. It uses
|
||||||
|
those values to create a `Makefile' in each directory of the package.
|
||||||
|
It may also create one or more `.h' files containing system-dependent
|
||||||
|
definitions. Finally, it creates a shell script `config.status' that
|
||||||
|
you can run in the future to recreate the current configuration, a file
|
||||||
|
`config.cache' that saves the results of its tests to speed up
|
||||||
|
reconfiguring, and a file `config.log' containing compiler output
|
||||||
|
(useful mainly for debugging `configure').
|
||||||
|
|
||||||
|
If you need to do unusual things to compile the package, please try
|
||||||
|
to figure out how `configure' could check whether to do them, and mail
|
||||||
|
diffs or instructions to the address given in the `README' so they can
|
||||||
|
be considered for the next release. If at some point `config.cache'
|
||||||
|
contains results you don't want to keep, you may remove or edit it.
|
||||||
|
|
||||||
|
The file `configure.in' is used to create `configure' by a program
|
||||||
|
called `autoconf'. You only need `configure.in' if you want to change
|
||||||
|
it or regenerate `configure' using a newer version of `autoconf'.
|
||||||
|
|
||||||
|
The simplest way to compile this package is:
|
||||||
|
|
||||||
|
1. `cd' to the directory containing the package's source code and type
|
||||||
|
`./configure' to configure the package for your system. If you're
|
||||||
|
using `csh' on an old version of System V, you might need to type
|
||||||
|
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||||
|
`configure' itself.
|
||||||
|
|
||||||
|
Running `configure' takes awhile. While running, it prints some
|
||||||
|
messages telling which features it is checking for.
|
||||||
|
|
||||||
|
2. Type `make' to compile the package.
|
||||||
|
|
||||||
|
3. Optionally, type `make check' to run any self-tests that come with
|
||||||
|
the package.
|
||||||
|
|
||||||
|
4. Type `make install' to install the programs and any data files and
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
5. You can remove the program binaries and object files from the
|
||||||
|
source code directory by typing `make clean'. To also remove the
|
||||||
|
files that `configure' created (so you can compile the package for
|
||||||
|
a different kind of computer), type `make distclean'. There is
|
||||||
|
also a `make maintainer-clean' target, but that is intended mainly
|
||||||
|
for the package's developers. If you use it, you may have to get
|
||||||
|
all sorts of other programs in order to regenerate files that came
|
||||||
|
with the distribution.
|
||||||
|
|
||||||
|
Compilers and Options
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Some systems require unusual options for compilation or linking that
|
||||||
|
the `configure' script does not know about. You can give `configure'
|
||||||
|
initial values for variables by setting them in the environment. Using
|
||||||
|
a Bourne-compatible shell, you can do that on the command line like
|
||||||
|
this:
|
||||||
|
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||||
|
|
||||||
|
Or on systems that have the `env' program, you can do it like this:
|
||||||
|
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||||
|
|
||||||
|
Compiling For Multiple Architectures
|
||||||
|
====================================
|
||||||
|
|
||||||
|
You can compile the package for more than one kind of computer at the
|
||||||
|
same time, by placing the object files for each architecture in their
|
||||||
|
own directory. To do this, you must use a version of `make' that
|
||||||
|
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||||
|
directory where you want the object files and executables to go and run
|
||||||
|
the `configure' script. `configure' automatically checks for the
|
||||||
|
source code in the directory that `configure' is in and in `..'.
|
||||||
|
|
||||||
|
If you have to use a `make' that does not supports the `VPATH'
|
||||||
|
variable, you have to compile the package for one architecture at a time
|
||||||
|
in the source code directory. After you have installed the package for
|
||||||
|
one architecture, use `make distclean' before reconfiguring for another
|
||||||
|
architecture.
|
||||||
|
|
||||||
|
Installation Names
|
||||||
|
==================
|
||||||
|
|
||||||
|
By default, `make install' will install the package's files in
|
||||||
|
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||||
|
installation prefix other than `/usr/local' by giving `configure' the
|
||||||
|
option `--prefix=PATH'.
|
||||||
|
|
||||||
|
You can specify separate installation prefixes for
|
||||||
|
architecture-specific files and architecture-independent files. If you
|
||||||
|
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||||
|
PATH as the prefix for installing programs and libraries.
|
||||||
|
Documentation and other data files will still use the regular prefix.
|
||||||
|
|
||||||
|
In addition, if you use an unusual directory layout you can give
|
||||||
|
options like `--bindir=PATH' to specify different values for particular
|
||||||
|
kinds of files. Run `configure --help' for a list of the directories
|
||||||
|
you can set and what kinds of files go in them.
|
||||||
|
|
||||||
|
If the package supports it, you can cause programs to be installed
|
||||||
|
with an extra prefix or suffix on their names by giving `configure' the
|
||||||
|
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||||
|
|
||||||
|
Optional Features
|
||||||
|
=================
|
||||||
|
|
||||||
|
Some packages pay attention to `--enable-FEATURE' options to
|
||||||
|
`configure', where FEATURE indicates an optional part of the package.
|
||||||
|
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||||
|
is something like `gnu-as' or `x' (for the X Window System). The
|
||||||
|
`README' should mention any `--enable-' and `--with-' options that the
|
||||||
|
package recognizes.
|
||||||
|
|
||||||
|
For packages that use the X Window System, `configure' can usually
|
||||||
|
find the X include and library files automatically, but if it doesn't,
|
||||||
|
you can use the `configure' options `--x-includes=DIR' and
|
||||||
|
`--x-libraries=DIR' to specify their locations.
|
||||||
|
|
||||||
|
Specifying the System Type
|
||||||
|
==========================
|
||||||
|
|
||||||
|
There may be some features `configure' can not figure out
|
||||||
|
automatically, but needs to determine by the type of host the package
|
||||||
|
will run on. Usually `configure' can figure that out, but if it prints
|
||||||
|
a message saying it can not guess the host type, give it the
|
||||||
|
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||||
|
type, such as `sun4', or a canonical name with three fields:
|
||||||
|
CPU-COMPANY-SYSTEM
|
||||||
|
|
||||||
|
See the file `config.sub' for the possible values of each field. If
|
||||||
|
`config.sub' isn't included in this package, then this package doesn't
|
||||||
|
need to know the host type.
|
||||||
|
|
||||||
|
If you are building compiler tools for cross-compiling, you can also
|
||||||
|
use the `--target=TYPE' option to select the type of system they will
|
||||||
|
produce code for and the `--build=TYPE' option to select the type of
|
||||||
|
system on which you are compiling the package.
|
||||||
|
|
||||||
|
Sharing Defaults
|
||||||
|
================
|
||||||
|
|
||||||
|
If you want to set default values for `configure' scripts to share,
|
||||||
|
you can create a site shell script called `config.site' that gives
|
||||||
|
default values for variables like `CC', `cache_file', and `prefix'.
|
||||||
|
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||||
|
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||||
|
`CONFIG_SITE' environment variable to the location of the site script.
|
||||||
|
A warning: not all `configure' scripts look for a site script.
|
||||||
|
|
||||||
|
Operation Controls
|
||||||
|
==================
|
||||||
|
|
||||||
|
`configure' recognizes the following options to control how it
|
||||||
|
operates.
|
||||||
|
|
||||||
|
`--cache-file=FILE'
|
||||||
|
Use and save the results of the tests in FILE instead of
|
||||||
|
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||||
|
debugging `configure'.
|
||||||
|
|
||||||
|
`--help'
|
||||||
|
Print a summary of the options to `configure', and exit.
|
||||||
|
|
||||||
|
`--quiet'
|
||||||
|
`--silent'
|
||||||
|
`-q'
|
||||||
|
Do not print messages saying which checks are being made.
|
||||||
|
|
||||||
|
`--srcdir=DIR'
|
||||||
|
Look for the package's source code in directory DIR. Usually
|
||||||
|
`configure' can determine that directory automatically.
|
||||||
|
|
||||||
|
`--version'
|
||||||
|
Print the version of Autoconf used to generate the `configure'
|
||||||
|
script, and exit.
|
||||||
|
|
||||||
|
`configure' also accepts some other, not widely useful, options.
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
/** @mainpage KDE Extragear Libraries
|
||||||
|
*
|
||||||
|
* The extragear-libs module collects libraries that are shared by
|
||||||
|
* more than one extragear application, or which are useful in their
|
||||||
|
* own right.
|
||||||
|
*
|
||||||
|
*/
|
@ -0,0 +1,7 @@
|
|||||||
|
AUTOMAKE_OPTIONS = foreign 1.6.1
|
||||||
|
|
||||||
|
include admin/deps.am
|
||||||
|
include admin/Doxyfile.am
|
||||||
|
|
||||||
|
COMPILE_FIRST = libkexiv2 libkipi libkdcraw
|
||||||
|
SUBDIRS=$(TOPSUBDIRS)
|
@ -0,0 +1,6 @@
|
|||||||
|
AUTOMAKE_OPTIONS = foreign 1.6.1
|
||||||
|
|
||||||
|
include admin/deps.am
|
||||||
|
include admin/Doxyfile.am
|
||||||
|
|
||||||
|
COMPILE_FIRST = libkexiv2 libkipi libkdcraw
|
@ -0,0 +1,14 @@
|
|||||||
|
all:
|
||||||
|
@echo "This Makefile is only for the CVS repository"
|
||||||
|
@echo "This will be deleted before making the distribution"
|
||||||
|
@echo ""
|
||||||
|
@if test ! -d admin; then \
|
||||||
|
echo "Please recheckout this module!" ;\
|
||||||
|
echo "for cvs: use checkout once and after that update again" ;\
|
||||||
|
echo "for cvsup: checkout kde-common from cvsup and" ;\
|
||||||
|
echo " link kde-common/admin to ./admin" ;\
|
||||||
|
exit 1 ;\
|
||||||
|
fi
|
||||||
|
$(MAKE) -f admin/Makefile.common cvs
|
||||||
|
|
||||||
|
.SILENT:
|
@ -0,0 +1,60 @@
|
|||||||
|
0.1.7
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
API changes: Added a version method to get runtime library version.
|
||||||
|
|
||||||
|
Bugs fixed from B.K.O (http://bugs.kde.org):
|
||||||
|
001 ==> 157552: negative altitudes are not shown in metadata GPS sidebar
|
||||||
|
|
||||||
|
0.1.6
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
- API Changed : Kexiv2 destructor is now virtual.
|
||||||
|
Krazy Code Checker fix (http://www.englishbreakfastnetwork.org/krazy)
|
||||||
|
|
||||||
|
Bugs fixed from B.K.O (http://bugs.kde.org):
|
||||||
|
001 ==> 137750: color mode2 nikon d70s not recognized as adobe rgb
|
||||||
|
002 ==> 149267: digiKam crashes after finding gif,avi,txt and so on.
|
||||||
|
003 ==> 148182: Iptc.Application2.Keywords appends always the 0-byte.
|
||||||
|
|
||||||
|
0.1.5
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
Fix release version informations.
|
||||||
|
|
||||||
|
0.1.4
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
Fix release version informations.
|
||||||
|
|
||||||
|
0.1.3
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
New features
|
||||||
|
- API changed: added 4 new static methods to get Exif/Iptc tags description/title.
|
||||||
|
moved depreceate protected methods used by digiKam core to private.
|
||||||
|
|
||||||
|
Bugs fixed from B.K.O (http://bugs.kde.org):
|
||||||
|
001 ==> 144604: Rotation causes Exif data corruption. GPS data fix
|
||||||
|
|
||||||
|
General : Make size of icons used in album icon view more configurable using a slider
|
||||||
|
in status bar.
|
||||||
|
General : Removing direct Exiv2 library depency. libkexiv2 interface is used everywhere
|
||||||
|
instead.
|
||||||
|
|
||||||
|
0.1.2
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
New features
|
||||||
|
- added support for exiv2 from svn (next 0.14.0 release)
|
||||||
|
- API changed: added printExiv2ExceptionError to manage Exiv2 C++ Exception error message
|
||||||
|
|
||||||
|
Bugs fixed from B.K.O (http://bugs.kde.org):
|
||||||
|
001 ==> 142564: digiKam-signature in iptc and exif tags.
|
||||||
|
002 ==> 140297: GPS kipi plugin truncates input coordinates, introducing inacuracy.
|
||||||
|
|
||||||
|
0.1.1
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
Bugs fixed from B.K.O (http://bugs.kde.org):
|
||||||
|
001 ==> 141980: digiKam crash when rescan certain files exiv2.
|
||||||
|
|
||||||
|
0.1.0
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
First implementation
|
||||||
|
|
||||||
|
For details and info about previous versions, see ChangeLog.
|
@ -0,0 +1,205 @@
|
|||||||
|
How to release kipi & co.
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
1. Before the final release
|
||||||
|
2. Release libkipi
|
||||||
|
3. Release libkexiv2
|
||||||
|
4. Release kipi-plugins
|
||||||
|
5. Notes on svn2cl
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
1. Before the final release
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
Some days before releasing the final, remember to announce
|
||||||
|
the translations commit deadline to kde-i18-doc@kde.org.
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
2. Release libkipi
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
a) Update release info
|
||||||
|
libkipi/libkipi.lsm
|
||||||
|
libkipi/libkipi/version.h
|
||||||
|
libkipi/libkipi.pc.in
|
||||||
|
|
||||||
|
To do that you can use the "prepare_libkipi.rb" script, change the
|
||||||
|
release version ("version" and "version_n" fields) and run it.
|
||||||
|
Don't forget to commit your changes :)
|
||||||
|
|
||||||
|
b) Update Changelog
|
||||||
|
- to do that use the "release_kipi_changelog.sh" script
|
||||||
|
release_kipi_changelog.sh libkipi oldest-revision-or-date new-release-version
|
||||||
|
- edit Changelog and modify the wrong lines (if any)
|
||||||
|
- Commit your changes
|
||||||
|
|
||||||
|
c) Build the source tarball
|
||||||
|
- use the "release_libkipi.rb"
|
||||||
|
edit the script and change the "version" field
|
||||||
|
if you're releasing an svn snapshot set "usesvnver" to "yes"
|
||||||
|
run it and get libkipiXXX.tar.bz2
|
||||||
|
|
||||||
|
d) Uncompress and test the tarball
|
||||||
|
- check if all the files are right in
|
||||||
|
- check if the file RELEASE.rev is in and with the right revision number
|
||||||
|
- check if it builds correctly.
|
||||||
|
- diff headerfiles installed in <incdir>/kde/libkipi/ with last release
|
||||||
|
and check for binary compatibility (see e.g.,
|
||||||
|
http://developer.kde.org/documentation/other/binarycompatibility.html)
|
||||||
|
Every API change should be refleced in a changed version-info in
|
||||||
|
libkipi/libkipi/Makefile.am (see e.g.,
|
||||||
|
http://www.gnu.org/software/libtool/manual.html#Versioning)
|
||||||
|
|
||||||
|
e) Upload tarball for testing
|
||||||
|
Before an official release upload the tarball for testing used sites are
|
||||||
|
digikam3rdparty.free.fr or www.linux.it/~anaselli/kipi-plugins - depends
|
||||||
|
on who is releasing :)
|
||||||
|
Send a mail to kde-imaging@kde.org and digikam-devel@kde.org to have a
|
||||||
|
feedback from pakagers before posting an offical release annoucement.
|
||||||
|
|
||||||
|
f) Upload tarbal on SF and update kipi site
|
||||||
|
official site for uploading the release is http://sourceforge.net/projects/kipi
|
||||||
|
web page to be update is http://extragear.kde.org/apps/kipi/
|
||||||
|
to update this last you have to get, change and commit it from
|
||||||
|
XXX@svn.kde.org/home/kde/trunk/www/areas/extragear/apps/kipi
|
||||||
|
Send a mail to announce the official release.
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
3. Release libkexiv2
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
a) Update release info
|
||||||
|
libkexiv2/libkexiv2.lsm
|
||||||
|
libkexiv2/version.h
|
||||||
|
libkexiv2/libkexiv2.pc.in
|
||||||
|
libkexiv2/Makefile.am
|
||||||
|
libkexiv2/ChangeLog
|
||||||
|
|
||||||
|
To do that you can use the "prepare_libkexiv2.rb" script, change the
|
||||||
|
release version ("version", "version_n", "version_info" and "chlog_rev" fields)
|
||||||
|
and run it.
|
||||||
|
Don't forget to fix Changelog and commit your changes :)
|
||||||
|
|
||||||
|
c) Build the source tarball
|
||||||
|
- use the "release_libkexiv2.rb"
|
||||||
|
edit the script and change the "version" field
|
||||||
|
if you're releasing an svn snapshot set "usesvnver" to "yes"
|
||||||
|
run it and get libkexiv2XXX.tar.bz2
|
||||||
|
|
||||||
|
d) Uncompress and test the tarball
|
||||||
|
- check if all the files are right in
|
||||||
|
- check if the file RELEASE.rev is in and with the right revision number
|
||||||
|
- check if it builds correctly.
|
||||||
|
- diff headerfiles installed in <incdir>/kde/libkexiv2/ with last release
|
||||||
|
and check for binary compatibility (see e.g.,
|
||||||
|
http://developer.kde.org/documentation/other/binarycompatibility.html)
|
||||||
|
Every API change should be refleced in a changed version-info in
|
||||||
|
libkexiv2/Makefile.am (see e.g.,
|
||||||
|
http://www.gnu.org/software/libtool/manual.html#Versioning)
|
||||||
|
|
||||||
|
e) Upload tarball for testing
|
||||||
|
Before an official release upload the tarball for testing used sites are
|
||||||
|
digikam3rdparty.free.fr or www.linux.it/~anaselli/kipi-plugins - depends
|
||||||
|
on who is releasing :)
|
||||||
|
Send a mail to kde-imaging@kde.org and digikam-devel@kde.org to have a
|
||||||
|
feedback from pakagers before posting an offical release annoucement.
|
||||||
|
|
||||||
|
f) Upload tarbal on SF and update kipi site
|
||||||
|
official site for uploading the release is http://sourceforge.net/projects/kipi
|
||||||
|
web page to be update is http://extragear.kde.org/apps/kipi/
|
||||||
|
to update this last you have to get, change and commit it from
|
||||||
|
XXX@svn.kde.org/home/kde/trunk/www/areas/extragear/apps/kipi
|
||||||
|
Send a mail to announce the official release.
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
4. Release kipi-plugins
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
a) Update release info
|
||||||
|
kipi-plugins/kipi-plugins.lsm
|
||||||
|
kipi-plugins/common/include/pluginsversion.h
|
||||||
|
(kipi-plugins/ChangeLog)
|
||||||
|
|
||||||
|
To do that you can use the "prepare_kipiplugins.rb" script, change the
|
||||||
|
release version ("version" field) and run it.
|
||||||
|
|
||||||
|
Using svn2cl (http://ch.tudelft.nl/~arthur/svn2cl/) you can
|
||||||
|
add ChangeLog info with this script as well, to do that
|
||||||
|
follow the instructions:
|
||||||
|
- set usesv2cl to "yes"
|
||||||
|
- set svn2cl, svnbase, svnroot according to your account
|
||||||
|
- set chlog_rev to the last revision (+1) of the last release
|
||||||
|
(look at ChangeLog file, last commit)
|
||||||
|
- use the script as usual and skip step b)
|
||||||
|
- edit ChangeLog and modify the wrong lines (if any)
|
||||||
|
|
||||||
|
|
||||||
|
Don't forget to commit your changes.
|
||||||
|
|
||||||
|
b) Update ChangeLog
|
||||||
|
- if you're using svn2cl you can do that at step a)
|
||||||
|
- to do that use the "release_kipi_changelog.sh" script
|
||||||
|
release_kipi_changelog.sh kipi-plugins oldest-revision-or-date new-release-version
|
||||||
|
- edit Changelog and modify the wrong lines (if any)
|
||||||
|
- Commit your changes
|
||||||
|
|
||||||
|
c) Build the source tarball
|
||||||
|
- use the "release_kipi-plugins.rb"
|
||||||
|
edit the script and change the "version" field and check the "addPo" one for po files
|
||||||
|
if you're releasing an svn snapshot set "usesvnver" to "yes"
|
||||||
|
run it and get kipi-pluginsXXX.tar.bz2
|
||||||
|
|
||||||
|
d) Uncompress and test the tarball
|
||||||
|
- check if all the files are right in
|
||||||
|
- check if the file RELEASE.rev is in and with the right revision number
|
||||||
|
- check if it builds correctly.
|
||||||
|
|
||||||
|
e) Upload tarball for testing
|
||||||
|
Before an official release upload the tarball for testing used sites are
|
||||||
|
digikam3rdparty.free.fr or www.linux.it/~anaselli/kipi-plugins - depends
|
||||||
|
on who is releasing :)
|
||||||
|
Send a mail to kde-imaging@kde.org and digikam-devel@kde.org to have a
|
||||||
|
feedback from pakagers before posting an offical release annoucement.
|
||||||
|
|
||||||
|
f) Upload tarbal on SF and update kipi site
|
||||||
|
official site for uploading the release is http://sourceforge.net/projects/kipi
|
||||||
|
web page to be update is http://extragear.kde.org/apps/kipi/
|
||||||
|
to update this last you have to get, change and commit it from
|
||||||
|
XXX@svn.kde.org/home/kde/trunk/www/areas/extragear/apps/kipi
|
||||||
|
Send a mail to announce the official release at least to:
|
||||||
|
- kde-extra-gear@kde.org
|
||||||
|
- kde-announce@kde.org
|
||||||
|
- kde-imaging@kde.org
|
||||||
|
- digikam-devel@kde.org
|
||||||
|
- gwenview-general@lists.sourceforge.net
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
5. Notes on svn2cl
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
Latest versions (>= 0.9) of svn2cl offer the --ignore-message-starting option
|
||||||
|
and --ignore-message-starting=SVN_SILENT should work.
|
||||||
|
Programmers often write SVN_SILENT or CVS_SILENT (obsolete) everywhere
|
||||||
|
in the commit comment, that means such an option could not work.
|
||||||
|
Moreover it can be used only once, so just to skip SVN_SILENT or CVS_SILENT
|
||||||
|
not both.
|
||||||
|
|
||||||
|
The easiest way was to to hack into svn2cl.xsl (mine is /usr/share/svn2cl/svn2cl.xsl).
|
||||||
|
Add the following lines:
|
||||||
|
|
||||||
|
<!-- skip entries where the message contains SVN_SILENT -->
|
||||||
|
<xsl:template match="logentry[contains(msg,'SVN_SILENT')]">
|
||||||
|
</xsl:template>
|
||||||
|
<!-- skip entries where the message contains SILENT -->
|
||||||
|
<xsl:template match="logentry[contains(msg,'SILENT')]">
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
just before the template:
|
||||||
|
|
||||||
|
<!-- format one entry from the log -->
|
||||||
|
<xsl:template match="logentry">
|
||||||
|
...
|
||||||
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
EXIV2 Library interface for KDE
|
||||||
|
|
||||||
|
This library is a part of Kipi-Plugins project (http://www.kipi-plugins.org)
|
||||||
|
|
||||||
|
-- AUTHORS -----------------------------------------------------------
|
||||||
|
|
||||||
|
See AUTHORS file for details.
|
||||||
|
|
||||||
|
-- ABOUT -------------------------------------------------------------
|
||||||
|
|
||||||
|
Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures
|
||||||
|
metadata as EXIF and IPTC.
|
||||||
|
|
||||||
|
This library is used by kipi-plugins, digiKam and others kipi host programs.
|
||||||
|
|
||||||
|
The library documentation is available on header files.
|
||||||
|
|
||||||
|
-- DEPENDENCIES -------------------------------------------------------
|
||||||
|
|
||||||
|
AutoConf >= 2.5.x http://www.gnu.org/software/autoconf
|
||||||
|
AutoMake >= 1.7.x http://www.gnu.org/software/automake
|
||||||
|
libqt >= 3.3.x http://www.trolltech.com
|
||||||
|
libkde >= 3.4.x (>=3.5.x recommended) http://www.kde.org
|
||||||
|
libexiv2 >= 0.12 (0.15 recommended) http://www.exiv2.org
|
||||||
|
|
@ -0,0 +1,2 @@
|
|||||||
|
Last Changed Rev: 790116
|
||||||
|
Last Changed Date: 2008-03-25 22:51:54 +0100 (Tue, 25 Mar 2008)
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,881 @@
|
|||||||
|
# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||||
|
# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
|
m4_if(AC_AUTOCONF_VERSION, [2.61],,
|
||||||
|
[m4_warning([this file was generated for autoconf 2.61.
|
||||||
|
You have another version of autoconf. It may work, but is not guaranteed to.
|
||||||
|
If you have problems, you may need to regenerate the build system entirely.
|
||||||
|
To do so, use the procedure documented by the package, typically `autoreconf'.])])
|
||||||
|
|
||||||
|
# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# AM_AUTOMAKE_VERSION(VERSION)
|
||||||
|
# ----------------------------
|
||||||
|
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||||
|
# generated from the m4 files accompanying Automake X.Y.
|
||||||
|
# (This private macro should not be called outside this file.)
|
||||||
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||||
|
[am__api_version='1.10'
|
||||||
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||||
|
dnl require some minimum version. Point them to the right macro.
|
||||||
|
m4_if([$1], [1.10.1], [],
|
||||||
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
# _AM_AUTOCONF_VERSION(VERSION)
|
||||||
|
# -----------------------------
|
||||||
|
# aclocal traces this macro to find the Autoconf version.
|
||||||
|
# This is a private macro too. Using m4_define simplifies
|
||||||
|
# the logic in aclocal, which can simply ignore this definition.
|
||||||
|
m4_define([_AM_AUTOCONF_VERSION], [])
|
||||||
|
|
||||||
|
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||||
|
# -------------------------------
|
||||||
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
|
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||||
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
|
[AM_AUTOMAKE_VERSION([1.10.1])dnl
|
||||||
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
|
_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
|
||||||
|
|
||||||
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
||||||
|
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
|
||||||
|
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
|
||||||
|
#
|
||||||
|
# Of course, Automake must honor this variable whenever it calls a
|
||||||
|
# tool from the auxiliary directory. The problem is that $srcdir (and
|
||||||
|
# therefore $ac_aux_dir as well) can be either absolute or relative,
|
||||||
|
# depending on how configure is run. This is pretty annoying, since
|
||||||
|
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
|
||||||
|
# source directory, any form will work fine, but in subdirectories a
|
||||||
|
# relative path needs to be adjusted first.
|
||||||
|
#
|
||||||
|
# $ac_aux_dir/missing
|
||||||
|
# fails when called from a subdirectory if $ac_aux_dir is relative
|
||||||
|
# $top_srcdir/$ac_aux_dir/missing
|
||||||
|
# fails if $ac_aux_dir is absolute,
|
||||||
|
# fails when called from a subdirectory in a VPATH build with
|
||||||
|
# a relative $ac_aux_dir
|
||||||
|
#
|
||||||
|
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
|
||||||
|
# are both prefixed by $srcdir. In an in-source build this is usually
|
||||||
|
# harmless because $srcdir is `.', but things will broke when you
|
||||||
|
# start a VPATH build or use an absolute $srcdir.
|
||||||
|
#
|
||||||
|
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
|
||||||
|
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
|
||||||
|
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
|
||||||
|
# and then we would define $MISSING as
|
||||||
|
# MISSING="\${SHELL} $am_aux_dir/missing"
|
||||||
|
# This will work as long as MISSING is not called from configure, because
|
||||||
|
# unfortunately $(top_srcdir) has no meaning in configure.
|
||||||
|
# However there are other variables, like CC, which are often used in
|
||||||
|
# configure, and could therefore not use this "fixed" $ac_aux_dir.
|
||||||
|
#
|
||||||
|
# Another solution, used here, is to always expand $ac_aux_dir to an
|
||||||
|
# absolute PATH. The drawback is that using absolute paths prevent a
|
||||||
|
# configured tree to be moved without reconfiguration.
|
||||||
|
|
||||||
|
AC_DEFUN([AM_AUX_DIR_EXPAND],
|
||||||
|
[dnl Rely on autoconf to set up CDPATH properly.
|
||||||
|
AC_PREREQ([2.50])dnl
|
||||||
|
# expand $ac_aux_dir to an absolute path
|
||||||
|
am_aux_dir=`cd $ac_aux_dir && pwd`
|
||||||
|
])
|
||||||
|
|
||||||
|
# AM_CONDITIONAL -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 8
|
||||||
|
|
||||||
|
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
||||||
|
# -------------------------------------
|
||||||
|
# Define a conditional.
|
||||||
|
AC_DEFUN([AM_CONDITIONAL],
|
||||||
|
[AC_PREREQ(2.52)dnl
|
||||||
|
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
|
||||||
|
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
|
||||||
|
AC_SUBST([$1_TRUE])dnl
|
||||||
|
AC_SUBST([$1_FALSE])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
|
||||||
|
if $2; then
|
||||||
|
$1_TRUE=
|
||||||
|
$1_FALSE='#'
|
||||||
|
else
|
||||||
|
$1_TRUE='#'
|
||||||
|
$1_FALSE=
|
||||||
|
fi
|
||||||
|
AC_CONFIG_COMMANDS_PRE(
|
||||||
|
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
|
||||||
|
AC_MSG_ERROR([[conditional "$1" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally.]])
|
||||||
|
fi])])
|
||||||
|
|
||||||
|
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 9
|
||||||
|
|
||||||
|
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
||||||
|
# written in clear, in which case automake, when reading aclocal.m4,
|
||||||
|
# will think it sees a *use*, and therefore will trigger all it's
|
||||||
|
# C support machinery. Also note that it means that autoscan, seeing
|
||||||
|
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
||||||
|
|
||||||
|
|
||||||
|
# _AM_DEPENDENCIES(NAME)
|
||||||
|
# ----------------------
|
||||||
|
# See how the compiler implements dependency checking.
|
||||||
|
# NAME is "CC", "CXX", "GCJ", or "OBJC".
|
||||||
|
# We try a few techniques and use that to set a single cache variable.
|
||||||
|
#
|
||||||
|
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
|
||||||
|
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
|
||||||
|
# dependency, and given that the user is not expected to run this macro,
|
||||||
|
# just rely on AC_PROG_CC.
|
||||||
|
AC_DEFUN([_AM_DEPENDENCIES],
|
||||||
|
[AC_REQUIRE([AM_SET_DEPDIR])dnl
|
||||||
|
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
|
||||||
|
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
|
||||||
|
AC_REQUIRE([AM_DEP_TRACK])dnl
|
||||||
|
|
||||||
|
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
|
||||||
|
[$1], CXX, [depcc="$CXX" am_compiler_list=],
|
||||||
|
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
|
||||||
|
[$1], UPC, [depcc="$UPC" am_compiler_list=],
|
||||||
|
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
||||||
|
[depcc="$$1" am_compiler_list=])
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([dependency style of $depcc],
|
||||||
|
[am_cv_$1_dependencies_compiler_type],
|
||||||
|
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
||||||
|
# We make a subdir and do the tests there. Otherwise we can end up
|
||||||
|
# making bogus files that we don't know about and never remove. For
|
||||||
|
# instance it was reported that on HP-UX the gcc test will end up
|
||||||
|
# making a dummy file named `D' -- because `-MD' means `put the output
|
||||||
|
# in D'.
|
||||||
|
mkdir conftest.dir
|
||||||
|
# Copy depcomp to subdir because otherwise we won't find it if we're
|
||||||
|
# using a relative directory.
|
||||||
|
cp "$am_depcomp" conftest.dir
|
||||||
|
cd conftest.dir
|
||||||
|
# We will build objects and dependencies in a subdirectory because
|
||||||
|
# it helps to detect inapplicable dependency modes. For instance
|
||||||
|
# both Tru64's cc and ICC support -MD to output dependencies as a
|
||||||
|
# side effect of compilation, but ICC will put the dependencies in
|
||||||
|
# the current directory while Tru64 will put them in the object
|
||||||
|
# directory.
|
||||||
|
mkdir sub
|
||||||
|
|
||||||
|
am_cv_$1_dependencies_compiler_type=none
|
||||||
|
if test "$am_compiler_list" = ""; then
|
||||||
|
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
||||||
|
fi
|
||||||
|
for depmode in $am_compiler_list; do
|
||||||
|
# Setup a source with many dependencies, because some compilers
|
||||||
|
# like to wrap large dependency lists on column 80 (with \), and
|
||||||
|
# we should not choose a depcomp mode which is confused by this.
|
||||||
|
#
|
||||||
|
# We need to recreate these files for each test, as the compiler may
|
||||||
|
# overwrite some of them when testing with obscure command lines.
|
||||||
|
# This happens at least with the AIX C compiler.
|
||||||
|
: > sub/conftest.c
|
||||||
|
for i in 1 2 3 4 5 6; do
|
||||||
|
echo '#include "conftst'$i'.h"' >> sub/conftest.c
|
||||||
|
# Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
|
||||||
|
# Solaris 8's {/usr,}/bin/sh.
|
||||||
|
touch sub/conftst$i.h
|
||||||
|
done
|
||||||
|
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
||||||
|
|
||||||
|
case $depmode in
|
||||||
|
nosideeffect)
|
||||||
|
# after this tag, mechanisms are not by side-effect, so they'll
|
||||||
|
# only be used when explicitly requested
|
||||||
|
if test "x$enable_dependency_tracking" = xyes; then
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
none) break ;;
|
||||||
|
esac
|
||||||
|
# We check with `-c' and `-o' for the sake of the "dashmstdout"
|
||||||
|
# mode. It turns out that the SunPro C++ compiler does not properly
|
||||||
|
# handle `-M -o', and we need to detect this.
|
||||||
|
if depmode=$depmode \
|
||||||
|
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
|
||||||
|
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
||||||
|
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
|
||||||
|
>/dev/null 2>conftest.err &&
|
||||||
|
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
|
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
|
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
|
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
||||||
|
# icc doesn't choke on unknown options, it will just issue warnings
|
||||||
|
# or remarks (even with -Werror). So we grep stderr for any message
|
||||||
|
# that says an option was ignored or not supported.
|
||||||
|
# When given -MP, icc 7.0 and 7.1 complain thusly:
|
||||||
|
# icc: Command line warning: ignoring option '-M'; no argument required
|
||||||
|
# The diagnosis changed in icc 8.0:
|
||||||
|
# icc: Command line remark: option '-MP' not supported
|
||||||
|
if (grep 'ignoring option' conftest.err ||
|
||||||
|
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
|
||||||
|
am_cv_$1_dependencies_compiler_type=$depmode
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
rm -rf conftest.dir
|
||||||
|
else
|
||||||
|
am_cv_$1_dependencies_compiler_type=none
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
|
||||||
|
AM_CONDITIONAL([am__fastdep$1], [
|
||||||
|
test "x$enable_dependency_tracking" != xno \
|
||||||
|
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
# AM_SET_DEPDIR
|
||||||
|
# -------------
|
||||||
|
# Choose a directory name for dependency files.
|
||||||
|
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
|
||||||
|
AC_DEFUN([AM_SET_DEPDIR],
|
||||||
|
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||||
|
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
# AM_DEP_TRACK
|
||||||
|
# ------------
|
||||||
|
AC_DEFUN([AM_DEP_TRACK],
|
||||||
|
[AC_ARG_ENABLE(dependency-tracking,
|
||||||
|
[ --disable-dependency-tracking speeds up one-time build
|
||||||
|
--enable-dependency-tracking do not reject slow dependency extractors])
|
||||||
|
if test "x$enable_dependency_tracking" != xno; then
|
||||||
|
am_depcomp="$ac_aux_dir/depcomp"
|
||||||
|
AMDEPBACKSLASH='\'
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||||
|
AC_SUBST([AMDEPBACKSLASH])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
#serial 3
|
||||||
|
|
||||||
|
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||||
|
# ------------------------------
|
||||||
|
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
|
[for mf in $CONFIG_FILES; do
|
||||||
|
# Strip MF so we end up with the name of the file.
|
||||||
|
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||||
|
# Check whether this is an Automake generated Makefile or not.
|
||||||
|
# We used to match only the files named `Makefile.in', but
|
||||||
|
# some people rename them; so instead we look at the file content.
|
||||||
|
# Grep'ing the first line is not enough: some people post-process
|
||||||
|
# each Makefile.in and add a new line on top of each file to say so.
|
||||||
|
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||||
|
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||||
|
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||||
|
dirpart=`AS_DIRNAME("$mf")`
|
||||||
|
else
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||||
|
# from the Makefile without running `make'.
|
||||||
|
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||||
|
test -z "$DEPDIR" && continue
|
||||||
|
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||||
|
test -z "am__include" && continue
|
||||||
|
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||||
|
# When using ansi2knr, U may be empty or an underscore; expand it
|
||||||
|
U=`sed -n 's/^U = //p' < "$mf"`
|
||||||
|
# Find all dependency output files, they are included files with
|
||||||
|
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||||
|
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||||
|
# expansion.
|
||||||
|
for file in `sed -n "
|
||||||
|
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||||
|
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
||||||
|
# Make sure the directory exists.
|
||||||
|
test -f "$dirpart/$file" && continue
|
||||||
|
fdir=`AS_DIRNAME(["$file"])`
|
||||||
|
AS_MKDIR_P([$dirpart/$fdir])
|
||||||
|
# echo "creating $dirpart/$file"
|
||||||
|
echo '# dummy' > "$dirpart/$file"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||||
|
|
||||||
|
|
||||||
|
# AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||||
|
# -----------------------------
|
||||||
|
# This macro should only be invoked once -- use via AC_REQUIRE.
|
||||||
|
#
|
||||||
|
# This code is only required when automatic dependency tracking
|
||||||
|
# is enabled. FIXME. This creates each `.P' file that we will
|
||||||
|
# need in order to bootstrap the dependency handling code.
|
||||||
|
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
|
[AC_CONFIG_COMMANDS([depfiles],
|
||||||
|
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
|
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||||
|
])
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 8
|
||||||
|
|
||||||
|
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
|
||||||
|
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
|
||||||
|
|
||||||
|
# Do all the work for Automake. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||||
|
# 2005, 2006, 2008 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 13
|
||||||
|
|
||||||
|
# This macro actually does too much. Some checks are only needed if
|
||||||
|
# your package does certain things. But this isn't really a big deal.
|
||||||
|
|
||||||
|
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
|
||||||
|
# AM_INIT_AUTOMAKE([OPTIONS])
|
||||||
|
# -----------------------------------------------
|
||||||
|
# The call with PACKAGE and VERSION arguments is the old style
|
||||||
|
# call (pre autoconf-2.50), which is being phased out. PACKAGE
|
||||||
|
# and VERSION should now be passed to AC_INIT and removed from
|
||||||
|
# the call to AM_INIT_AUTOMAKE.
|
||||||
|
# We support both call styles for the transition. After
|
||||||
|
# the next Automake release, Autoconf can make the AC_INIT
|
||||||
|
# arguments mandatory, and then we can depend on a new Autoconf
|
||||||
|
# release and drop the old call support.
|
||||||
|
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||||
|
[AC_PREREQ([2.60])dnl
|
||||||
|
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
||||||
|
dnl the ones we care about.
|
||||||
|
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||||
|
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||||
|
if test "`cd $srcdir && pwd`" != "`pwd`"; then
|
||||||
|
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
|
||||||
|
# is not polluted with repeated "-I."
|
||||||
|
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
|
||||||
|
# test to see if srcdir already configured
|
||||||
|
if test -f $srcdir/config.status; then
|
||||||
|
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# test whether we have cygpath
|
||||||
|
if test -z "$CYGPATH_W"; then
|
||||||
|
if (cygpath --version) >/dev/null 2>/dev/null; then
|
||||||
|
CYGPATH_W='cygpath -w'
|
||||||
|
else
|
||||||
|
CYGPATH_W=echo
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([CYGPATH_W])
|
||||||
|
|
||||||
|
# Define the identity of the package.
|
||||||
|
dnl Distinguish between old-style and new-style calls.
|
||||||
|
m4_ifval([$2],
|
||||||
|
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
||||||
|
AC_SUBST([PACKAGE], [$1])dnl
|
||||||
|
AC_SUBST([VERSION], [$2])],
|
||||||
|
[_AM_SET_OPTIONS([$1])dnl
|
||||||
|
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
|
||||||
|
m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
|
||||||
|
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
|
||||||
|
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||||
|
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
|
||||||
|
|
||||||
|
_AM_IF_OPTION([no-define],,
|
||||||
|
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||||
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
|
||||||
|
|
||||||
|
# Some tools Automake needs.
|
||||||
|
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
||||||
|
AC_REQUIRE([AC_ARG_PROGRAM])dnl
|
||||||
|
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
|
||||||
|
AM_MISSING_PROG(AUTOCONF, autoconf)
|
||||||
|
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
|
||||||
|
AM_MISSING_PROG(AUTOHEADER, autoheader)
|
||||||
|
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
||||||
|
AM_PROG_INSTALL_SH
|
||||||
|
AM_PROG_INSTALL_STRIP
|
||||||
|
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
|
||||||
|
# We need awk for the "check" target. The system "awk" is bad on
|
||||||
|
# some platforms.
|
||||||
|
AC_REQUIRE([AC_PROG_AWK])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||||
|
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||||
|
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
|
||||||
|
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
|
||||||
|
[_AM_PROG_TAR([v7])])])
|
||||||
|
_AM_IF_OPTION([no-dependencies],,
|
||||||
|
[AC_PROVIDE_IFELSE([AC_PROG_CC],
|
||||||
|
[_AM_DEPENDENCIES(CC)],
|
||||||
|
[define([AC_PROG_CC],
|
||||||
|
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||||
|
[_AM_DEPENDENCIES(CXX)],
|
||||||
|
[define([AC_PROG_CXX],
|
||||||
|
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
||||||
|
[_AM_DEPENDENCIES(OBJC)],
|
||||||
|
[define([AC_PROG_OBJC],
|
||||||
|
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
# When config.status generates a header, we must update the stamp-h file.
|
||||||
|
# This file resides in the same directory as the config header
|
||||||
|
# that is generated. The stamp files are numbered to have different names.
|
||||||
|
|
||||||
|
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
|
||||||
|
# loop where config.status creates the headers, so we can generate
|
||||||
|
# our stamp files there.
|
||||||
|
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
|
||||||
|
[# Compute $1's index in $config_headers.
|
||||||
|
_am_arg=$1
|
||||||
|
_am_stamp_count=1
|
||||||
|
for _am_header in $config_headers :; do
|
||||||
|
case $_am_header in
|
||||||
|
$_am_arg | $_am_arg:* )
|
||||||
|
break ;;
|
||||||
|
* )
|
||||||
|
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# AM_PROG_INSTALL_SH
|
||||||
|
# ------------------
|
||||||
|
# Define $install_sh.
|
||||||
|
AC_DEFUN([AM_PROG_INSTALL_SH],
|
||||||
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
|
install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
|
||||||
|
AC_SUBST(install_sh)])
|
||||||
|
|
||||||
|
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 2
|
||||||
|
|
||||||
|
# Check whether the underlying file-system supports filenames
|
||||||
|
# with a leading dot. For instance MS-DOS doesn't.
|
||||||
|
AC_DEFUN([AM_SET_LEADING_DOT],
|
||||||
|
[rm -rf .tst 2>/dev/null
|
||||||
|
mkdir .tst 2>/dev/null
|
||||||
|
if test -d .tst; then
|
||||||
|
am__leading_dot=.
|
||||||
|
else
|
||||||
|
am__leading_dot=_
|
||||||
|
fi
|
||||||
|
rmdir .tst 2>/dev/null
|
||||||
|
AC_SUBST([am__leading_dot])])
|
||||||
|
|
||||||
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 3
|
||||||
|
|
||||||
|
# AM_MAKE_INCLUDE()
|
||||||
|
# -----------------
|
||||||
|
# Check to see how make treats includes.
|
||||||
|
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||||
|
[am_make=${MAKE-make}
|
||||||
|
cat > confinc << 'END'
|
||||||
|
am__doit:
|
||||||
|
@echo done
|
||||||
|
.PHONY: am__doit
|
||||||
|
END
|
||||||
|
# If we don't find an include directive, just comment out the code.
|
||||||
|
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||||
|
am__include="#"
|
||||||
|
am__quote=
|
||||||
|
_am_result=none
|
||||||
|
# First try GNU make style include.
|
||||||
|
echo "include confinc" > confmf
|
||||||
|
# We grep out `Entering directory' and `Leaving directory'
|
||||||
|
# messages which can occur if `w' ends up in MAKEFLAGS.
|
||||||
|
# In particular we don't look at `^make:' because GNU make might
|
||||||
|
# be invoked under some other name (usually "gmake"), in which
|
||||||
|
# case it prints its new name instead of `make'.
|
||||||
|
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
|
||||||
|
am__include=include
|
||||||
|
am__quote=
|
||||||
|
_am_result=GNU
|
||||||
|
fi
|
||||||
|
# Now try BSD make style include.
|
||||||
|
if test "$am__include" = "#"; then
|
||||||
|
echo '.include "confinc"' > confmf
|
||||||
|
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
||||||
|
am__include=.include
|
||||||
|
am__quote="\""
|
||||||
|
_am_result=BSD
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([am__include])
|
||||||
|
AC_SUBST([am__quote])
|
||||||
|
AC_MSG_RESULT([$_am_result])
|
||||||
|
rm -f confinc confmf
|
||||||
|
])
|
||||||
|
|
||||||
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 5
|
||||||
|
|
||||||
|
# AM_MISSING_PROG(NAME, PROGRAM)
|
||||||
|
# ------------------------------
|
||||||
|
AC_DEFUN([AM_MISSING_PROG],
|
||||||
|
[AC_REQUIRE([AM_MISSING_HAS_RUN])
|
||||||
|
$1=${$1-"${am_missing_run}$2"}
|
||||||
|
AC_SUBST($1)])
|
||||||
|
|
||||||
|
|
||||||
|
# AM_MISSING_HAS_RUN
|
||||||
|
# ------------------
|
||||||
|
# Define MISSING if not defined so far and test if it supports --run.
|
||||||
|
# If it does, set am_missing_run to use it, otherwise, to nothing.
|
||||||
|
AC_DEFUN([AM_MISSING_HAS_RUN],
|
||||||
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
||||||
|
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
|
||||||
|
# Use eval to expand $SHELL
|
||||||
|
if eval "$MISSING --run true"; then
|
||||||
|
am_missing_run="$MISSING --run "
|
||||||
|
else
|
||||||
|
am_missing_run=
|
||||||
|
AC_MSG_WARN([`missing' script is too old or missing])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# AM_PROG_MKDIR_P
|
||||||
|
# ---------------
|
||||||
|
# Check for `mkdir -p'.
|
||||||
|
AC_DEFUN([AM_PROG_MKDIR_P],
|
||||||
|
[AC_PREREQ([2.60])dnl
|
||||||
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||||
|
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
|
||||||
|
dnl while keeping a definition of mkdir_p for backward compatibility.
|
||||||
|
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
|
||||||
|
dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
|
||||||
|
dnl Makefile.ins that do not define MKDIR_P, so we do our own
|
||||||
|
dnl adjustment using top_builddir (which is defined more often than
|
||||||
|
dnl MKDIR_P).
|
||||||
|
AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
|
||||||
|
case $mkdir_p in
|
||||||
|
[[\\/$]]* | ?:[[\\/]]*) ;;
|
||||||
|
*/*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
|
||||||
|
# Helper functions for option handling. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 3
|
||||||
|
|
||||||
|
# _AM_MANGLE_OPTION(NAME)
|
||||||
|
# -----------------------
|
||||||
|
AC_DEFUN([_AM_MANGLE_OPTION],
|
||||||
|
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
|
||||||
|
|
||||||
|
# _AM_SET_OPTION(NAME)
|
||||||
|
# ------------------------------
|
||||||
|
# Set option NAME. Presently that only means defining a flag for this option.
|
||||||
|
AC_DEFUN([_AM_SET_OPTION],
|
||||||
|
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
|
||||||
|
|
||||||
|
# _AM_SET_OPTIONS(OPTIONS)
|
||||||
|
# ----------------------------------
|
||||||
|
# OPTIONS is a space-separated list of Automake options.
|
||||||
|
AC_DEFUN([_AM_SET_OPTIONS],
|
||||||
|
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
|
||||||
|
|
||||||
|
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
|
||||||
|
# -------------------------------------------
|
||||||
|
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||||
|
AC_DEFUN([_AM_IF_OPTION],
|
||||||
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||||
|
|
||||||
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 4
|
||||||
|
|
||||||
|
# AM_SANITY_CHECK
|
||||||
|
# ---------------
|
||||||
|
AC_DEFUN([AM_SANITY_CHECK],
|
||||||
|
[AC_MSG_CHECKING([whether build environment is sane])
|
||||||
|
# Just in case
|
||||||
|
sleep 1
|
||||||
|
echo timestamp > conftest.file
|
||||||
|
# Do `set' in a subshell so we don't clobber the current shell's
|
||||||
|
# arguments. Must try -L first in case configure is actually a
|
||||||
|
# symlink; some systems play weird games with the mod time of symlinks
|
||||||
|
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||||
|
# directory).
|
||||||
|
if (
|
||||||
|
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
|
||||||
|
if test "$[*]" = "X"; then
|
||||||
|
# -L didn't work.
|
||||||
|
set X `ls -t $srcdir/configure conftest.file`
|
||||||
|
fi
|
||||||
|
rm -f conftest.file
|
||||||
|
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
||||||
|
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
|
||||||
|
|
||||||
|
# If neither matched, then we have a broken ls. This can happen
|
||||||
|
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||||
|
# broken ls alias from the environment. This has actually
|
||||||
|
# happened. Such a system could not be considered "sane".
|
||||||
|
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||||
|
alias in your environment])
|
||||||
|
fi
|
||||||
|
|
||||||
|
test "$[2]" = conftest.file
|
||||||
|
)
|
||||||
|
then
|
||||||
|
# Ok.
|
||||||
|
:
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||||
|
Check your system clock])
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT(yes)])
|
||||||
|
|
||||||
|
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# AM_PROG_INSTALL_STRIP
|
||||||
|
# ---------------------
|
||||||
|
# One issue with vendor `install' (even GNU) is that you can't
|
||||||
|
# specify the program used to strip binaries. This is especially
|
||||||
|
# annoying in cross-compiling environments, where the build's strip
|
||||||
|
# is unlikely to handle the host's binaries.
|
||||||
|
# Fortunately install-sh will honor a STRIPPROG variable, so we
|
||||||
|
# always use install-sh in `make install-strip', and initialize
|
||||||
|
# STRIPPROG with the value of the STRIP variable (set by the user).
|
||||||
|
AC_DEFUN([AM_PROG_INSTALL_STRIP],
|
||||||
|
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
||||||
|
# Installed binaries are usually stripped using `strip' when the user
|
||||||
|
# run `make install-strip'. However `strip' might not be the right
|
||||||
|
# tool to use in cross-compilation environments, therefore Automake
|
||||||
|
# will honor the `STRIP' environment variable to overrule this program.
|
||||||
|
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
|
||||||
|
if test "$cross_compiling" != no; then
|
||||||
|
AC_CHECK_TOOL([STRIP], [strip], :)
|
||||||
|
fi
|
||||||
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
|
||||||
|
# Copyright (C) 2006 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# _AM_SUBST_NOTMAKE(VARIABLE)
|
||||||
|
# ---------------------------
|
||||||
|
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
|
||||||
|
# This macro is traced by Automake.
|
||||||
|
AC_DEFUN([_AM_SUBST_NOTMAKE])
|
||||||
|
|
||||||
|
# Check how to create a tarball. -*- Autoconf -*-
|
||||||
|
|
||||||
|
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# serial 2
|
||||||
|
|
||||||
|
# _AM_PROG_TAR(FORMAT)
|
||||||
|
# --------------------
|
||||||
|
# Check how to create a tarball in format FORMAT.
|
||||||
|
# FORMAT should be one of `v7', `ustar', or `pax'.
|
||||||
|
#
|
||||||
|
# Substitute a variable $(am__tar) that is a command
|
||||||
|
# writing to stdout a FORMAT-tarball containing the directory
|
||||||
|
# $tardir.
|
||||||
|
# tardir=directory && $(am__tar) > result.tar
|
||||||
|
#
|
||||||
|
# Substitute a variable $(am__untar) that extract such
|
||||||
|
# a tarball read from stdin.
|
||||||
|
# $(am__untar) < result.tar
|
||||||
|
AC_DEFUN([_AM_PROG_TAR],
|
||||||
|
[# Always define AMTAR for backward compatibility.
|
||||||
|
AM_MISSING_PROG([AMTAR], [tar])
|
||||||
|
m4_if([$1], [v7],
|
||||||
|
[am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
|
||||||
|
[m4_case([$1], [ustar],, [pax],,
|
||||||
|
[m4_fatal([Unknown tar format])])
|
||||||
|
AC_MSG_CHECKING([how to create a $1 tar archive])
|
||||||
|
# Loop over all known methods to create a tar archive until one works.
|
||||||
|
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
|
||||||
|
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
|
||||||
|
# Do not fold the above two line into one, because Tru64 sh and
|
||||||
|
# Solaris sh will not grok spaces in the rhs of `-'.
|
||||||
|
for _am_tool in $_am_tools
|
||||||
|
do
|
||||||
|
case $_am_tool in
|
||||||
|
gnutar)
|
||||||
|
for _am_tar in tar gnutar gtar;
|
||||||
|
do
|
||||||
|
AM_RUN_LOG([$_am_tar --version]) && break
|
||||||
|
done
|
||||||
|
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
|
||||||
|
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
|
||||||
|
am__untar="$_am_tar -xf -"
|
||||||
|
;;
|
||||||
|
plaintar)
|
||||||
|
# Must skip GNU tar: if it does not support --format= it doesn't create
|
||||||
|
# ustar tarball either.
|
||||||
|
(tar --version) >/dev/null 2>&1 && continue
|
||||||
|
am__tar='tar chf - "$$tardir"'
|
||||||
|
am__tar_='tar chf - "$tardir"'
|
||||||
|
am__untar='tar xf -'
|
||||||
|
;;
|
||||||
|
pax)
|
||||||
|
am__tar='pax -L -x $1 -w "$$tardir"'
|
||||||
|
am__tar_='pax -L -x $1 -w "$tardir"'
|
||||||
|
am__untar='pax -r'
|
||||||
|
;;
|
||||||
|
cpio)
|
||||||
|
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
|
||||||
|
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
|
||||||
|
am__untar='cpio -i -H $1 -d'
|
||||||
|
;;
|
||||||
|
none)
|
||||||
|
am__tar=false
|
||||||
|
am__tar_=false
|
||||||
|
am__untar=false
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If the value was cached, stop now. We just wanted to have am__tar
|
||||||
|
# and am__untar set.
|
||||||
|
test -n "${am_cv_prog_tar_$1}" && break
|
||||||
|
|
||||||
|
# tar/untar a dummy directory, and stop if the command works
|
||||||
|
rm -rf conftest.dir
|
||||||
|
mkdir conftest.dir
|
||||||
|
echo GrepMe > conftest.dir/file
|
||||||
|
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
|
||||||
|
rm -rf conftest.dir
|
||||||
|
if test -s conftest.tar; then
|
||||||
|
AM_RUN_LOG([$am__untar <conftest.tar])
|
||||||
|
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rm -rf conftest.dir
|
||||||
|
|
||||||
|
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
|
||||||
|
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
|
||||||
|
AC_SUBST([am__tar])
|
||||||
|
AC_SUBST([am__untar])
|
||||||
|
]) # _AM_PROG_TAR
|
||||||
|
|
||||||
|
m4_include([acinclude.m4])
|
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
make -f Makefile.cvs
|
||||||
|
./configure --enable-debug=full
|
||||||
|
|
@ -0,0 +1,243 @@
|
|||||||
|
/* config.h.in. Generated from configure.in by autoheader. */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
|
||||||
|
#undef HAVE_CARBON_CARBON_H
|
||||||
|
|
||||||
|
/* Define if you have the CoreAudio API */
|
||||||
|
#undef HAVE_COREAUDIO
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <crt_externs.h> header file. */
|
||||||
|
#undef HAVE_CRT_EXTERNS_H
|
||||||
|
|
||||||
|
/* Defines if your system has the crypt function */
|
||||||
|
#undef HAVE_CRYPT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
|
#undef HAVE_DLFCN_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define if you have libjpeg */
|
||||||
|
#undef HAVE_LIBJPEG
|
||||||
|
|
||||||
|
/* Define if you have libpng */
|
||||||
|
#undef HAVE_LIBPNG
|
||||||
|
|
||||||
|
/* Define if you have a working libpthread (will enable threaded code) */
|
||||||
|
#undef HAVE_LIBPTHREAD
|
||||||
|
|
||||||
|
/* Define if you have libz */
|
||||||
|
#undef HAVE_LIBZ
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
|
/* Define if your system needs _NSGetEnviron to set up the environment */
|
||||||
|
#undef HAVE_NSGETENVIRON
|
||||||
|
|
||||||
|
/* Define if you have res_init */
|
||||||
|
#undef HAVE_RES_INIT
|
||||||
|
|
||||||
|
/* Define if you have the res_init prototype */
|
||||||
|
#undef HAVE_RES_INIT_PROTO
|
||||||
|
|
||||||
|
/* Define if you have a STL implementation by SGI */
|
||||||
|
#undef HAVE_SGI_STL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `snprintf' function. */
|
||||||
|
#undef HAVE_SNPRINTF
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#undef HAVE_STRINGS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define if you have strlcat */
|
||||||
|
#undef HAVE_STRLCAT
|
||||||
|
|
||||||
|
/* Define if you have the strlcat prototype */
|
||||||
|
#undef HAVE_STRLCAT_PROTO
|
||||||
|
|
||||||
|
/* Define if you have strlcpy */
|
||||||
|
#undef HAVE_STRLCPY
|
||||||
|
|
||||||
|
/* Define if you have the strlcpy prototype */
|
||||||
|
#undef HAVE_STRLCPY_PROTO
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/bitypes.h> header file. */
|
||||||
|
#undef HAVE_SYS_BITYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#undef HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `vsnprintf' function. */
|
||||||
|
#undef HAVE_VSNPRINTF
|
||||||
|
|
||||||
|
/* Suffix for lib directories */
|
||||||
|
#undef KDELIBSUFF
|
||||||
|
|
||||||
|
/* kdemacros.h usable */
|
||||||
|
#undef KDEMACROS_USABLE
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#undef PACKAGE
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#undef PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* The size of `char *', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_CHAR_P
|
||||||
|
|
||||||
|
/* The size of `int', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_INT
|
||||||
|
|
||||||
|
/* The size of `long', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_LONG
|
||||||
|
|
||||||
|
/* The size of `short', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_SHORT
|
||||||
|
|
||||||
|
/* The size of `size_t', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_SIZE_T
|
||||||
|
|
||||||
|
/* The size of `unsigned long', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_UNSIGNED_LONG
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#undef VERSION
|
||||||
|
|
||||||
|
/* Defined if compiling without arts */
|
||||||
|
#undef WITHOUT_ARTS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
|
||||||
|
* headers and I'm too lazy to write a configure test as long as only
|
||||||
|
* unixware is related
|
||||||
|
*/
|
||||||
|
#ifdef _UNIXWARE
|
||||||
|
#define HAVE_BOOLEAN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
|
||||||
|
* that defines bzero.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(_AIX)
|
||||||
|
#include <strings.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
|
||||||
|
# include <sys/time.h>
|
||||||
|
# include <crt_externs.h>
|
||||||
|
# define environ (*_NSGetEnviron())
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(HAVE_RES_INIT_PROTO)
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
int res_init(void);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(HAVE_STRLCAT_PROTO)
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
unsigned long strlcat(char*, const char*, unsigned long);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(HAVE_STRLCPY_PROTO)
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
unsigned long strlcpy(char*, const char*, unsigned long);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On HP-UX, the declaration of vsnprintf() is needed every time !
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(HAVE_VSNPRINTF) || defined(hpux)
|
||||||
|
#if __STDC__
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#else
|
||||||
|
#include <varargs.h>
|
||||||
|
#endif
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
int snprintf(char *str, size_t n, char const *fmt, ...);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* define to 1 if -fvisibility is supported */
|
||||||
|
#undef __KDE_HAVE_GCC_VISIBILITY
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__SVR4) && !defined(__svr4__)
|
||||||
|
#define __svr4__ 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* type to use in place of socklen_t if not defined */
|
||||||
|
#undef kde_socklen_t
|
||||||
|
|
||||||
|
/* type to use in place of socklen_t if not defined (deprecated, use
|
||||||
|
kde_socklen_t) */
|
||||||
|
#undef ksize_t
|
@ -0,0 +1,4 @@
|
|||||||
|
./admin/configure.in.min
|
||||||
|
configure.in.in
|
||||||
|
./libkexiv2/configure.in.bot
|
||||||
|
./libkexiv2/configure.in.in
|
@ -0,0 +1,201 @@
|
|||||||
|
dnl =======================================================
|
||||||
|
dnl FILE: ./admin/configure.in.min
|
||||||
|
dnl =======================================================
|
||||||
|
|
||||||
|
dnl This file is part of the KDE libraries/packages
|
||||||
|
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
|
||||||
|
|
||||||
|
dnl This file is free software; you can redistribute it and/or
|
||||||
|
dnl modify it under the terms of the GNU Library General Public
|
||||||
|
dnl License as published by the Free Software Foundation; either
|
||||||
|
dnl version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
dnl This library is distributed in the hope that it will be useful,
|
||||||
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
dnl Library General Public License for more details.
|
||||||
|
|
||||||
|
dnl You should have received a copy of the GNU Library General Public License
|
||||||
|
dnl along with this library; see the file COPYING.LIB. If not, write to
|
||||||
|
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
dnl Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
# Original Author was Kalle@kde.org
|
||||||
|
# I lifted it in some mater. (Stephan Kulow)
|
||||||
|
# I used much code from Janos Farkas
|
||||||
|
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
|
AC_INIT(acinclude.m4) dnl a source file from your sub dir
|
||||||
|
|
||||||
|
dnl This is so we can use kde-common
|
||||||
|
AC_CONFIG_AUX_DIR(admin)
|
||||||
|
|
||||||
|
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
|
||||||
|
unset CDPATH
|
||||||
|
|
||||||
|
dnl Checking host/target/build systems, for make, install etc.
|
||||||
|
AC_CANONICAL_SYSTEM
|
||||||
|
dnl Perform program name transformation
|
||||||
|
AC_ARG_PROGRAM
|
||||||
|
|
||||||
|
dnl Automake doc recommends to do this only here. (Janos)
|
||||||
|
AM_INIT_AUTOMAKE(libkexiv2-0.1.7, "3.5.9") dnl searches for some needed programs
|
||||||
|
|
||||||
|
KDE_SET_PREFIX
|
||||||
|
|
||||||
|
dnl generate the config header
|
||||||
|
AM_CONFIG_HEADER(config.h) dnl at the distribution this done
|
||||||
|
|
||||||
|
dnl Checks for programs.
|
||||||
|
AC_CHECK_COMPILERS
|
||||||
|
AC_ENABLE_SHARED(yes)
|
||||||
|
AC_ENABLE_STATIC(no)
|
||||||
|
KDE_PROG_LIBTOOL
|
||||||
|
|
||||||
|
dnl for NLS support. Call them in this order!
|
||||||
|
dnl WITH_NLS is for the po files
|
||||||
|
AM_KDE_WITH_NLS
|
||||||
|
|
||||||
|
KDE_USE_QT(3.2)
|
||||||
|
AC_PATH_KDE
|
||||||
|
dnl =======================================================
|
||||||
|
dnl FILE: configure.in.in
|
||||||
|
dnl =======================================================
|
||||||
|
|
||||||
|
#MIN_CONFIG(3.2)
|
||||||
|
CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
|
||||||
|
|
||||||
|
KDE_ENABLE_HIDDEN_VISIBILITY
|
||||||
|
|
||||||
|
KDE_INIT_DOXYGEN([KEG Libraries API Reference], [Version $VERSION])
|
||||||
|
|
||||||
|
dnl =======================================================
|
||||||
|
dnl FILE: ./libkexiv2/configure.in.in
|
||||||
|
dnl =======================================================
|
||||||
|
|
||||||
|
AC_ARG_VAR(PKGCONFIGFOUND, [Path to pkg-config])
|
||||||
|
AC_CHECK_PROG(PKGCONFIGFOUND, pkg-config,[yes])
|
||||||
|
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
# Check for Exiv2 library
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
|
||||||
|
have_exiv2='no'
|
||||||
|
if test "$PKGCONFIGFOUND" = "yes" ; then
|
||||||
|
KDE_PKG_CHECK_MODULES(EXIV2, exiv2 >= 0.12, have_exiv2=yes,have_exiv2=no)
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([pkg-config not found. You have to install pkg-config first. libkexiv2 depends on it.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$have_exiv2" != "xyes"; then
|
||||||
|
AC_MSG_WARN([Exiv2 library not found, libkexiv2 will not be compiled.])
|
||||||
|
DO_NOT_COMPILE="libkexiv2 $DO_NOT_COMPILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_OUTPUT([ libkexiv2/libkexiv2.pc ])
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
# enable hidden visibility only if kde >= 3.3.2 and kdelibs has
|
||||||
|
# been compiled with visibility enabled
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
AC_LANG_PUSH(C++)
|
||||||
|
libkexiv2_kdemacros_cppflags=$CPPFLAGS
|
||||||
|
CPPFLAGS="$CPPFLAGS $all_includes"
|
||||||
|
AC_MSG_CHECKING([if kdemacros.h is usable])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[
|
||||||
|
#include <kdemacros.h>
|
||||||
|
#include <string>
|
||||||
|
int other_func( void ) KDE_EXPORT;
|
||||||
|
int other_func( void )
|
||||||
|
{
|
||||||
|
std::string s("KDE_EXPORT");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[ AC_MSG_RESULT([yes])
|
||||||
|
AC_DEFINE(KDEMACROS_USABLE, 1, [kdemacros.h usable]) ],
|
||||||
|
[ AC_MSG_RESULT([no]) ]
|
||||||
|
)
|
||||||
|
CPPFLAGS=$libkexiv2_kdemacros_cppflags
|
||||||
|
AC_LANG_POP(C++)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
KDE_CREATE_SUBDIRSLIST
|
||||||
|
AM_CONDITIONAL(libkexiv2_SUBDIR_included, test "x$libkexiv2_SUBDIR_included" = xyes)
|
||||||
|
AM_CONDITIONAL(libkipi_SUBDIR_included, test "x$libkipi_SUBDIR_included" = xyes)
|
||||||
|
AM_CONDITIONAL(libkdcraw_SUBDIR_included, test "x$libkdcraw_SUBDIR_included" = xyes)
|
||||||
|
AC_CONFIG_FILES([ Makefile ])
|
||||||
|
AC_CONFIG_FILES([ libkexiv2/Makefile ])
|
||||||
|
AC_CONFIG_FILES([ libkexiv2/libkexiv2/Makefile ])
|
||||||
|
AC_OUTPUT
|
||||||
|
dnl Put here things to be done at the very end - telling users
|
||||||
|
dnl about additional packages to install.
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "-- libkexiv2 configure results -------------------"
|
||||||
|
|
||||||
|
if test "x$have_exiv2" != "xyes"; then
|
||||||
|
echo "-- Exiv2 library found............ NO"
|
||||||
|
echo ""
|
||||||
|
echo "libkexiv2 needs Exiv2 library >= 0.12. You need to install Exiv2 first"
|
||||||
|
echo "Exiv2 website is at http://www.exiv2.org"
|
||||||
|
echo ""
|
||||||
|
all_tests=bad
|
||||||
|
else
|
||||||
|
echo "-- Exiv2 library found............ YES"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
|
||||||
|
if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
|
||||||
|
# And if so, warn when they don't match
|
||||||
|
if test "$kde_libs_prefix" != "$given_prefix"; then
|
||||||
|
# And if kde doesn't know about the prefix yet
|
||||||
|
echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
|
||||||
|
if test $? -ne 0; then
|
||||||
|
echo ""
|
||||||
|
echo "Warning: you chose to install this package in $given_prefix,"
|
||||||
|
echo "but KDE was found in $kde_libs_prefix."
|
||||||
|
echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
|
||||||
|
echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
|
||||||
|
echo "Then restart KDE."
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
|
||||||
|
echo ""
|
||||||
|
echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
|
||||||
|
echo "was not included. Therefore, GCC symbol visibility support remains disabled."
|
||||||
|
echo ""
|
||||||
|
echo "For better performance, consider including the Qt visibility supporting patch"
|
||||||
|
echo "located at:"
|
||||||
|
echo ""
|
||||||
|
echo "http://bugs.kde.org/show_bug.cgi?id=109386"
|
||||||
|
echo ""
|
||||||
|
echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
|
||||||
|
echo "everything will continue to work just fine without it."
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$all_tests" = "bad"; then
|
||||||
|
if test ! "$cache_file" = "/dev/null"; then
|
||||||
|
echo ""
|
||||||
|
echo "Please remove the file $cache_file after changing your setup"
|
||||||
|
echo "so that configure will find the changes next time."
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "Good - your configure finished. Start make now"
|
||||||
|
echo ""
|
||||||
|
fi
|
@ -0,0 +1,7 @@
|
|||||||
|
#MIN_CONFIG(3.2)
|
||||||
|
CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
|
||||||
|
|
||||||
|
KDE_ENABLE_HIDDEN_VISIBILITY
|
||||||
|
|
||||||
|
KDE_INIT_DOXYGEN([KEG Libraries API Reference], [Version $VERSION])
|
||||||
|
|
@ -0,0 +1,15 @@
|
|||||||
|
Begin4
|
||||||
|
Title: libkexiv2
|
||||||
|
Version: 0.1.7
|
||||||
|
Entered-date: 2008-03-24
|
||||||
|
Description: A C++ library to manipulate EXIF/IPTC metadata using Exiv2 library. This library is used by digiKam and kipi-plugins.
|
||||||
|
Keywords: kde image jpeg raw tiff png exif iptc digiKam kipi-plugins
|
||||||
|
Author: caulier dot gilles at gmail dot com (Gilles Caulier)
|
||||||
|
marcel dot wiesweg at gmx dot de (Marcel Wiesweg)
|
||||||
|
Maintained-by:
|
||||||
|
Primary-site: http://www.kipi-plugins.org
|
||||||
|
Alternate-site: http://www.digikam.org
|
||||||
|
Original-site:
|
||||||
|
Platforms:
|
||||||
|
Copying-policy: GPL
|
||||||
|
End
|
@ -0,0 +1,6 @@
|
|||||||
|
SUBDIRS = libkexiv2
|
||||||
|
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = libkexiv2.pc
|
||||||
|
EXTRA_DIST = libkexiv2.pc.in
|
||||||
|
|
@ -0,0 +1,19 @@
|
|||||||
|
dnl Put here things to be done at the very end - telling users
|
||||||
|
dnl about additional packages to install.
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "-- libkexiv2 configure results -------------------"
|
||||||
|
|
||||||
|
if test "x$have_exiv2" != "xyes"; then
|
||||||
|
echo "-- Exiv2 library found............ NO"
|
||||||
|
echo ""
|
||||||
|
echo "libkexiv2 needs Exiv2 library >= 0.12. You need to install Exiv2 first"
|
||||||
|
echo "Exiv2 website is at http://www.exiv2.org"
|
||||||
|
echo ""
|
||||||
|
all_tests=bad
|
||||||
|
else
|
||||||
|
echo "-- Exiv2 library found............ YES"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
|||||||
|
AC_ARG_VAR(PKGCONFIGFOUND, [Path to pkg-config])
|
||||||
|
AC_CHECK_PROG(PKGCONFIGFOUND, pkg-config,[yes])
|
||||||
|
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
# Check for Exiv2 library
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
|
||||||
|
have_exiv2='no'
|
||||||
|
if test "$PKGCONFIGFOUND" = "yes" ; then
|
||||||
|
KDE_PKG_CHECK_MODULES(EXIV2, exiv2 >= 0.12, have_exiv2=yes,have_exiv2=no)
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([pkg-config not found. You have to install pkg-config first. libkexiv2 depends on it.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$have_exiv2" != "xyes"; then
|
||||||
|
AC_MSG_WARN([Exiv2 library not found, libkexiv2 will not be compiled.])
|
||||||
|
DO_NOT_COMPILE="libkexiv2 $DO_NOT_COMPILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_OUTPUT([ libkexiv2/libkexiv2.pc ])
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
# enable hidden visibility only if kde >= 3.3.2 and kdelibs has
|
||||||
|
# been compiled with visibility enabled
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
AC_LANG_PUSH(C++)
|
||||||
|
libkexiv2_kdemacros_cppflags=$CPPFLAGS
|
||||||
|
CPPFLAGS="$CPPFLAGS $all_includes"
|
||||||
|
AC_MSG_CHECKING([if kdemacros.h is usable])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[
|
||||||
|
#include <kdemacros.h>
|
||||||
|
#include <string>
|
||||||
|
int other_func( void ) KDE_EXPORT;
|
||||||
|
int other_func( void )
|
||||||
|
{
|
||||||
|
std::string s("KDE_EXPORT");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[ AC_MSG_RESULT([yes])
|
||||||
|
AC_DEFINE(KDEMACROS_USABLE, 1, [kdemacros.h usable]) ],
|
||||||
|
[ AC_MSG_RESULT([no]) ]
|
||||||
|
)
|
||||||
|
CPPFLAGS=$libkexiv2_kdemacros_cppflags
|
||||||
|
AC_LANG_POP(C++)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,105 @@
|
|||||||
|
<?xml version = '1.0'?>
|
||||||
|
<kdevelop>
|
||||||
|
<general>
|
||||||
|
<author>Caulier Gilles</author>
|
||||||
|
<email>caulier dot gilles at gmail dot com</email>
|
||||||
|
<version>$VERSION$</version>
|
||||||
|
<projectmanagement>KDevKDEAutoProject</projectmanagement>
|
||||||
|
<primarylanguage>C++</primarylanguage>
|
||||||
|
<keywords>
|
||||||
|
<keyword>Qt</keyword>
|
||||||
|
<keyword>KDE</keyword>
|
||||||
|
</keywords>
|
||||||
|
</general>
|
||||||
|
<kdevfileview>
|
||||||
|
<groups>
|
||||||
|
<group pattern="*.cpp;*.cxx;*.h" name="Sources" />
|
||||||
|
<group pattern="*.ui" name="User Interface" />
|
||||||
|
<group pattern="*.png" name="Icons" />
|
||||||
|
<group pattern="*.po;*.ts" name="Translations" />
|
||||||
|
<group pattern="*" name="Others" />
|
||||||
|
<hidenonprojectfiles>false</hidenonprojectfiles>
|
||||||
|
<hidenonlocation>false</hidenonlocation>
|
||||||
|
</groups>
|
||||||
|
<tree>
|
||||||
|
<hidepatterns>*.o,*.lo,CVS</hidepatterns>
|
||||||
|
<hidenonprojectfiles>false</hidenonprojectfiles>
|
||||||
|
</tree>
|
||||||
|
</kdevfileview>
|
||||||
|
<kdevdoctreeview>
|
||||||
|
<ignoretocs>
|
||||||
|
<toc>ada</toc>
|
||||||
|
<toc>ada_bugs_gcc</toc>
|
||||||
|
<toc>bash</toc>
|
||||||
|
<toc>bash_bugs</toc>
|
||||||
|
<toc>clanlib</toc>
|
||||||
|
<toc>fortran_bugs_gcc</toc>
|
||||||
|
<toc>gnome1</toc>
|
||||||
|
<toc>gnustep</toc>
|
||||||
|
<toc>gtk</toc>
|
||||||
|
<toc>gtk_bugs</toc>
|
||||||
|
<toc>haskell</toc>
|
||||||
|
<toc>haskell_bugs_ghc</toc>
|
||||||
|
<toc>java_bugs_gcc</toc>
|
||||||
|
<toc>java_bugs_sun</toc>
|
||||||
|
<toc>opengl</toc>
|
||||||
|
<toc>pascal_bugs_fp</toc>
|
||||||
|
<toc>php</toc>
|
||||||
|
<toc>php_bugs</toc>
|
||||||
|
<toc>perl</toc>
|
||||||
|
<toc>perl_bugs</toc>
|
||||||
|
<toc>python</toc>
|
||||||
|
<toc>python_bugs</toc>
|
||||||
|
<toc>ruby</toc>
|
||||||
|
<toc>ruby_bugs</toc>
|
||||||
|
<toc>sdl</toc>
|
||||||
|
<toc>stl</toc>
|
||||||
|
<toc>sw</toc>
|
||||||
|
<toc>w3c-dom-level2-html</toc>
|
||||||
|
<toc>w3c-svg</toc>
|
||||||
|
<toc>w3c-uaag10</toc>
|
||||||
|
<toc>wxwidgets_bugs</toc>
|
||||||
|
</ignoretocs>
|
||||||
|
<ignoreqt_xml>
|
||||||
|
<toc>qmake User Guide</toc>
|
||||||
|
</ignoreqt_xml>
|
||||||
|
</kdevdoctreeview>
|
||||||
|
<kdevdebugger>
|
||||||
|
<general>
|
||||||
|
<dbgshell>libtool</dbgshell>
|
||||||
|
</general>
|
||||||
|
</kdevdebugger>
|
||||||
|
<kdevfilecreate>
|
||||||
|
<useglobaltypes>
|
||||||
|
<type ext="ui" />
|
||||||
|
<type ext="cpp" />
|
||||||
|
<type ext="h" />
|
||||||
|
</useglobaltypes>
|
||||||
|
</kdevfilecreate>
|
||||||
|
<kdevautoproject>
|
||||||
|
<make>
|
||||||
|
<envvars>
|
||||||
|
<envvar value="1" name="WANT_AUTOCONF_2_5" />
|
||||||
|
<envvar value="1" name="WANT_AUTOMAKE_1_6" />
|
||||||
|
</envvars>
|
||||||
|
</make>
|
||||||
|
<run>
|
||||||
|
<directoryradio>executable</directoryradio>
|
||||||
|
</run>
|
||||||
|
</kdevautoproject>
|
||||||
|
<kdevcppsupport>
|
||||||
|
<references/>
|
||||||
|
<codecompletion>
|
||||||
|
<includeGlobalFunctions>true</includeGlobalFunctions>
|
||||||
|
<includeTypes>true</includeTypes>
|
||||||
|
<includeEnums>true</includeEnums>
|
||||||
|
<includeTypedefs>false</includeTypedefs>
|
||||||
|
<automaticCodeCompletion>true</automaticCodeCompletion>
|
||||||
|
<automaticArgumentsHint>true</automaticArgumentsHint>
|
||||||
|
<automaticHeaderCompletion>true</automaticHeaderCompletion>
|
||||||
|
<codeCompletionDelay>250</codeCompletionDelay>
|
||||||
|
<argumentsHintDelay>400</argumentsHintDelay>
|
||||||
|
<headerCompletionDelay>250</headerCompletionDelay>
|
||||||
|
</codecompletion>
|
||||||
|
</kdevcppsupport>
|
||||||
|
</kdevelop>
|
@ -0,0 +1,12 @@
|
|||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: libkexiv2
|
||||||
|
Description: A C++ library to manipulate EXIF/IPTC metadata using Exiv2 library. This library is used by digiKam and kipi-plugins.
|
||||||
|
URL: http://www.kipi-plugins.org
|
||||||
|
Requires:
|
||||||
|
Version: 0.1.7
|
||||||
|
Libs: -L${libdir} -lkexiv2
|
||||||
|
Cflags: -I${includedir}
|
@ -0,0 +1,17 @@
|
|||||||
|
METASOURCES = AUTO
|
||||||
|
KDE_CXXFLAGS = $(USE_EXCEPTIONS)
|
||||||
|
|
||||||
|
INCLUDES= $(all_includes)
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libkexiv2.la
|
||||||
|
|
||||||
|
libkexiv2_la_SOURCES = kexiv2.cpp
|
||||||
|
|
||||||
|
libkexiv2_version_info = 4:0:1
|
||||||
|
libkexiv2_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) -version-info $(libkexiv2_version_info) -no-undefined
|
||||||
|
libkexiv2_la_LIBADD = $(EXIV2_LIBS) $(LIB_KDECORE) $(LIB_QT)
|
||||||
|
|
||||||
|
libkexiv2include_HEADERS = kexiv2.h libkexiv2_export.h version.h
|
||||||
|
|
||||||
|
libkexiv2includedir = $(includedir)/libkexiv2
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,454 @@
|
|||||||
|
/* ============================================================
|
||||||
|
*
|
||||||
|
* This file is a part of kipi-plugins project
|
||||||
|
* http://www.kipi-plugins.org
|
||||||
|
*
|
||||||
|
* Date : 2006-09-15
|
||||||
|
* Description : Exiv2 library interface for KDE
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006-2008 by Gilles Caulier <caulier dot gilles at gmail dot com>
|
||||||
|
* Copyright (C) 2006-2007 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
|
||||||
|
*
|
||||||
|
* Exiv2: http://www.exiv2.org
|
||||||
|
* Exif : http://www.exif.org/Exif2-2.PDF
|
||||||
|
* Iptc : http://www.iptc.org/std/IIM/4.1/specification/IIMV4.1.pdf
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software Foundation;
|
||||||
|
* either version 2, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
#ifndef KEXIV2_H
|
||||||
|
#define KEXIV2_H
|
||||||
|
|
||||||
|
// C++ includes.
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
// QT includes.
|
||||||
|
|
||||||
|
#include <qcstring.h>
|
||||||
|
#include <qstring.h>
|
||||||
|
#include <qimage.h>
|
||||||
|
#include <qdatetime.h>
|
||||||
|
#include <qmap.h>
|
||||||
|
|
||||||
|
// Local includes.
|
||||||
|
|
||||||
|
#include "libkexiv2_export.h"
|
||||||
|
|
||||||
|
namespace Exiv2
|
||||||
|
{
|
||||||
|
class DataBuf;
|
||||||
|
class Exifdatum;
|
||||||
|
class ExifData;
|
||||||
|
class IptcData;
|
||||||
|
class Error;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace KExiv2Iface
|
||||||
|
{
|
||||||
|
|
||||||
|
class KExiv2Priv;
|
||||||
|
|
||||||
|
class LIBKEXIV2_EXPORT KExiv2
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
/** The image color workspace values given by Exif metadata. */
|
||||||
|
enum ImageColorWorkSpace
|
||||||
|
{
|
||||||
|
WORKSPACE_UNSPECIFIED = 0,
|
||||||
|
WORKSPACE_SRGB = 1,
|
||||||
|
WORKSPACE_ADOBERGB = 2,
|
||||||
|
WORKSPACE_UNCALIBRATED = 65535
|
||||||
|
};
|
||||||
|
|
||||||
|
/** The image orientation values given by Exif metadata. */
|
||||||
|
enum ImageOrientation
|
||||||
|
{
|
||||||
|
ORIENTATION_UNSPECIFIED = 0,
|
||||||
|
ORIENTATION_NORMAL = 1,
|
||||||
|
ORIENTATION_HFLIP = 2,
|
||||||
|
ORIENTATION_ROT_180 = 3,
|
||||||
|
ORIENTATION_VFLIP = 4,
|
||||||
|
ORIENTATION_ROT_90_HFLIP = 5,
|
||||||
|
ORIENTATION_ROT_90 = 6,
|
||||||
|
ORIENTATION_ROT_90_VFLIP = 7,
|
||||||
|
ORIENTATION_ROT_270 = 8
|
||||||
|
};
|
||||||
|
|
||||||
|
/** A map used by decodeExifMetadata() decodeIptcMetadata() methods
|
||||||
|
to store Tags Key and Tags Value. */
|
||||||
|
typedef QMap<QString, QString> MetaDataMap;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
/** Standard constructor. */
|
||||||
|
KExiv2();
|
||||||
|
|
||||||
|
/** Contructor to Load Metadata from image file. */
|
||||||
|
KExiv2(const QString& filePath);
|
||||||
|
|
||||||
|
/** Standard destructor */
|
||||||
|
virtual ~KExiv2();
|
||||||
|
|
||||||
|
/** Return a string version of Exiv2 release in format "major.minor.patch" */
|
||||||
|
static QString Exiv2Version();
|
||||||
|
|
||||||
|
/** Return a string version of libkexiv2 release */
|
||||||
|
static QString version();
|
||||||
|
|
||||||
|
/** Generic method to print the Exiv2 C++ Exception error message from 'e'.
|
||||||
|
'msg' string is printed just before like debug header.
|
||||||
|
*/
|
||||||
|
static void printExiv2ExceptionError(const QString& msg, Exiv2::Error& e);
|
||||||
|
|
||||||
|
//-- Metadata manipulation methods ----------------------------------------------
|
||||||
|
|
||||||
|
/** Clear the Comments metadata container in memory. */
|
||||||
|
bool clearComments();
|
||||||
|
|
||||||
|
/** Clear the Exif metadata container in memory. */
|
||||||
|
bool clearExif();
|
||||||
|
|
||||||
|
/** Clear the Iptc metadata container in memory. */
|
||||||
|
bool clearIptc();
|
||||||
|
|
||||||
|
/** Return the file path open with the current instance of interface. */
|
||||||
|
QString getFilePath() const;
|
||||||
|
|
||||||
|
/** Return a Qt byte array copy of Comments container get from current image.
|
||||||
|
Comments are JFIF section of JPEG images. Look Exiv2 API for more information.
|
||||||
|
Return a null Qt byte array if there is no Comments metadata in memory. */
|
||||||
|
QByteArray getComments() const;
|
||||||
|
|
||||||
|
/** Return a Qt string object of Comments from current image decoded using
|
||||||
|
the 'detectEncodingAndDecode()' method. Return a null string if there is no
|
||||||
|
Comments metadata available. */
|
||||||
|
QString getCommentsDecoded() const;
|
||||||
|
|
||||||
|
/** Return a Qt byte array copy of Exif container get from current image.
|
||||||
|
Return a null Qt byte array if there is no Exif metadata in memory. */
|
||||||
|
QByteArray getExif() const;
|
||||||
|
|
||||||
|
/** Return a Qt byte array copy of Iptc container get from current image.
|
||||||
|
Set true 'addIrbHeader' parameter to add an Irb header to IPTC metadata.
|
||||||
|
Return a null Qt byte array if there is no Iptc metadata in memory. */
|
||||||
|
QByteArray getIptc(bool addIrbHeader=false) const;
|
||||||
|
|
||||||
|
/** Set the Comments data using a Qt byte array. Return true if Comments metadata
|
||||||
|
have been changed in memory. */
|
||||||
|
bool setComments(const QByteArray& data);
|
||||||
|
|
||||||
|
/** Set the Exif data using a Qt byte array. Return true if Exif metadata
|
||||||
|
have been changed in memory. */
|
||||||
|
bool setExif(const QByteArray& data);
|
||||||
|
|
||||||
|
/** Set the Iptc data using a Qt byte array. Return true if Iptc metadata
|
||||||
|
have been changed in memory. */
|
||||||
|
bool setIptc(const QByteArray& data);
|
||||||
|
|
||||||
|
//-- File access methods ----------------------------------------------
|
||||||
|
|
||||||
|
/** Load all metadata (EXIF, IPTC and JFIF Comments) from a picture (JPEG, RAW, TIFF, PNG,
|
||||||
|
DNG, etc...). Return true if metadata have been loaded successfully from file. */
|
||||||
|
virtual bool load(const QString& filePath);
|
||||||
|
|
||||||
|
/** Save all metadata to a file. This one can be different than original picture to perform
|
||||||
|
transfert operation Return true if metadata have been saved into file. */
|
||||||
|
bool save(const QString& filePath);
|
||||||
|
|
||||||
|
/** The same than save() method, but it apply on current image. Return true if metadata
|
||||||
|
have been saved into file. */
|
||||||
|
bool applyChanges();
|
||||||
|
|
||||||
|
/** return true is the file metadata cannot be written by Exiv2. */
|
||||||
|
static bool isReadOnly(const QString& filePath);
|
||||||
|
|
||||||
|
//-- Metadata Image Information manipulation methods ----------------
|
||||||
|
|
||||||
|
/** Set Program name and program version in Exif and Iptc Metadata. Return true if information
|
||||||
|
have been changed in metadata. */
|
||||||
|
bool setImageProgramId(const QString& program, const QString& version);
|
||||||
|
|
||||||
|
/** Return the size of image in pixels using Exif tags. Return a null dimmension if size cannot
|
||||||
|
be found. */
|
||||||
|
QSize getImageDimensions() const;
|
||||||
|
|
||||||
|
/** Set the size of image in pixels in Exif tags. Return true if size have been changed
|
||||||
|
in metadata. */
|
||||||
|
bool setImageDimensions(const QSize& size, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return a QImage copy of Exif thumbnail image. Return a null image if thumbnail cannot
|
||||||
|
be found. The 'fixOrientation' parameter will rotate automatically the thumbnail if Exif
|
||||||
|
orientation tags information are attached with thumbnail. */
|
||||||
|
QImage getExifThumbnail(bool fixOrientation) const;
|
||||||
|
|
||||||
|
/** Set the Exif Thumbnail image. The thumbnail image must have the right dimensions before.
|
||||||
|
Look Exif specification for details. Return true if thumbnail have been changed in metadata. */
|
||||||
|
bool setExifThumbnail(const QImage& thumb, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return the image orientation set in Exif metadata. The makernotes of image are also parsed to
|
||||||
|
get this information. See ImageOrientation values for details. */
|
||||||
|
KExiv2::ImageOrientation getImageOrientation() const;
|
||||||
|
|
||||||
|
/** Set the Exif orientation tag of image. See ImageOrientation values for details
|
||||||
|
Return true if orientation have been changed in metadata. */
|
||||||
|
bool setImageOrientation(ImageOrientation orientation, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return the image color-space set in Exif metadata. The makernotes of image are also parsed to
|
||||||
|
get this information. See ImageColorWorkSpace values for details. */
|
||||||
|
KExiv2::ImageColorWorkSpace getImageColorWorkSpace() const;
|
||||||
|
|
||||||
|
/** Set the Exif color-space tag of image. See ImageColorWorkSpace values for details
|
||||||
|
Return true if work-space have been changed in metadata. */
|
||||||
|
bool setImageColorWorkSpace(ImageColorWorkSpace workspace, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return the time stamp of image. Exif information are check in first, IPTC in second
|
||||||
|
if image don't have Exif information. If no time stamp is found, a null date is returned. */
|
||||||
|
QDateTime getImageDateTime() const;
|
||||||
|
|
||||||
|
/** Set the Exif and Iptc time stamp. If 'setDateTimeDigitized' parameter is true, the 'Digitalized'
|
||||||
|
time stamp is set, else only 'Created' time stamp is set. */
|
||||||
|
bool setImageDateTime(const QDateTime& dateTime, bool setDateTimeDigitized = false,
|
||||||
|
bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return a QImage copy of Iptc preview image. Return a null image if preview cannot
|
||||||
|
be found. */
|
||||||
|
bool getImagePreview(QImage& preview) const;
|
||||||
|
|
||||||
|
/** Set the Iptc preview image. The thumbnail image must have the right size before (64Kb max
|
||||||
|
with JPEG file, else 256Kb). Look Iptc specification for details. Return true if preview
|
||||||
|
have been changed in metadata.
|
||||||
|
Re-implemente this method if you want to use another image file format than JPEG to
|
||||||
|
save preview.
|
||||||
|
*/
|
||||||
|
virtual bool setImagePreview(const QImage& preview, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return a strings list of Iptc keywords from image. Return an empty list if no keyword are set. */
|
||||||
|
QStringList getImageKeywords() const;
|
||||||
|
|
||||||
|
/** Set Iptc keywords using a list of strings defined by 'newKeywords' parameter. Use 'getImageKeywords()'
|
||||||
|
method to set 'oldKeywords' parameter with existing keywords from image. The method will compare
|
||||||
|
all new keywords with all old keywords to prevent duplicate entries in image. Return true if keywords
|
||||||
|
have been changed in metadata. */
|
||||||
|
bool setImageKeywords(const QStringList& oldKeywords, const QStringList& newKeywords,
|
||||||
|
bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return a strings list of Iptc subjects from image. Return an empty list if no subject are set. */
|
||||||
|
QStringList getImageSubjects() const;
|
||||||
|
|
||||||
|
/** Set Iptc subjects using a list of strings defined by 'newSubjects' parameter. Use 'getImageSubjects()'
|
||||||
|
method to set 'oldSubjects' parameter with existing subjects from image. The method will compare
|
||||||
|
all new subjects with all old subjects to prevent duplicate entries in image. Return true if subjects
|
||||||
|
have been changed in metadata. */
|
||||||
|
bool setImageSubjects(const QStringList& oldSubjects, const QStringList& newSubjects,
|
||||||
|
bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return a strings list of Iptc sub-categories from image. Return an empty list if no sub-category
|
||||||
|
are set. */
|
||||||
|
QStringList getImageSubCategories() const;
|
||||||
|
|
||||||
|
/** Set Iptc sub-categories using a list of strings defined by 'newSubCategories' parameter. Use
|
||||||
|
'getImageSubCategories()' method to set 'oldSubCategories' parameter with existing sub-categories
|
||||||
|
from image. The method will compare all new sub-categories with all old sub-categories to prevent
|
||||||
|
duplicate entries in image. Return true if sub-categories have been changed in metadata. */
|
||||||
|
bool setImageSubCategories(const QStringList& oldSubCategories, const QStringList& newSubCategories,
|
||||||
|
bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return a QString copy of Exif user comments. Return a null string if user comments cannot
|
||||||
|
be found. */
|
||||||
|
QString getExifComment() const;
|
||||||
|
|
||||||
|
/** Set the Exif user comments from image. Look Exif specification for more details about this tag.
|
||||||
|
Return true if Exif user comments have been changed in metadata. */
|
||||||
|
bool setExifComment(const QString& comment, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Get all GPS location information set in image. Return true if all information can be found. */
|
||||||
|
bool getGPSInfo(double& altitude, double& latitude, double& longitude) const;
|
||||||
|
|
||||||
|
/** Set all GPS location information into image. Return true if all information have been
|
||||||
|
changed in metadata. */
|
||||||
|
bool setGPSInfo(double altitude, double latitude, double longitude, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Remove all Exif tags relevant of GPS location information. Return true if all tags have been
|
||||||
|
removed successfully in metadata. */
|
||||||
|
bool removeGPSInfo(bool setProgramName=true);
|
||||||
|
|
||||||
|
//-- Metadata Tags manipulation methods ----------------------------------------
|
||||||
|
|
||||||
|
/** Get an Exif tags content like a string. If 'escapeCR' parameter is true, the CR characters
|
||||||
|
will be removed. If Exif tag cannot be found a null string is returned. */
|
||||||
|
QString getExifTagString(const char *exifTagName, bool escapeCR=true) const;
|
||||||
|
|
||||||
|
/** Set an Exif tag content using a string. Return true if tag is set successfully. */
|
||||||
|
bool setExifTagString(const char *exifTagName, const QString& value, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Get an Exif tags content like a long value. Return true if Exif tag be found. */
|
||||||
|
bool getExifTagLong(const char* exifTagName, long &val) const;
|
||||||
|
|
||||||
|
/** Set an Exif tag content using a long value. Return true if tag is set successfully. */
|
||||||
|
bool setExifTagLong(const char *exifTagName, long val, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Get the 'component' index of an Exif tags content like a rational value.
|
||||||
|
'num' and 'den' are the numerator and the denominator of the rational value.
|
||||||
|
Return true if Exif tag be found. */
|
||||||
|
bool getExifTagRational(const char *exifTagName, long int &num, long int &den, int component=0) const;
|
||||||
|
|
||||||
|
/** Set an Exif tags content using a rational value.
|
||||||
|
'num' and 'den' are the numerator and the denominator of the rational value.
|
||||||
|
Return true if tag is set successfully. */
|
||||||
|
bool setExifTagRational(const char *exifTagName, long int num, long int den, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Get an Exif tags content like a bytes array. Return an empty bytes array if Exif
|
||||||
|
tag cannot be found. */
|
||||||
|
QByteArray getExifTagData(const char *exifTagName) const;
|
||||||
|
|
||||||
|
/** Set an Exif tag content using a bytes array. Return true if tag is set successfully. */
|
||||||
|
bool setExifTagData(const char *exifTagName, const QByteArray& data, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Get an Iptc tags content like a string. If 'escapeCR' parameter is true, the CR characters
|
||||||
|
will be removed. If Iptc tag cannot be found a null string is returned. */
|
||||||
|
QString getIptcTagString(const char* iptcTagName, bool escapeCR=true) const;
|
||||||
|
|
||||||
|
/** Set an Iptc tag content using a string. Return true if tag is set successfully. */
|
||||||
|
bool setIptcTagString(const char *iptcTagName, const QString& value, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Get an Iptc tags content like a bytes array. Return an empty bytes array if Iptc
|
||||||
|
tag cannot be found. */
|
||||||
|
QByteArray getIptcTagData(const char *iptcTagName) const;
|
||||||
|
|
||||||
|
/** Set an Iptc tag content using a bytes array. Return true if tag is set successfully. */
|
||||||
|
bool setIptcTagData(const char *iptcTagName, const QByteArray& data, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Remove the Exif tag 'exifTagName' from Exif metadata. Return true if tag is
|
||||||
|
removed successfully. */
|
||||||
|
bool removeExifTag(const char *exifTagName, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Remove the Iptc tag 'iptcTagName' from Iptc metadata. Return true if tag is
|
||||||
|
removed successfully. */
|
||||||
|
bool removeIptcTag(const char *iptcTagName, bool setProgramName=true);
|
||||||
|
|
||||||
|
/** Return the Exif Tag title or a null string. */
|
||||||
|
static QString getExifTagTitle(const char *exifTagName);
|
||||||
|
|
||||||
|
/** Return the Exif Tag description or a null string. */
|
||||||
|
static QString getExifTagDescription(const char *exifTagName);
|
||||||
|
|
||||||
|
/** Return the Iptc Tag title or a null string. */
|
||||||
|
static QString getIptcTagTitle(const char *iptcTagName);
|
||||||
|
|
||||||
|
/** Return the Iptc Tag description or a null string. */
|
||||||
|
static QString getIptcTagDescription(const char *iptcTagName);
|
||||||
|
|
||||||
|
/** Return a map of Exif tags name/value found in metadata sorted by
|
||||||
|
Exif keys given by 'exifKeysFilter'.
|
||||||
|
|
||||||
|
'exifKeysFilter' is a QStringList of Exif keys.
|
||||||
|
For example, if you use the string list given below:
|
||||||
|
|
||||||
|
"Iop"
|
||||||
|
"Thumbnail"
|
||||||
|
"Image"
|
||||||
|
"Photo"
|
||||||
|
|
||||||
|
... this method will return a map of all Exif tags witch :
|
||||||
|
|
||||||
|
- include "Iop", or "Thumbnail", or "Image", or "Photo" in the Exif tag keys
|
||||||
|
if 'inverSelection' is false.
|
||||||
|
- not include "Iop", or "Thumbnail", or "Image", or "Photo" in the Exif tag keys
|
||||||
|
if 'inverSelection' is true.
|
||||||
|
*/
|
||||||
|
KExiv2::MetaDataMap getExifTagsDataList(const QStringList &exifKeysFilter, bool invertSelection=false);
|
||||||
|
|
||||||
|
/** Return a map of Iptc tags name/value found in metadata sorted by
|
||||||
|
Iptc keys given by 'iptcKeysFilter'.
|
||||||
|
|
||||||
|
'iptcKeysFilter' is a QStringList of Iptc keys.
|
||||||
|
For example, if you use the string list given below:
|
||||||
|
|
||||||
|
"Envelope"
|
||||||
|
"Application2"
|
||||||
|
|
||||||
|
... this method will return a map of all Iptc tags witch :
|
||||||
|
|
||||||
|
- include "Envelope", or "Application2" in the Iptc tag keys
|
||||||
|
if 'inverSelection' is false.
|
||||||
|
- not include "Envelope", or "Application2" in the Iptc tag keys
|
||||||
|
if 'inverSelection' is true.
|
||||||
|
*/
|
||||||
|
KExiv2::MetaDataMap getIptcTagsDataList(const QStringList &iptcKeysFilter, bool invertSelection=false);
|
||||||
|
|
||||||
|
//-- Advanced methods to convert and decode data -------------------------
|
||||||
|
|
||||||
|
/** This method convert 'number' like a rational value, returned in 'numerator' and
|
||||||
|
'denominator' parameters. Set the precision using 'rounding' parameter. */
|
||||||
|
static void convertToRational(double number, long int* numerator,
|
||||||
|
long int* denominator, int rounding);
|
||||||
|
|
||||||
|
/** Wrapper method to convert a Comments content to a QString. */
|
||||||
|
static QString convertCommentValue(const Exiv2::Exifdatum &comment);
|
||||||
|
|
||||||
|
/** Charset autodetection to convert a string to a QString. */
|
||||||
|
static QString detectEncodingAndDecode(const std::string &value);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
/** Re-implemente this method to set automatically the Program Name and Program Version
|
||||||
|
information in Exif and Iptc metadata if 'on' argument is true. This method is called by all methods witch
|
||||||
|
change tags in metadata. By default this method do nothing and return true.
|
||||||
|
|
||||||
|
In digiKam this method is re-implementated like this:
|
||||||
|
|
||||||
|
if (on)
|
||||||
|
{
|
||||||
|
QString version(digikam_version);
|
||||||
|
QString software("digiKam");
|
||||||
|
return setImageProgramId(software, version);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
*/
|
||||||
|
virtual bool setProgramId(bool on=true);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
/** Return a reference to Exif metadata object in memory. */
|
||||||
|
Exiv2::ExifData& exifMetaData();
|
||||||
|
|
||||||
|
/** Return a reference to Iptc metadata object in memory. */
|
||||||
|
Exiv2::IptcData& iptcMetaData();
|
||||||
|
|
||||||
|
/** Set the Exif data using an Exiv2 byte array. Return true if Exif metadata
|
||||||
|
have been changed in memory. */
|
||||||
|
bool setExif(Exiv2::DataBuf const data);
|
||||||
|
|
||||||
|
/** Set the Iptc data using an Exiv2 byte array. Return true if Iptc metadata
|
||||||
|
have been changed in memory. */
|
||||||
|
bool setIptc(Exiv2::DataBuf const data);
|
||||||
|
|
||||||
|
/** Return a reference to comments string object in memory. */
|
||||||
|
std::string& commentsMetaData();
|
||||||
|
|
||||||
|
/** Return a standard C++ string copy of Comments container get from current image.
|
||||||
|
Return a null standard string if there is no Comments metadata in memory. */
|
||||||
|
std::string getCommentsString() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
/** Internal class to store private members. Used to improve binary compatibility */
|
||||||
|
KExiv2Priv *d;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // NameSpace KExiv2Iface
|
||||||
|
|
||||||
|
#endif /* KEXIV2_H */
|
@ -0,0 +1,37 @@
|
|||||||
|
/* ============================================================
|
||||||
|
*
|
||||||
|
* This file is a part of kipi-plugins project
|
||||||
|
* http://www.kipi-plugins.org
|
||||||
|
*
|
||||||
|
* Date : 2005-09-15
|
||||||
|
* Description : Exiv2 library interface for KDE
|
||||||
|
*
|
||||||
|
* Copyright (C) 2005 by Laurent Montel <montel@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software Foundation;
|
||||||
|
* either version 2, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
#ifndef _LIBKEXIV2_EXPORT_H
|
||||||
|
#define _LIBKEXIV2_EXPORT_H
|
||||||
|
|
||||||
|
#ifdef KDEMACROS_USABLE
|
||||||
|
#include <kdemacros.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef KDE_EXPORT
|
||||||
|
#define LIBKEXIV2_EXPORT KDE_EXPORT
|
||||||
|
#else
|
||||||
|
#define LIBKEXIV2_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _LIBKEXIV2_EXPORT_H */
|
||||||
|
|
@ -0,0 +1,31 @@
|
|||||||
|
/* ============================================================
|
||||||
|
*
|
||||||
|
* This file is a part of kipi-plugins project
|
||||||
|
* http://www.kipi-plugins.org
|
||||||
|
*
|
||||||
|
* Date : 2007-02-06
|
||||||
|
* Description : Exiv2 library interface for KDE
|
||||||
|
*
|
||||||
|
* Copyright (C) 2007 by Gilles Caulier <caulier dot gilles at gmail dot com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software Foundation;
|
||||||
|
* either version 2, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
#ifndef KEXIV2_VERSION_H
|
||||||
|
#define KEXIV2_VERSION_H
|
||||||
|
|
||||||
|
static const char kexiv2_version[] = "0.1.7";
|
||||||
|
|
||||||
|
#define KEXIV2_VERSION 0x000107
|
||||||
|
|
||||||
|
#endif // KEXIV2_VERSION_H
|
||||||
|
|
Loading…
Reference in new issue