diff options
Diffstat (limited to 'src/imageformats/configure.json')
-rw-r--r-- | src/imageformats/configure.json | 212 |
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" + ] + } + ] +} |