You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Robin Mills 03ca00fc1e #1244. Correction to r4637. Added bigBlock_(NULL) to BasicIo::BasicIo(). 9 years ago
config #1236 CMake build on MinGW. 9 years ago
contrib Enhancements to a contributed build script. 9 years ago
doc Fix typo 9 years ago
include/exiv2 #1244. Correction to r4637. Added bigBlock_(NULL) to BasicIo::BasicIo(). 9 years ago
msvc2003 #1230 Work-in-progress. Validating msvc2005/configure.py 9 years ago
msvc2005 #1230 Work-in-progress to restore configure.bat/configure.py to working health (see fix_vcproj.xslt for explanation). 9 years ago
po Update some German translation strings 9 years ago
samples #1230 More MinGW fixes. 9 years ago
src #1244. Removing experimental APIs introduced by r4637. I submitted those APIs just to retain the code somewhere. I have no plan to release such as API. 9 years ago
test #1243 Work-in-progress. Still to add code to writeMetadata for icc profiles. 9 years ago
website Fix typos 9 years ago
xmpsdk #1236 CMake build on MinGW. 9 years ago
.gitignore More updates to .gitignore 12 years ago
.travis.yml travis fixes 10 years ago
ABOUT-NLS Merged revisions 907:999 from gettext branch into trunk 19 years ago
AUTHORS Refer to doc/ChangeLog for authors and other contributors. 15 years ago
CMakeLists.txt #1230 CMake build fixes. 9 years ago
CMake_msvc.txt #1041 get jenkins_daily.sh to work on Mac/Cygwin/MSVC/Linux and publish builds on userContent/builds { daily/weekly/monthly} 10 years ago
COPYING Updated copyright and fsf address 20 years ago
COPYING-CMAKE-SCRIPTS use dedicated licence file for CMake Script, as it done into KDE project. 13 years ago
FindExiv2.cmake Adding Gilles' FindExiv2.cmake. Adding a pre-build header copy modify sample include path. 13 years ago
FurnaceCreekInn1.jpg #1233 Fixed issue on MacOS-X 10.4 (32 big big-endian PPC, 2003 OS) with realpath() and added additional images for future testing. 9 years ago
Makefile #1023 HTTP and HTTPS test support. 9 years ago
README #1230 More ascii art polishing. 9 years ago
README-CMAKE #1230 More ascii art polishing. 9 years ago
TODO-CMAKE #1230 More ascii art polishing. 9 years ago
bootstrap.linux add Macports support with cmake and coverity analyzer 10 years ago
bootstrap.macports polish 10 years ago
cm.bat Adding support for Visual Studio 2013 and 2015. 10 years ago
fixxml.sh Add script fixxml.sh to put the .vcproj and .vcxproj xml files on a line-count diet! 11 years ago

README

    @@@@@@@@@@@@@b                   ;mm                       /##Gilles###\
    j@@@#Robin",                     Brad                     /@@@Thomas@@@@Q
     @@@#       \                     ##                     @@@b     |@@@b
     @@@#          .;;;;,     ,;;;, ,;;;;  ,;;;p      .;;;   7@@      ]Alan
     @@@#           j@@@@,   ]@@#/  '@@@#  j@@@#      ]@@^           ;@@@"
     @@@Andreas@C     "@@@p @@@"     @@@b   j@@@p     @@b           @@@#/
     @@@#^7"7%#\       ^@@@@@#~      Benb    1@@@    {@#          s@@@#
     @@@#                Niels       @@@b     @@@Q  ]@#         ;@@@#/
     @@@#              ,@@##@@m      @@@b      @@@p @@C        #@@#C
     @@@#       ,/    s@@#  @@@@     @@@b       Volker       @Tuan@
    ]@@@Abhinav@@\   /@@@\    \@@@Q  @@@Q       %@@@#      /@@@@Mahesh@@#
   /@@@@@@@@@@@@@@\ /@@@@@\    C++  Metadata   Library   /@Sridhar@@@v0.26\

Exiv2
*****

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

    http://www.exiv2.org/

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

Exiv2 API and tag reference documentation is at http://www.exiv2.org/doc
or you can build it and point your browser to doc/index.html.

For more information on XMP support in Exiv2, see doc/README-XMP.

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

You can build the libraries in the following ways:

1 UNIX-like systems (including GNU/Linux, Mac OS X, Cygwin, MinGW)
  - general notes follow
  - FAQ concerning Cygwin/MSYS and Mac OS X:
    http://dev.exiv2.org/projects/exiv2/wiki/FAQ

2 Microsoft Visual C++
  - see msvc2005/ReadMe.txt      (32bit and 64bit build VC8/2005,  2008,2010,2012)
  - see msvc2003/ReadMe.txt      (32bit build           VC7.1/2003 2005,2008)
  Caution msvc2003 is deprecated with v0.26 and will be removed

3 CMake (experimental support for cmake on all platforms)
  - see README-CMAKE for more information

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

On UNIX-like systems, 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
    $ sudo make install

Users of Cygwin and MinGW can omit the 'sudo' to install:
    $ make install

Caution:
    If you downloaded the source code from the subversion repository,
    you will have to generate the configure script:

    $ make config
    $ ./configure
    $ make
    $ sudo make install

To build the sample applications:

    $ make samples

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 uninstall Exiv2 from a UNIX-like system, run:

    $ sudo make uninstall

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

The following libexiv2 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
Native language support     gettext   --disable-nls
Characterset conversions    libiconv  --without-libiconv-prefix
                                      --with-libiconv-prefix[=DIR]
XMP support                 expat     --disable-xmp
                                      --with-expat=DIR

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

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

On Linux, it is usually best to install the dependencies through the
package management system of the distribution together with the
corresponding development packages (for the header files and static
libraries).

To build the sample programs in the samples/ directory ('make samples'),
you also need to have the pkg-config program.

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

pkg-config   http://pkg-config.freedesktop.org/wiki/
doxygen      http://www.doxygen.org/
graphviz     http://www.graphviz.org/
python       http://www.python.org/
xsltproc     http://xmlsoft.org/XSLT/
md5sum       http://www.microbrew.org/tools/md5sha1sum/

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
=======

All project resources are accessible from the project website at

    http://dev.exiv2.org/wiki/exiv2

Please send feedback or queries to the Exiv2 forum. For new bug reports
and feature requests, please open an issue.


Linking your own code with Exiv2
================================

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. See samples/Makefile for an
example.

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.

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-2015 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 and
the conversion of Nikon lens data to readable 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 in:
   msvc2003\include\exv_msvc.h
or msvc2005\include\exv_msvc.h

On UNIX-like systems, run the configure
script with the options --enable-commercial --disable-nls
--disable-lensdata.

# That's all Folks
##