Added old KDE3 version of libkexiv2
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