summaryrefslogtreecommitdiffstats
path: root/src/imageformats/configure.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/imageformats/configure.json')
-rw-r--r--src/imageformats/configure.json212
1 files changed, 212 insertions, 0 deletions
diff --git a/src/imageformats/configure.json b/src/imageformats/configure.json
new file mode 100644
index 0000000..7c60f86
--- /dev/null
+++ b/src/imageformats/configure.json
@@ -0,0 +1,212 @@
+{
+ "module": "imageformats",
+ "depends": [
+ "gui"
+ ],
+
+ "commandline": {
+ "options": {
+ "jasper": { "type": "boolean" },
+ "mng": { "type": "boolean" },
+ "tiff": { "type": "enum", "values": [ "no", "qt", "system" ] },
+ "webp": { "type": "enum", "values": [ "no", "qt", "system" ] }
+ }
+ },
+
+ "libraries": {
+ "jasper": {
+ "label": "jasper",
+ "test": {
+ "label": "Jasper(header in /usr/include)",
+ "type": "compile",
+ "test": {
+ "include": [
+ "string.h",
+ "jasper/jasper.h"
+ ],
+ "qmake": [
+ "msvc: LIBS += libjasper.lib",
+ "else: LIBS += -ljasper"
+ ],
+ "main": [
+ "// This version of Jasper is broken, according to the old Qt Solutions docs",
+ "if (strcmp(JAS_VERSION, \"1.900.0\") == 0)",
+ " return 1;",
+ "return 0;"
+ ]
+ }
+ },
+ "sources": [
+ "-ljasper"
+ ]
+ },
+ "mng": {
+ "label": "mng",
+ "test": {
+ "label": "MNG(header in /usr/include)",
+ "type": "compile",
+ "test": {
+ "include": [
+ "stdio.h",
+ "libmng.h"
+ ],
+ "qmake": [
+ "LIBS += -lmng"
+ ],
+ "main": [
+ "mng_handle hMNG;",
+ "mng_cleanup(&hMNG);",
+ "#if defined(MNG_VERSION_MAJOR)",
+ "#if MNG_VERSION_MAJOR < 1 || (MNG_VERSION_MAJOR == 1 && MNG_VERSION_MINOR == 0 && MNG_VERSION_RELEASE < 9)",
+ "#error System libmng version is less than 1.0.9",
+ "#endif",
+ "#endif",
+ "return 0;"
+ ]
+ }
+ },
+ "sources": [
+ "-lmng"
+ ]
+ },
+ "tiff": {
+ "label": "tiff",
+ "test": {
+ "label": "TIFF(header in /usr/include)",
+ "type": "compile",
+ "test": {
+ "include": "tiffio.h",
+ "qmake": [
+ "unix|mingw: LIBS += -ltiff",
+ "else:win32: LIBS += libtiff.lib"
+ ],
+ "main": [
+ "#if !defined(TIFF_VERSION) && defined(TIFF_VERSION_CLASSIC)",
+ "// libtiff 4.0 splits it into TIFF_VERSION_CLASSIC and TIFF_VERSION_BIG",
+ "# define TIFF_VERSION TIFF_VERSION_CLASSIC",
+ "#endif",
+
+ "#if !defined(TIFF_VERSION)",
+ "# error \"Required libtiff not found\"",
+ "#elif TIFF_VERSION < 42",
+ "# error \"unsupported tiff version\"",
+ "#endif",
+
+ "tdata_t buffer = _TIFFmalloc(128);",
+ "_TIFFfree(buffer);",
+
+ "// some libtiff implementations where TIFF_VERSION >= 42 do not",
+ "// have TIFFReadRGBAImageOriented(), so let's check for it",
+ "TIFFReadRGBAImageOriented(0, 0, 0, 0, 0, 0);",
+
+ "return 0;"
+ ]
+ }
+ },
+ "sources": [
+ "-ltiff"
+ ]
+ },
+ "webp": {
+ "label": "webp",
+ "test": {
+ "label": "WebP(header in /usr/include)",
+ "type": "compile",
+ "test": {
+ "include": [
+ "webp/decode.h",
+ "webp/encode.h",
+ "webp/demux.h"
+ ],
+ "qmake": [
+ "LIBS += -lwebp -lwebpdemux"
+ ],
+ "main": [
+ "#if WEBP_ABI_IS_INCOMPATIBLE(WEBP_DECODER_ABI_VERSION, 0x0203) || WEBP_ABI_IS_INCOMPATIBLE(WEBP_ENCODER_ABI_VERSION, 0x0202)",
+ "#error \"Incompatible libwebp version\"",
+ "#endif",
+
+ "WebPDecoderConfig config;",
+ "WebPDecBuffer *output_buffer = &config.output;",
+ "WebPBitstreamFeatures *bitstream = &config.input;",
+ "WebPPicture picture;",
+ "picture.use_argb = 0;",
+ "WebPConfig config2;",
+ "config2.lossless = 0;",
+ "WebPData data = {};",
+ "WebPDemuxer *demuxer = WebPDemux(&data);",
+ "WebPIterator iter;",
+ "iter.frame_num = 0;",
+
+ "return 0;"
+ ]
+ }
+ },
+ "sources": [
+ "-lwebp -lwebpdemux"
+ ]
+ }
+ },
+
+ "features": {
+ "jasper": {
+ "label": "JasPer",
+ "disable": "input.jasper == 'no'",
+ "condition": "features.imageformatplugin && libs.jasper",
+ "output": [
+ "privateFeature",
+ { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_JASPER" }
+ ]
+ },
+ "mng": {
+ "label": "MNG",
+ "disable": "input.mng == 'no'",
+ "condition": "libs.mng",
+ "output": [ "privateFeature" ]
+ },
+ "tiff": {
+ "label": "TIFF",
+ "disable": "input.tiff == 'no'",
+ "condition": "features.imageformatplugin",
+ "output": [
+ "privateFeature",
+ { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_TIFF" }
+ ]
+ },
+ "system-tiff": {
+ "label": " Using system libtiff",
+ "disable": "input.tiff == 'qt'",
+ "enable": "input.tiff == 'system'",
+ "condition": "features.tiff && libs.tiff",
+ "output": [ "privateFeature" ]
+ },
+ "webp": {
+ "label": "WEBP",
+ "disable": "input.webp == 'no'",
+ "condition": "features.imageformatplugin",
+ "output": [
+ "privateFeature",
+ { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_WEBP" }
+ ]
+ },
+ "system-webp": {
+ "label": " Using system libwebp",
+ "disable": "input.webp == 'qt'",
+ "enable": "input.webp == 'system'",
+ "condition": "features.webp && libs.webp",
+ "output": [ "privateFeature" ]
+ }
+ },
+
+ "summary": [
+ {
+ "section": "Further Image Formats",
+ "entries": [
+ "jasper",
+ "mng",
+ "tiff", "system-tiff",
+ "webp", "system-webp"
+ ]
+ }
+ ]
+}