# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

{
  'variables': {
    'optimize_target_for_speed': 1,
    'conditions': [
      [ 'OS == "none"', {
        # Because we have a patched zlib, we cannot use the system libz.
        # TODO(pvalchev): OpenBSD is purposefully left out, as the system
        # zlib brings up an incompatibility that breaks rendering.
        'use_system_zlib%': 1,
      }, {
        'use_system_zlib%': 0,
      }],
    ],
    'use_system_minizip%': 0,
    'use_x86_x64_optimizations%': 0,
    'use_arm_neon_optimizations%': 0,
  },
  'targets': [
    {
      'target_name': 'zlib',
      'type': 'static_library',
      'conditions': [
        ['use_system_zlib==0', {
          'sources': [
            'adler32.c',
            'chromeconf.h',
            'compress.c',
            'crc32.c',
            'crc32.h',
            'deflate.c',
            'deflate.h',
            'infback.c',
            'inffast.c',
            'inffast.h',
            'inffixed.h',
            'inflate.h',
            'inftrees.c',
            'inftrees.h',
            'trees.c',
            'trees.h',
            'uncompr.c',
            'x86.h',
            'zconf.h',
            'zlib.h',
            'zutil.c',
            'zutil.h',
          ],
          'include_dirs': [
            '.',
          ],
          'all_dependent_settings': {
            'defines': [
               # To prevent Zlib ever from redefining const keyword in zconf.h
              'STDC'
            ]
          },
          'direct_dependent_settings': {
            'include_dirs': [
              '.',
            ],
          },
          'defines': [
            'ZLIB_IMPLEMENTATION',
          ],
          'conditions': [
            ['OS!="win"', {
              'product_name': 'chrome_zlib',
            }],
            ['OS=="android"', {
              'toolsets': ['target', 'host'],
            }],
            ['OS=="starboard"', {
              'sources!': [
                'gzclose.c',
                'gzguts.h',
                'gzlib.c',
                'gzread.c',
                'gzwrite.c',
              ],
            }],
            ['use_x86_x64_optimizations==1', {
              # TODO: Enable optimizaitons for x86_x64.
              'sources': [],
            }, {
              'sources': [
                'simd_stub.c',
              ],
            }],
            ['use_arm_neon_optimizations==1', {
              # TODO: Enable optimizaitons for x86_x64.
              'sources': [],
            }],
            ['use_x86_x64_optimizations==0 and use_arm_neon_optimizations==0', {
              'sources': [
                'inflate.c',
              ],
            }],
          ],
        }, {
          'direct_dependent_settings': {
            'defines': [
              'USE_SYSTEM_ZLIB',
            ],
          },
          'defines': [
            'USE_SYSTEM_ZLIB',
          ],
          'link_settings': {
            'libraries': [
              '-lz',
            ],
          },
        }],
      ],
    },
    {
      'target_name': 'minizip',
      'type': 'static_library',
      'conditions': [
        ['use_system_minizip==0', {
          'sources': [
            'contrib/minizip/ioapi.c',
            'contrib/minizip/ioapi.h',
            'contrib/minizip/iostarboard.c',
            'contrib/minizip/iostarboard.h',
            'contrib/minizip/iowin32.c',
            'contrib/minizip/iowin32.h',
            'contrib/minizip/unzip.c',
            'contrib/minizip/unzip.h',
            'contrib/minizip/zip.c',
            'contrib/minizip/zip.h',
          ],
          'include_dirs': [
            '.',
            '../..',
          ],
          'direct_dependent_settings': {
            'include_dirs': [
              '.',
            ],
          },
          'conditions': [
            ['OS!="win"', {
              'sources!': [
                'contrib/minizip/iowin32.c'
              ],
            }],
            ['OS=="android"', {
              'toolsets': ['target', 'host'],
            }],
          ],
        }, {
          'direct_dependent_settings': {
            'defines': [
              'USE_SYSTEM_MINIZIP',
            ],
          },
          'defines': [
            'USE_SYSTEM_MINIZIP',
          ],
          'link_settings': {
            'libraries': [
              '-lminizip',
            ],
          },
        }],
        ['OS in ["mac", "ios", "android"] or os_bsd==1 or target_arch in ["ps3", "wiiu"]', {
          # Mac, Android and the BSDs don't have fopen64, ftello64, or
          # fseeko64. We use fopen, ftell, and fseek instead on these
          # systems.
          'defines': [
            'USE_FILE32API'
          ],
        }],
        ['clang==1', {
          'xcode_settings': {
            'WARNING_CFLAGS': [
              # zlib uses `if ((a == b))` for some reason.
              '-Wno-parentheses-equality',
            ],
          },
          'cflags': [
            '-Wno-parentheses-equality',
          ],
        }],
      ],
    },
    {
      'target_name': 'zip',
      'type': 'static_library',
      'sources': [
        'google/zip.cc',
        'google/zip.h',
        'google/zip_internal.cc',
        'google/zip_internal.h',
        'google/zip_reader.cc',
        'google/zip_reader.h',
        'google/zip_writer.cc',
        'google/zip_writer.h',
      ],
      'dependencies': [
        '<(DEPTH)/base/base.gyp:base',
        '<(DEPTH)/third_party/zlib/zlib.gyp:minizip',
      ],
    },
  ],
}
