1 2operations = [ 3 { 'name': 'ppm-load' }, 4 { 'name': 'ppm-save' }, 5 { 'name': 'npy-save' }, 6 { 'name': 'rgbe-load', 'deps': librgbe }, 7 { 'name': 'rgbe-save', 'deps': librgbe }, 8 { 'name': 'gif-load', 'deps': libnsgif }, 9] 10 11 12if pangocairo.found() 13 operations += { 'name': 'text', 'deps': pangocairo } 14endif 15 16if cairo.found() 17 operations += [ 18 { 'name': 'path', 'deps': cairo }, 19 { 'name': 'vector-stroke', 'deps': cairo }, 20 { 'name': 'npd', 'deps': [ cairo, libnpd ] }, 21 ] 22endif 23 24if libpng.found() 25 operations += [ 26 { 'name': 'png-load', 'deps': libpng }, 27 { 'name': 'png-save', 'deps': libpng }, 28 ] 29endif 30 31if poppler.found() 32 operations += [ 33 { 'name': 'pdf-load', 'deps': poppler } 34 ] 35endif 36 37if libjpeg.found() 38 operations += [ 39 { 'name': 'jpg-load', 'deps': libjpeg }, 40 { 'name': 'jpg-save', 'deps': libjpeg }, 41 ] 42endif 43 44if cairo.found() and librsvg.found() 45 operations += [ 46 { 'name': 'svg-load', 'deps': [ librsvg, cairo ], }, 47 ] 48endif 49 50if gdk_pixbuf.found() 51 operations += [ 52 { 'name': 'pixbuf-load', 'srcs': 'pixbuf.c', 'deps': gdk_pixbuf }, 53 { 'name': 'pixbuf-save', 'srcs': 'save-pixbuf.c', 'deps': gdk_pixbuf }, 54 ] 55endif 56 57if openexr.found() 58 operations += [ 59 { 'name': 'exr-load', 'srcs': 'exr-load.cpp', 'deps': openexr }, 60 { 'name': 'exr-save', 'srcs': 'exr-save.cc', 'deps': openexr }, 61 ] 62endif 63 64if sdl1.found() 65 operations += { 'name': 'sdl-display', 'deps': sdl1 } 66endif 67 68if sdl2.found() 69 operations += { 'name': 'sdl2-display', 'deps': sdl2 } 70endif 71 72if libraw.found() 73 operations += { 'name': 'raw-load', 'deps': libraw } 74endif 75 76if libv4l1.found() 77 operations += { 'name': 'v4l', 'deps': [ libv4l1, thread ], } 78endif 79 80if jasper.found() 81 operations += { 'name': 'jp2-load', 'deps': jasper } 82endif 83 84if avlibs_found 85 operations += [ 86 { 'name': 'ff-load', 'deps': avlibs }, 87 { 'name': 'ff-save', 'deps': avlibs }, 88 ] 89endif 90 91if libumfpack.found() 92 operations += { 93 'name': 'matting-levin', 94 'srcs': [ 'matting-levin.c', 'matting-levin-cblas.c', ], 95 'deps': libumfpack 96 } 97endif 98 99if lcms.found() 100 operations += { 'name': 'lcms-from-profile', 'deps': lcms } 101endif 102 103if libtiff.found() 104 operations += [ 105 { 'name': 'tiff-load', 'deps': libtiff }, 106 { 'name': 'tiff-save', 'deps': libtiff }, 107 ] 108endif 109 110if libwebp.found() 111 operations += [ 112 { 'name': 'webp-load', 'deps': libwebp }, 113 { 'name': 'webp-save', 'deps': libwebp }, 114 ] 115endif 116 117 118foreach operation : operations 119 libname = operation.get('name') 120 libsrcs = operation.get('srcs', libname + '.c') 121 libdeps = operation.get('deps', []) 122 123 gegl_operations += shared_library(libname, 124 libsrcs, 125 dependencies: [ babl, gio, glib, gobject, math, libdeps, ], 126 include_directories: [ rootInclude, geglInclude, ], 127 link_with: [ gegl_lib, ], 128 name_prefix: '', 129 install: true, 130 install_dir: get_option('libdir') / api_name, 131 ) 132endforeach 133