| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 | 
							- {
 
-   'conditions': [
 
-     ['OS=="win"', {
 
-       'variables': {
 
-         'GTK_Root%': 'C:/GTK',  # Set the location of GTK all-in-one bundle
 
-         'with_jpeg%': 'false',
 
-         'with_gif%': 'false',
 
-         'with_rsvg%': 'false',
 
-         'variables': { # Nest jpeg_root to evaluate it before with_jpeg
 
-           'jpeg_root%': '<!(node ./util/win_jpeg_lookup)'
 
-         },
 
-         'jpeg_root%': '<(jpeg_root)', # Take value of nested variable
 
-         'conditions': [
 
-           ['jpeg_root==""', {
 
-             'with_jpeg%': 'false'
 
-           }, {
 
-             'with_jpeg%': 'true'
 
-           }]
 
-         ]
 
-       }
 
-     }, {  # 'OS!="win"'
 
-       'variables': {
 
-         'with_jpeg%': '<!(node ./util/has_lib.js jpeg)',
 
-         'with_gif%': '<!(node ./util/has_lib.js gif)',
 
-         'with_rsvg%': '<!(node ./util/has_lib.js rsvg)'
 
-       }
 
-     }]
 
-   ],
 
-   'targets': [
 
-     {
 
-       'target_name': 'canvas-postbuild',
 
-       'dependencies': ['canvas'],
 
-       'conditions': [
 
-         ['OS=="win"', {
 
-           'copies': [{
 
-             'destination': '<(PRODUCT_DIR)',
 
-             'files': [
 
-               '<(GTK_Root)/bin/zlib1.dll',
 
-               '<(GTK_Root)/bin/libintl-8.dll',
 
-               '<(GTK_Root)/bin/libpng14-14.dll',
 
-               '<(GTK_Root)/bin/libpangocairo-1.0-0.dll',
 
-               '<(GTK_Root)/bin/libpango-1.0-0.dll',
 
-               '<(GTK_Root)/bin/libpangoft2-1.0-0.dll',
 
-               '<(GTK_Root)/bin/libpangowin32-1.0-0.dll',
 
-               '<(GTK_Root)/bin/libcairo-2.dll',
 
-               '<(GTK_Root)/bin/libfontconfig-1.dll',
 
-               '<(GTK_Root)/bin/libfreetype-6.dll',
 
-               '<(GTK_Root)/bin/libglib-2.0-0.dll',
 
-               '<(GTK_Root)/bin/libgobject-2.0-0.dll',
 
-               '<(GTK_Root)/bin/libgmodule-2.0-0.dll',
 
-               '<(GTK_Root)/bin/libgthread-2.0-0.dll',
 
-               '<(GTK_Root)/bin/libexpat-1.dll'
 
-             ]
 
-           }]
 
-         }]
 
-       ]
 
-     },
 
-     {
 
-       'target_name': 'canvas',
 
-       'include_dirs': ["<!(node -e \"require('nan')\")"],
 
-       'sources': [
 
-         'src/backend/Backend.cc',
 
-         'src/backend/ImageBackend.cc',
 
-         'src/backend/PdfBackend.cc',
 
-         'src/backend/SvgBackend.cc',
 
-         'src/bmp/BMPParser.cc',
 
-         'src/Backends.cc',
 
-         'src/Canvas.cc',
 
-         'src/CanvasGradient.cc',
 
-         'src/CanvasPattern.cc',
 
-         'src/CanvasRenderingContext2d.cc',
 
-         'src/closure.cc',
 
-         'src/color.cc',
 
-         'src/Image.cc',
 
-         'src/ImageData.cc',
 
-         'src/init.cc',
 
-         'src/register_font.cc'
 
-       ],
 
-       'conditions': [
 
-         ['OS=="win"', {
 
-           'libraries': [
 
-             '-l<(GTK_Root)/lib/cairo.lib',
 
-             '-l<(GTK_Root)/lib/libpng.lib',
 
-             '-l<(GTK_Root)/lib/pangocairo-1.0.lib',
 
-             '-l<(GTK_Root)/lib/pango-1.0.lib',
 
-             '-l<(GTK_Root)/lib/freetype.lib',
 
-             '-l<(GTK_Root)/lib/glib-2.0.lib',
 
-             '-l<(GTK_Root)/lib/gobject-2.0.lib'
 
-           ],
 
-           'include_dirs': [
 
-             '<(GTK_Root)/include',
 
-             '<(GTK_Root)/include/cairo',
 
-             '<(GTK_Root)/include/pango-1.0',
 
-             '<(GTK_Root)/include/glib-2.0',
 
-             '<(GTK_Root)/include/freetype2',
 
-             '<(GTK_Root)/lib/glib-2.0/include'
 
-           ],
 
-           'defines': [
 
-             '_USE_MATH_DEFINES',  # for M_PI
 
-             'NOMINMAX' # allow std::min/max to work
 
-           ],
 
-           'configurations': {
 
-             'Debug': {
 
-               'msvs_settings': {
 
-                 'VCCLCompilerTool': {
 
-                   'WarningLevel': 4,
 
-                   'ExceptionHandling': 1,
 
-                   'DisableSpecificWarnings': [
 
-                     4100, 4611
 
-                   ]
 
-                 }
 
-               }
 
-             },
 
-             'Release': {
 
-               'msvs_settings': {
 
-                 'VCCLCompilerTool': {
 
-                   'WarningLevel': 4,
 
-                   'ExceptionHandling': 1,
 
-                   'DisableSpecificWarnings': [
 
-                     4100, 4611
 
-                   ]
 
-                 }
 
-               }
 
-             }
 
-           }
 
-         }, {  # 'OS!="win"'
 
-           'libraries': [
 
-             '<!@(pkg-config pixman-1 --libs)',
 
-             '<!@(pkg-config cairo --libs)',
 
-             '<!@(pkg-config libpng --libs)',
 
-             '<!@(pkg-config pangocairo --libs)',
 
-             '<!@(pkg-config freetype2 --libs)'
 
-           ],
 
-           'include_dirs': [
 
-             '<!@(pkg-config cairo --cflags-only-I | sed s/-I//g)',
 
-             '<!@(pkg-config libpng --cflags-only-I | sed s/-I//g)',
 
-             '<!@(pkg-config pangocairo --cflags-only-I | sed s/-I//g)',
 
-             '<!@(pkg-config freetype2 --cflags-only-I | sed s/-I//g)'
 
-           ],
 
-           'cflags': ['-Wno-cast-function-type'],
 
-           'cflags!': ['-fno-exceptions'],
 
-           'cflags_cc!': ['-fno-exceptions']
 
-         }],
 
-         ['OS=="mac"', {
 
-           'xcode_settings': {
 
-             'GCC_ENABLE_CPP_EXCEPTIONS': 'YES'
 
-           }
 
-         }],
 
-         ['with_jpeg=="true"', {
 
-           'defines': [
 
-             'HAVE_JPEG'
 
-           ],
 
-           'conditions': [
 
-             ['OS=="win"', {
 
-               'copies': [{
 
-                 'destination': '<(PRODUCT_DIR)',
 
-                 'files': [
 
-                   '<(jpeg_root)/bin/jpeg62.dll',
 
-                 ]
 
-               }],
 
-               'include_dirs': [
 
-                 '<(jpeg_root)/include'
 
-               ],
 
-               'libraries': [
 
-                 '-l<(jpeg_root)/lib/jpeg.lib',
 
-               ]
 
-             }, {
 
-               'include_dirs': [
 
-                 '<!@(pkg-config libjpeg --cflags-only-I | sed s/-I//g)'
 
-               ],
 
-               'libraries': [
 
-                 '<!@(pkg-config libjpeg --libs)'
 
-               ]
 
-             }]
 
-           ]
 
-         }],
 
-         ['with_gif=="true"', {
 
-           'defines': [
 
-             'HAVE_GIF'
 
-           ],
 
-           'conditions': [
 
-             ['OS=="win"', {
 
-               'libraries': [
 
-                 '-l<(GTK_Root)/lib/gif.lib'
 
-               ]
 
-             }, {
 
-               'include_dirs': [
 
-                 '/opt/homebrew/include'
 
-               ],
 
-               'libraries': [
 
-                 '-L/opt/homebrew/lib',
 
-                 '-lgif'
 
-               ]
 
-             }]
 
-           ]
 
-         }],
 
-         ['with_rsvg=="true"', {
 
-           'defines': [
 
-             'HAVE_RSVG'
 
-           ],
 
-           'conditions': [
 
-             ['OS=="win"', {
 
-               'copies': [{
 
-                 'destination': '<(PRODUCT_DIR)',
 
-                 'files': [
 
-                   '<(GTK_Root)/bin/librsvg-2-2.dll',
 
-                   '<(GTK_Root)/bin/libgdk_pixbuf-2.0-0.dll',
 
-                   '<(GTK_Root)/bin/libgio-2.0-0.dll',
 
-                   '<(GTK_Root)/bin/libcroco-0.6-3.dll',
 
-                   '<(GTK_Root)/bin/libgsf-1-114.dll',
 
-                   '<(GTK_Root)/bin/libxml2-2.dll'
 
-                 ]
 
-               }],
 
-               'libraries': [
 
-                 '-l<(GTK_Root)/lib/librsvg-2-2.lib'
 
-               ]
 
-             }, {
 
-               'include_dirs': [
 
-                 '<!@(pkg-config librsvg-2.0 --cflags-only-I | sed s/-I//g)'
 
-               ],
 
-               'libraries': [
 
-                 '<!@(pkg-config librsvg-2.0 --libs)'
 
-               ]
 
-             }]
 
-           ]
 
-         }]
 
-       ]
 
-     }
 
-   ]
 
- }
 
 
  |