Exiv2
*****

Welcome to Exiv2, a C++ library and a command line utility to read and
write Exif and IPTC image metadata. The homepage of Exiv2 is:

    http://www.exiv2.org/

See doc/ChangeLog for a description of recent changes to Exiv2.

If you have the doc package, you can point your browser to doc/index.html 
for the complete Exiv2 API documentation and metadata tag reference.


Building and Installing
=======================

On UNIX-like systems (including GNU/Linux, Mac OS X, MinGW), use the 
GNU configure script. Run the following commands from the top directory 
(containing this file) to configure, build and install the library and 
utility:

    $ ./configure
    $ make
    $ make install

If you downloaded the source code from the subversion repository, you 
won't have a configure script. Run 'make config' to generate it and see 
the section "Hacking" below.

The default install locations are /usr/local/lib for the library,
/usr/local/bin for the exiv2 utility and /usr/local/include/exiv2 for the
header files. Use the --prefix=directory option of the configure script to
change the default. Run './configure --help' to see a list of all options.

To build Exiv2 with MSVC 7.1 or 8.0, use the solution file msvc/exiv2.sln.

To uninstall Exiv2 from a UNIX-like system, run:

    $ make uninstall

To build a commercial version of the Exiv2 library, see also section 
"Commercial version" at the end of this file.


Dependencies
============

The following features are enabled by default and may *) require external
libraries. They can be controlled through configure options. See also
'./configure --help'.

Feature                     Package   Configure options
--------------------------  --------  ----------------------------
PNG image support           zlib      --without-zlib
                                      --with-zlib=DIR
National language support   gettext   --disable-nls
Converting Windows XP tags  libiconv  --disable-printucs2
                                      --with-libiconv-prefix[=DIR]

zlib         http://www.zlib.net/
gettext  *)  http://www.gnu.org/software/gettext/
libiconv *)  http://www.gnu.org/software/libiconv/

*) Some systems have gettext and iconv in libc. The configure script 
should detect this.


Troubleshooting
===============

If you have problems building Exiv2 on UNIX-like systems, check the
generated config/config.mk and config/config.h files. You should *not*
need to modify any Makefile directly, in particular not src/Makefile!


Support
=======

Please send feedback or queries by email to the Exiv2 mailing list via

    http://www.exiv2.org/support.html

Bug reports can be submitted directly to the bug tracking system at

    http://dev.robotbattle.com/bugs/main_page.php


Hacking
=======

A pkg-config .pc file is installed together with the library.
Application developers can use pkg-config(1) to obtain correct compile
and link time flags for the Exiv2 library.

If you downloaded Exiv2 directly from the subversion repository, and
you want to build it using the GNU configure script, then you need to
have GNU Autoconf installed on your system and create the configure
script as the first step:

    $ make config

Then run the usual './configure; make; make install' commands.

To generate the documentation (run 'make doc'), you will further need
doxygen, graphviz, python and xsltproc.

Exiv2 uses GNU Libtool in order to build shared libraries on a variety
of systems. While this is very nice for making usable binaries, it can
be a pain when trying to debug a program. For that reason, compilation
of shared libraries can be turned off by specifying the
--disable-shared option to the configure script.


License
=======

Copyright (C) 2004-2007 Andreas Huggel <ahuggel@gmx.net>

Exiv2 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 of the License, or (at your
option) any later version.

Alternatively, Exiv2 is also available with a commercial license,
which allows it to be used in closed-source projects. Contact me for
more information.

Exiv2 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.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, 
MA 02110-1301 USA.


Commercial version
==================

If you have a commercial license, you must disable NLS support, 
conversion of UCS2 characters in XP tags and the conversion of
Exif.Nikon3.LensData values to lens names to build a commercial 
version of the Exiv2 library.

To do this on Windows, compile the library with the preprocessor
symbol EXV_COMMERCIAL_VERSION defined. See the file src/exv_msvc.h
for details. 
On UNIX-like systems, run the configure script with the options
--enable-commercial --disable-nls --disable-printucs2 --disable-lensdata
