# Third-party code features.
#
# There *must* be a feature definition here for *every* piece of third-party
# code used either by the core code or by platform code on *any* product
# Opera delivers from this core version.
#
# For more information about third-party code, see the developer wiki:
# http://wiki/developerwiki/index.php/Third_party_code
#
# A few features have annotations that note that they must be defined
# to the value YES.  If this is a hardship please complain about it,
# though be advised that in some cases there are no credible
# alternatives.
#
# To make it less likely that the 32-character limit on feature names is
# exceeded, third-party features start with the prefix FEATURE_3P_ rather
# than FEATURE_THIRDPARTY_.

FEATURE_3P_ALADDIN_MD5              eirik

    This feature states that the external MD5 hash implementation from
    Aladdin Software is used in Opera (normally only on projects that
    can't use the one in the SSL library).

    Attribution: ATTRIBUTION_ALLADIN
    Defines: ALADDIN_MD5

FEATURE_3P_ANDROID_OPEN_SOURCE_CODE			joleksy

    Enable to display third-party attribution for code from
    The Android Open Source Project.

    Attribution: ATTRIBUTION_ANDROID_OPEN_SOURCE_CODE
    Defines: ABOUT_ANDROID_OPEN_SOURCE_CODE

FEATURE_3P_BISON                    rune, davve

    This feature states that parsers generated by the Bison parser
    generated and containing Bison's parser framework are included in
    Opera.

    There is no alternative for this feature, it must be set to YES.

    Attribution: none
    Defines: BISON_PARSER

FEATURE_3P_BITSTREAM_VERA           davve

    This feature states that the Bitstream Vera fonts are distributed
    with Opera; they are used by SVG.

    Attribution: LICENSE_BITSTREAM_VERA_FONTS
    Defines: BITSTREAM_VERA_FONTS

FEATURE_3P_DROID_FONTS                   simonb

    Enable to display third-party attribution for Droid fonts in opera:about,
    required if the Droid fonts are bundled with Opera.

    Attribution: ATTRIBUTION_DROID_FONTS
    Defines: ABOUT_DROID_FONTS
    Depends on : nothing
    Required by: nothing

FEATURE_3P_DTOA_DAVID_M_GAY              lth

    David Gay's reliable string-to-number and number-to-string library.
    Full license text in modules/stdlib/src/thirdparty_dtoa_dmg/README.

    Must also be selected by SYSTEM_DTOA==NO or SYSTEM_STRTOD==NO.

    Setting FEATURE_3P_DTOA_DAVID_M_GAY to YES also defines STDLIB_DTOA_CONVERSION.
    Use it and not DTOA_DAVID_M_GAY when testing for the availability
    of a(ny) dtoa implementation.

    Attribution: LICENSE_DAVID_M_GAY_CONVERSIONS
    Defines: DTOA_DAVID_M_GAY
    Conflicts with: FEATURE_3P_DTOA_FLOITSCH_DOUBLE_CONVERSION

FEATURE_3P_DTOA_FLOITSCH_DOUBLE_CONVERSION   sof

    Florian Loitsch's library for double-to-string conversion, imported
    from the code.google.com hg repository. This library is a faster
    replacement for David Gay's dtoa library.

    Setting FEATURE_3P_DTOA_FLOITSCH_DOUBLE_CONVERSION to YES also
    defines STDLIB_DTOA_CONVERSION. Use it and not
    DTOA_FLOITSCH_DOUBLE_CONVERSION when testing for the
    availability of a(ny) dtoa implementation.

    Attribution:  LICENSE_FLOITSCH_DOUBLE_CONVERSION
    Defines:      DTOA_FLOITSCH_DOUBLE_CONVERSION
    Conflicts with: FEATURE_3P_DTOA_DAVID_M_GAY

FEATURE_3P_FREETYPE                 emil

    This feature states that libfreetype is used in Opera.

    freetype has two licenses:
    * the FreeType license (modules/libfreetype/docs/FTL.txt)
    * the GNU GPL version 2 (modules/libfreetype/docs/GPLv2.txt)

    in addition to this, the contributed PCF viewer has a license
    found in modules/libfreetype/src/pcf/readme

    Attribution: LICENSE_FREETYPE
    Defines: USE_FREETYPE

FEATURE_3P_GLIBC		eddy

    This feature enables a notice in opera:about acknowledging that
    our binaries are linked against LGPL'd libc on Linux.  See bug
    282974 and the GNU Lesser General Public License (particularly
    sections 5 and 6 of v2.1, or 3 and 4 of v3).

    Attribution	: ATTRIBUTION_GLIBC
    Defines	: AB_LGPL_NOTICE_GLIBC

FEATURE_3P_GOOGLE_ANALYTICS_SDK_FOR_ANDROID     mmarkowicz

    Enable to display third-party attribution for google
    analytics sdk library for android.

    Attribution: ATTRIBUTION_GOOGLE_ANALYTICS_SDK_FOR_ANDROID
    Defines: ABOUT_GOOGLE_ANALYTICS_SDK_FOR_ANDROID

FEATURE_3P_GROWL                    adamm

    This feature enables the Growl licence section on opera:about.
    Growl is a system for user notifications on Mac OS X.

    Attribution: LICENSE_GROWL
    Defines    : GROWL_SUPPORT

FEATURE_3P_GSTREAMER		philipj

    Enables an implementation of the OpMediaPlayer/OpMediaManager PIs
    based on the GStreamer media framework.

    Attribution	: ATTRIBUTION_GSTREAMER
    Required by	: FEATURE_3P_XIPH, FEATURE_3P_LIBVPX
    Depends on	: FEATURE_MEDIA_PLAYER
    Defines	: GSTREAMER_3P_SUPPORT

FEATURE_3P_HKSCS                   peter

    This feature states that data provided by The Government of the Hong Kong
    Special Administrative Region (HKSARG) is included. This must be enabled if
    the tables "hkscs-compat", "hkscs-plane-0" or "hkscs-plane-2" from the
    i18ndata module are included in the encoding.bin file, or its
    equivalent. Used by big5-hkscs support.

    See also FEATURE_3P_MOZTW, which is also required for big5-hkscs support.

    Attribution : ATTRIBUTION_HKSCS
    Defines     : USE_HKSCS_DATA

FEATURE_3P_HUNSPELL                jb

    Implements our internal spellchecker API:s using the spellcheck
    engine from hunspell.  It is strongly recommended to use the
    hunspell engine rather than our internal implementation.

    Attribution: LICENSE_HUNSPELL
    Defines: INTERNAL_SPELLCHECK_SUPPORT, SPC_USE_HUNSPELL_ENGINE
    Conflicts with: FEATURE_INTERNAL_SPELLCHECK

FEATURE_3P_IANA						peter

	Include data tables published by the Internet Assigned Numbers Authority
	(IANA) Unicode consortium, including, but not limited to, character
	encoding tags.

	There is no alternative for this feature, it must be set to YES.

	Attribution: none
	Defines: IANA_DATA_TABLES

FEATURE_3P_IBM_JNI_HEADERS          rune

    This feature states that IBM's J9 header files for JNI are used
    when the LiveConnect support is compiled.

    Attribution: none
    Defines: IBM_JNI_HEADERS

FEATURE_3P_ICU_DATA                 peter

    This feature declares that data from the ICU project is included. This must
    be enabled if the "gb18030-table" data table is included in the encoding.bin
    file, or its equivalent. Used by gb18030 support.

    Attribution: LICENSE_ICU
    Defines: USE_ICU_DATA

FEATURE_3P_ITYPE_ENGINE             johan_e

    This feature states that the iType font engine from Monotype
    Imaging (previously known as Agfa) is used in Opera.

    Attribution: ATTRIBUTION_MONOTYPE_IMAGING
    Defines: ITYPE_FONT_ENGINE

FEATURE_3P_KDDI                     peter

    This feature declares that data from KDDI's Emoji specification is included.
    This is required if the "@emojis kddi" or "@emojis kddi_spec_chars" feature
    is enabled when building the encoding.bin file.

    Research is needed to determine whether an attribution is necessary or not
    (CORE-44239).

    Attribution: none
    Defines: USE_KDDI_EMOJI_DATA

FEATURE_3P_LCMS                     fs
    Implements a CMS (Color Management System). Used for ICC profiles
    embedded in images.

    Attribution: LICENSE_LCMS
    Defines    : LCMS_3P_SUPPORT
    Required by: FEATURE_EMBEDDED_ICC_PROFILES

FEATURE_3P_LEA_MALLOC                eddy

    Use Doug Lea's implementation (which resides in modules/lea_malloc/) of
    standard library memory management (malloc, free, new, etc.) rather than the
    native system version.  You must initialize and shut down the lea_malloc
    module at the start and end of main(), respectively before and after all
    allocations, if using this feature.  See lea_malloc module headers for
    details.

    This library is in the public domain.

    This feature used to be called FEATURE_LEA_MALLOC.

    Attribution: ATTRIBUTION_LEA_MALLOC
    Defines    : HAVE_DL_MALLOC
    Depends on : nothing
    Required by: FEATURE_LEA_MALLOC_PREFIX, FEATURE_LEA_MALLOC_CONSTRAINED,
                 FEATURE_MEMORY_OOM_EMULATION

FEATURE_3P_LIBVPX		philipj

    Enables the use of libvpx (VP8 decoding) for the GStreamer based
    media backend.

    Attribution	: LICENSE_LIBVPX
    Depends on	: FEATURE_3P_GSTREAMER
    Defines	: LIBVPX_3P_SUPPORT

FEATURE_3P_LIBYAML		arjanl

    This feature enables the libyaml licence section on opera:about.
    libyaml is a compact C parser for yaml, a file format used on desktop for
    UI descriptions.

    Attribution : LICENSE_LIBYAML
    Defines     : LIBYAML_SUPPORT

FEATURE_3P_MATHLIB                  lth

    Drop-in replacement for most math functions, for systems that
    don't have them.  Taken from the Amsterdam Compiler Kit libraries.
    Copyright (c) 1987,1990, 1993 Vrije Universiteit, Amsterdam, The
    Netherlands.

    Full text of copyright notice in
    modules/stdlib/src/thirdparty_math/Copyright.

    Must also be selected individually by SYSTEM_function==NO, for
    various functions.

    Attribution: LICENSE_ACK_MATH_LIBRARY
    Defines: ACK_MATH_LIBRARY

FEATURE_3P_MATRIX_SSL               kilsmo

    This feature states that the external Matrix SSL library is used
    in Opera.

    Attribution: none
    Defines: MATRIX_SSL

FEATURE_3P_MOZTW                    peter

    This feature declares that data from the MozTW project is included. This
    must be enabled if the data tables "big5-table", "big5-rev-table-1" or
    "big5-rev-table-2" from the i18ndata module are included in the
    encoding.bin file, or its equivalent. Used by big5 and big5-hkscs
    support.

    Attribution: ATTRIBUTION_MOZTW
    Defines    : USE_MOZTW_DATA

FEATURE_3P_NS4_PLUGIN_API           hela

    This feature states that Netscape's header files for the Netscape4
    plugin API are used when the plugin support is compiled.

    Attribution: ATTRIBUTION_NPAPI
    Defines: NETSCAPE_NP4API_HEADERS

FEATURE_3P_NTT_DOCOMO               peter

    This feature declares that data from NTT DoCoMo's iMode Emoji specification
    is included. This is required if the "@emojis imode" feature is enabled when
    building the encoding.bin file.

    Research is needed to determine whether an attribution is necessary or not
    (CORE-44239).

    Attribution: none
    Defines: USE_IMODE_EMOJI_DATA

FEATURE_3P_OPENGL_REGISTRY          timj

    The OpenGL registry (http://www.opengl.org/registry/) contains,
    among other things, a machine-readable specification of the OpenGL
    API.

    The files currently covered by this feature are:
    - enum.spec
    - enumext.spec
    - gl.spec
    - gl.tm

    These files are used to generate the interface that VEGA uses to
    access OpenGL.  VEGA currently keeps its copies of these files in
    platforms/vega_backends/opengl/registry.

    See platforms/vega_backends/opengl/registry/readme.txt for more
    information.

    Attribution: ATTRIBUTION_OPENGL_REGISTRY
    Defines: OPENGL_REGISTRY

FEATURE_3P_OPENSSL                  yngve

    SSL implementation from the OpenSSL project.

    FIXME -- this feature needs work!!

    Attribution: LICENSE_OPENSSL, LICENSE_SSLEAY
    Defines: USE_OPENSSL

FEATURE_3P_OPENTYPE                 peter

    This feature declares that data from the OpenType specification is included.
    This is required for font switching to work on OpenType fonts.

    Research is needed to determine whether an attribution is necessary or not
    (CORE-44239).

    Attribution: none
    Defines: USE_OPENTYPE_DATA

FEATURE_3P_PIKE_UNIVERSE            ph

    Pike programming language with all its libraries and their
    respective copyrights, used in the Opera Mini servers but not in
    other products.

    Attribution: none
    Defines: PIKE_UNIVERSE

FEATURE_3P_PRINTF_SCANF             lth

    Eberhard Mattes's printf and scanf code from the EMX library.

    There is no alternative for this feature, it must be set to YES.

    EMX is an OS/2 port of the gcc suite. The C library was developed
    by Eberhard Mattes, and we use modified versions of the sprintf
    and sscanf methods from this library.

    Developed by Eberhard Mattes: (Copyright (C) 1990-1998 Eberhard
    Mattes)

    Attribution: ATTRIBUTION_NOTE_EBERHARD_MATTES
    Defines: EBERHARD_MATTES_PRINTF

FEATURE_3P_RANDOM                   lth

    "Mersenne twister" random number generator, for systems that have
    a bad or no rng.  Taken from the 'net.  Copyright (C) 1997 - 2002,
    Makoto Matsumoto and Takuji Nishimura.

    Full text of copyright notice in
    modules/stdlib/src/thirdparty_rng/stdlib_mt19937ar.cpp.

    Must also be selected by SYSTEM_RANDOM==NO.

    Attribution: LICENSE_M_MAT_MERSENNE
    Defines: MERSENNE_TWISTER_RNG

FEATURE_3P_REICHL_SHA1              eirik

    This feature enables the third-party implementation of SHA-1 by
    Dominik Reichl (normally only on projects that can't use the one
    in the SSL library).

    Attribution: none
    Defines: REICHL_SHA1

FEATURE_3P_SDL                                         andersh

    Enable to display third-party attribution and license for SDL in
    opera:about.

	Simple DirectMedia Layer is a cross-platform multimedia library designed to
	provide low level access to audio, keyboard, mouse, joystick, 3D hardware
	via OpenGL, and 2D video framebuffer.

	See http://www.libsdl.org/

    Attribution: LICENSE_SDL
    Defines: SDL_3P_SUPPORT

FEATURE_3P_SQLITE                  pflouret

    The database manager used internally for the HTML5 client-side
    storage and database API.

    Attribution: ATTRIBUTION_SQLITE
    Defines: SQLITE_3P_SUPPORT
    Required by: FEATURE_DATABASE_STORAGE

FEATURE_3P_SSL_FALSE_START haavardm

	Enable ssl false start optimization as described in 
	https://tools.ietf.org/html/draft-bmoeller-tls-falsestart-00 
	The reason for this being 3P feature is that we have included
	a black list ssl_false_start_blacklist.txt.
	To use this feature please manually copy the black list
	'modules/libssl/ssl_false_start_blacklist.txt' from your checkout
	into OPFILE_RESOURCES_FOLDER or download an updated list directly from
	chromium project:
	http://git.chromium.org/gitweb/?p=chromium.git;a=blob;f=net/base/ssl_false_start_blacklist.txt
	
    Attribution: LICENSE_CHROMIUM
    Depends on : FEATURE_NATIVE_SSL
    Defines: LIBSSL_ENABLE_SSL_FALSE_START

FEATURE_3P_SUN_JNI_HEADERS          rune

    This feature states that Sun's header files for JNI are used when
    the LiveConnect support is compiled.

    Attribution: none
    Defines: SUN_JNI_HEADERS

FEATURE_3P_UNICODE					peter

	Include data tables and/or sources published by the Unicode consortium,
	including, but not limited to, the Unicode Character Database and
	conversion tables for legacy character encodings, and the reference
	implementation of the BiDi algorithm from http://unicode.org/reports/tr14/
	(the latter is currently used by Bream only).

	There is no alternative for this feature, it must be set to YES.

	Attribution: LICENSE_UNICODE
	Required by: FEATURE_TABLEMANAGER, FEATURE_UNICODE_NORMALIZE
	Defines    : USE_UNICODE_INC_DATA

FEATURE_3P_WEBP						wonko

	Enable the WebP image decoder.

	This third-party feature requires support for SYSTEM_COMPLEX_GLOBALS.

	Attribution: LICENSE_WEBP
	Depends on : nothing
	Defines    : WEBP_SUPPORT

FEATURE_3P_XIPH			philipj

    Enables the use of libogg, libvorbis and libtheora for the GStreamer based
    media backend.

    Attribution	: LICENSE_XIPH
    Depends on	: FEATURE_3P_GSTREAMER
    Defines	: XIPH_3P_SUPPORT

FEATURE_3P_ZLIB                     ph

    Enables the use of zlib for decompression in opera, this includes
    support for various transport-encoding methods, zip file reading
    for the Quick UI and PNG image decoding support.

    Zlib compression library, developed by Jean-loup Gailly and Mark
    Adler: (Copyright(C) 1995-1998 by Jean-loup Gailly and Mark Adler)

    (Previously known as FEATURE_ZLIB.)

    A separate define USE_SYSTEM_ZLIB directs Opera to use the zlib
    provided by the platform, but FEATURE_3P_ZLIB must still
    be set to YES.

    License can be found at http://www.zlib.net/zlib_license.html

    Attribution: ATTRIBUTION_ZLIB
    Defines    : USE_ZLIB
    Group      : compression
    Depends on : nothing
    Required by: FEATURE_HTTP_COMPRESS, FEATURE_PNG, FEATURE_ZLIB_COMPRESSION,
                 FEATURE_SELFTEST, FEATURE_SPDY

FEATURE_3P_XML_PARSER                pstanek

    Enable to display third-party attribution for tinyXML used by desktop's
    autoupdate feature.

    Attribution: LICENSE_TINYXML
    Defines: ABOUT_TINYXML

FEATURE_3P_HTTP_STACK               pstanek

    Enable to display third-party attribution for libcurl used by desktop's
    autoupdate feature.

    Attribution: LICENSE_CURL
    Defines: ABOUT_CURL
