Improved, simplified convenience library and moved README and license files around.
This commit is contained in:
parent
89182ad01b
commit
96523122b3
7
Makefile
7
Makefile
@ -64,17 +64,20 @@ uninstall: config/config.mk
|
||||
cd src && $(MAKE) $(MAKECMDGOALS)
|
||||
cd po && $(MAKE) $(MAKECMDGOALS)
|
||||
|
||||
doc: config/config.mk
|
||||
doc: config/config.mk taglist
|
||||
cd doc && $(MAKE) $(MAKECMDGOALS)
|
||||
|
||||
samples: config/config.mk
|
||||
cd samples && $(MAKE) $(MAKECMDGOALS)
|
||||
|
||||
taglist: config/config.mk
|
||||
cd samples && $(MAKE) $@
|
||||
|
||||
config:
|
||||
cd config && $(MAKE) -f config.make $(MAKECMDGOALS)
|
||||
|
||||
xmpsdk: config/config.mk
|
||||
if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $(MAKECMDGOALS); fi;
|
||||
if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $@; fi;
|
||||
|
||||
mostlyclean clean: config/config.mk
|
||||
cd src && $(MAKE) $(MAKECMDGOALS)
|
||||
|
||||
79
README-XMP
79
README-XMP
@ -1,40 +1,61 @@
|
||||
XMP support
|
||||
***********
|
||||
|
||||
XMP support is controlled with the --enable-xmp and
|
||||
--disable-xmp options of the configure script. Building Exiv2
|
||||
with XMP support requires the Expat XML parser library, which
|
||||
is widely available. The --with-expat configure option can
|
||||
be used if it is installed in a non-standard directory.
|
||||
XMP support is controlled with the --enable-xmp and --disable-xmp
|
||||
options to the configure script. Building Exiv2 with XMP support
|
||||
requires the Expat XML parser library (http://expat.sourceforge.net/).
|
||||
The --with-expat configure option can be used if it is installed in a
|
||||
non-standard directory.
|
||||
|
||||
Top-level Exiv2 classes to access XMP metadata are XmpData,
|
||||
Xmpdatum and XmpKey. They work similar to the corresponding
|
||||
Exif and IPTC classes. The property-repository is XmpProperties.
|
||||
In addition to the expected new members, class Image also
|
||||
has an interface to access the raw XMP packet.
|
||||
For API documentation of XMP classes and samples, build or install the
|
||||
documentation and go to doc/html/getting-started.html
|
||||
|
||||
All XMP value types are supported: Simple types, structures,
|
||||
arrays, property qualifiers and language alternatives.
|
||||
XMP Toolkit
|
||||
===========
|
||||
|
||||
XMP properties are accessed through keys of the form
|
||||
"Xmp.<Prefix>.<PropertyPath>", where <Prefix> is the preferred
|
||||
(or rather, registered) prefix for a schema namespace and
|
||||
<PropertyPath> is the path of the XMP node. In its most basic
|
||||
form, to address simple properties, <PropertyPath> is the name
|
||||
of the property. In general, <PropertyPath> can be used to
|
||||
address any XMP node, including array items, structure fields
|
||||
qualifiers and deeply nested properties.
|
||||
Exiv2 uses the XMPCore component of the Adobe XMP Toolkit (XMP SDK) to
|
||||
parse and serialize XMP packets. Temporarily, it is integrated and
|
||||
distributed with Exiv2. The xmpsdk/ directory of the Exiv2 distribution
|
||||
contains the XMP SDK source code. The final solution will eventually
|
||||
use an external XMP Toolkit.
|
||||
|
||||
Any properties in known namespaces are supported and additional
|
||||
namespaces can be registered.
|
||||
Building the XMP Toolkit is transparent. Following the installation
|
||||
steps described in the main README file will ensure that the XMP
|
||||
Toolkit is compiled if necessary. It is only needed if XMP support is
|
||||
enabled. Building the XMP Toolkit results in a "convenience library"
|
||||
in xmpsdk/src/. This library is only used to link the Exiv2 library
|
||||
with.
|
||||
|
||||
The specialized Exiv2 values XmpArrayValue and LangAltValue are
|
||||
provided to simplify the use of XMP properties.
|
||||
If you experience problems building this library, please email to the
|
||||
Exiv2 support forum for help, see http://www.exiv2.org/support.html
|
||||
and not to Adobe directly.
|
||||
|
||||
See xmpsample.cpp for examples of how to set various types of
|
||||
XMP properties.
|
||||
|
||||
Note: Unlike Exif and IPTC tags, XMP properties do not have
|
||||
a tag number.
|
||||
Source
|
||||
======
|
||||
|
||||
Todo: Conversion between XMP and Exif/IPTC metadata.
|
||||
XMP Toolkit 4.1.1 (xmp_v411_sdk.zip) from
|
||||
http://www.adobe.com/devnet/xmp/sdk/eula.html
|
||||
|
||||
The following files were copied from the original XMP SDK
|
||||
distribution:
|
||||
|
||||
public/include/* -> xmpsdk/include
|
||||
source/common/* -> xmpsdk/src
|
||||
source/XMPCore/* -> xmpsdk/src
|
||||
build/XMP_BuildInfo.h -> xmpsdk/src
|
||||
third-party/MD5/* -> xmpsdk/src
|
||||
|
||||
Minor changes were applied to the original XMP SDK, see the SVN for
|
||||
details:
|
||||
|
||||
http://dev.robotbattle.com/~cvsuser/cgi-bin/ns_viewcvs.cgi/exiv2/trunk/xmpsdk/
|
||||
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
Copyright (c) 1999 - 2007, Adobe Systems Incorporated
|
||||
Copyright (c) 1991-2, RSA Data Security, Inc.
|
||||
|
||||
See the file doc/COPYING-XMPSDK for the XMP Toolkit license agreements.
|
||||
|
||||
@ -64,17 +64,20 @@ uninstall: config/config.mk
|
||||
cd src && $(MAKE) $(MAKECMDGOALS)
|
||||
cd po && $(MAKE) $(MAKECMDGOALS)
|
||||
|
||||
doc: config/config.mk
|
||||
doc: config/config.mk taglist
|
||||
cd doc && $(MAKE) $(MAKECMDGOALS)
|
||||
|
||||
samples: config/config.mk
|
||||
cd samples && $(MAKE) $(MAKECMDGOALS)
|
||||
|
||||
taglist: config/config.mk
|
||||
cd samples && $(MAKE) $@
|
||||
|
||||
config:
|
||||
cd config && $(MAKE) -f config.make $(MAKECMDGOALS)
|
||||
|
||||
xmpsdk: config/config.mk
|
||||
if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $(MAKECMDGOALS); fi;
|
||||
if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $@; fi;
|
||||
|
||||
mostlyclean clean: config/config.mk
|
||||
cd src && $(MAKE) $(MAKECMDGOALS)
|
||||
|
||||
@ -95,7 +95,7 @@ ifdef ENABLE_XMP
|
||||
XMPSDK_LIBRARY = xmpsdk
|
||||
XMPSDK_DIR = $(top_srcdir)/xmpsdk
|
||||
XMPSDK_CPPFLAGS = -DUNIX_ENV -I$(XMPSDK_DIR)/include
|
||||
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/lib
|
||||
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/src
|
||||
XMPSDK_LIBS = -l$(XMPSDK_LIBRARY)
|
||||
else
|
||||
# Enable additional warnings. XMP Toolkit doesn't compile
|
||||
@ -152,7 +152,7 @@ COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
|
||||
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
|
||||
# LINK.cc does not need $(LIBS), libtool's dark magic takes care of that
|
||||
# when linking a binary with a libtool library.
|
||||
LINK.cc = $(CXX) $(CXXFLAGS) $(LDFLAGS)
|
||||
LINK.cc = $(CXX) $(LDFLAGS)
|
||||
|
||||
# **********************************************************************
|
||||
# Installation programs
|
||||
|
||||
@ -1,52 +0,0 @@
|
||||
Copyright (c) 2007 Andreas Huggel <ahuggel@gmx.net>
|
||||
Copyright (c) 1999 - 2007, Adobe Systems Incorporated
|
||||
|
||||
The BSD License
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of Adobe Systems Incorporated, nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
Copyright (C) 1991-2, RSA Data Security, Inc.
|
||||
|
||||
License to copy and use this software is granted provided that it is
|
||||
identified as the "RSA Data Security, Inc. MD5 Message-Digest
|
||||
Algorithm" in all material mentioning or referencing this software or
|
||||
this function.
|
||||
|
||||
License is also granted to make and use derivative works provided that
|
||||
such works are identified as "derived from the RSA Data Security,
|
||||
Inc. MD5 Message-Digest Algorithm" in all material mentioning or
|
||||
referencing the derived work.
|
||||
|
||||
RSA Data Security, Inc. makes no representations concerning either the
|
||||
merchantability of this software or the suitability of this software
|
||||
for any particular purpose. It is provided "as is" without express or
|
||||
implied warranty of any kind.
|
||||
|
||||
These notices must be retained in any copies of any part of this
|
||||
documentation and/or software.
|
||||
@ -1,46 +0,0 @@
|
||||
XMP Toolkit
|
||||
***********
|
||||
|
||||
Exiv2 uses the XMPCore component of the Adobe XMP Toolkit (XMP SDK) to
|
||||
parse and serialize XMP packets. Temporarily, it is integrated and
|
||||
distributed together with Exiv2. The xmpsdk/ directory of the Exiv2
|
||||
distribution (this directory) contains the XMP SDK source code. The
|
||||
final solution will use an external XMP Toolkit.
|
||||
|
||||
Building the XMP Toolkit is transparent. Following the installation
|
||||
steps described in the top-level Exiv2 README file will ensure that
|
||||
the XMP Toolkit is compiled if necessary. It is only needed if XMP
|
||||
support is enabled. Building the XMP Toolkit results in a "convenience
|
||||
library" xmpsdk/lib/libxmpsdk.a. This library is not installed on the
|
||||
system and is not meant to be used as a standalone library. It is
|
||||
only used to link with the Exiv2 library.
|
||||
|
||||
If you experience problems building this library, please email to the
|
||||
Exiv2 support forum for help, see http://www.exiv2.org/support.html
|
||||
and not to Adobe directly.
|
||||
|
||||
|
||||
Source
|
||||
======
|
||||
|
||||
XMP Toolkit 4.1.1 (xmp_v411_sdk.zip) from
|
||||
http://www.adobe.com/devnet/xmp/sdk/eula.html
|
||||
|
||||
The following files were copied from the original XMP SDK
|
||||
distribution:
|
||||
|
||||
public/include/* -> include
|
||||
source/common/* -> src
|
||||
source/XMPCore/* -> src
|
||||
build/XMP_BuildInfo.h -> src
|
||||
third-party/MD5/* -> src
|
||||
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
Copyright (c) 2007 Andreas Huggel <ahuggel@gmx.net>
|
||||
Copyright (c) 1999 - 2007, Adobe Systems Incorporated
|
||||
Copyright (c) 1991-2, RSA Data Security, Inc.
|
||||
|
||||
See the file COPYING in the same directory for license agreements.
|
||||
@ -45,7 +45,7 @@
|
||||
#
|
||||
|
||||
# Default make target
|
||||
all: install
|
||||
all: xmpsdk
|
||||
|
||||
# Include system configuration
|
||||
top_srcdir = ../..
|
||||
@ -73,7 +73,7 @@ CCSRC = XMPMeta.cpp \
|
||||
|
||||
# ******************************************************************************
|
||||
# Library
|
||||
LIBRARY := lib$(XMPSDK_LIBRARY).a
|
||||
LIBRARY := lib$(XMPSDK_LIBRARY).la
|
||||
|
||||
# ******************************************************************************
|
||||
# Initialisations
|
||||
@ -100,7 +100,7 @@ endif
|
||||
# ******************************************************************************
|
||||
# Rules
|
||||
$(CCOBJ): %.o: %.cpp
|
||||
@$(LIBTOOL) --mode=compile $(COMPILE.cc) -o $@ $< -static -prefer-non-pic
|
||||
@$(LIBTOOL) --mode=compile $(COMPILE.cc) -o $@ $<
|
||||
@$(MAKEDEPEND)
|
||||
@$(POSTDEPEND)
|
||||
|
||||
@ -110,7 +110,7 @@ $(CCOBJ): %.o: %.cpp
|
||||
|
||||
# ******************************************************************************
|
||||
# Targets
|
||||
.PHONY: all mostlyclean clean distclean maintainer-clean install uninstall
|
||||
.PHONY: all mostlyclean clean distclean maintainer-clean
|
||||
|
||||
ifdef DEP_TRACKING
|
||||
# Include targets from dependency files
|
||||
@ -120,24 +120,18 @@ endif
|
||||
$(LIBTOOL): $(LIBTOOL_DEPS)
|
||||
$(SHELL) $(top_srcdir)/config.status --recheck
|
||||
|
||||
xmpsdk: install
|
||||
xmpsdk: $(LIBRARY)
|
||||
|
||||
$(LIBRARY): $(CCOBJ)
|
||||
$(LIBTOOL) --mode=link $(LINK.cc) -o $(LIBRARY) $(LOBJ)
|
||||
|
||||
install: $(LIBRARY)
|
||||
$(INSTALL_DATA) $(LIBRARY) ../lib/$(LIBRARY)
|
||||
|
||||
uninstall:
|
||||
$(RM) ../lib/$(LIBRARY)
|
||||
|
||||
mostlyclean:
|
||||
$(RM) core
|
||||
$(RM) $(CCSRC:.cpp=.ii)
|
||||
$(RM) $(CCSRC:%.cpp=.libs/%.d)
|
||||
@$(LIBTOOL) --mode=clean $(RM) $(LOBJ)
|
||||
|
||||
clean: uninstall mostlyclean
|
||||
clean: mostlyclean
|
||||
@$(LIBTOOL) --mode=clean $(RM) $(LIBRARY)
|
||||
|
||||
# Run `make distclean' from the top source directory to also remove
|
||||
|
||||
Loading…
Reference in New Issue
Block a user