comment "exiv2 needs a toolchain w/ C++, dynamic library"
	depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP

config BR2_PACKAGE_EXIV2
	bool "exiv2"
	depends on !BR2_STATIC_LIBS
	depends on BR2_INSTALL_LIBSTDCPP
	help
	  Exiv2 is a C++ library and a command line utility to manage
	  image metadata. It provides fast and easy read and write
	  access to the Exif, IPTC and XMP metadata of images in
	  various formats.

	  Exiv2 is available under the GPLv2+ or under a commercial
	  license.

	  http://www.exiv2.org/

if BR2_PACKAGE_EXIV2

config BR2_PACKAGE_EXIV2_COMMERCIAL
	bool "Enable commercial"
	help
	  Build the commercial version for closed source project.

	  The Nikon lens name database and the NLS support is disabled
	  for copyright reasons.

	  A commercial license request is needed.
	  http://www.exiv2.org/download.html#license

config BR2_PACKAGE_EXIV2_PNG
	bool "PNG image support"
	select BR2_PACKAGE_ZLIB
	help
	  Build with PNG image support

config BR2_PACKAGE_EXIV2_XMP
	bool "XMP support"
	select BR2_PACKAGE_EXPAT
	depends on BR2_TOOLCHAIN_HAS_THREADS
	help
	  Build with XMP support

comment "xmp support needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_EXIV2_LENSDATA
	bool "Nikon lens name database"
	depends on !BR2_PACKAGE_EXIV2_COMMERCIAL
	help
	  Integrate Nikon lens name database.

	  This database is integrated but comes from a thirdparty:
	  http://www.rottmerhusen.com/objektives/lensid/thirdparty.html.

endif
