|  | # 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. | 
|  |  | 
|  | { | 
|  | 'conditions': [ | 
|  | ['OS=="win"', { | 
|  | 'target_defaults': { | 
|  | 'defines': [ | 
|  | 'NOMINMAX', # To suppress max/min macro definition. | 
|  | 'WIN32', | 
|  | ], | 
|  | }, | 
|  | }], | 
|  | ], | 
|  | 'variables': { | 
|  | 'gcc_cflags': [ | 
|  | '-ggdb', | 
|  | '-W', | 
|  | '-Wall', | 
|  | '-Werror', | 
|  | '-Wno-unused-parameter', | 
|  | '-fPIE', | 
|  | '-fstack-protector', | 
|  | ], | 
|  | 'gcc_ldflags': [ | 
|  | '-ggdb', | 
|  | '-fpie', | 
|  | '-Wl,-z,relro', | 
|  | '-Wl,-z,now', | 
|  | ], | 
|  | }, | 
|  | 'includes': [ | 
|  | 'ots-common.gypi', | 
|  | ], | 
|  | 'target_defaults': { | 
|  | 'conditions': [ | 
|  | ['OS=="linux"', { | 
|  | 'cflags': [ | 
|  | '<@(gcc_cflags)', | 
|  | ], | 
|  | 'ldflags': [ | 
|  | '<@(gcc_ldflags)', | 
|  | ], | 
|  | 'defines': [ | 
|  | '_FORTIFY_SOURCE=2', | 
|  | ], | 
|  | 'link_settings': { | 
|  | 'libraries': ['-lz'], | 
|  | }, | 
|  | }], | 
|  | ['OS=="mac"', { | 
|  | 'xcode_settings': { | 
|  | 'GCC_DYNAMIC_NO_PIC': 'NO',            # No -mdynamic-no-pic | 
|  | 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES',   # -fvisibility=hidden | 
|  | 'OTHER_CFLAGS': [ | 
|  | '<@(gcc_cflags)', | 
|  | ], | 
|  | }, | 
|  | 'link_settings': { | 
|  | 'libraries': [ | 
|  | '/System/Library/Frameworks/ApplicationServices.framework', | 
|  | '/usr/lib/libz.dylib' | 
|  | ], | 
|  | }, | 
|  | }], | 
|  | ['OS=="win"', { | 
|  | 'link_settings': { | 
|  | 'libraries': [ | 
|  | '-lzdll.lib', | 
|  | ], | 
|  | }, | 
|  | 'msvs_settings': { | 
|  | 'VCLinkerTool': { | 
|  | 'DelayLoadDLLs': ['zlib1.dll'], | 
|  | }, | 
|  | }, | 
|  | }], | 
|  | ], | 
|  | }, | 
|  | 'targets': [ | 
|  | { | 
|  | 'target_name': 'ots', | 
|  | 'type': 'static_library', | 
|  | 'sources': [ | 
|  | '<@(ots_sources)', | 
|  | ], | 
|  | 'dependencies': [ | 
|  | 'third_party/lzma_sdk/lzma_sdk.gyp:ots_lzma_sdk', | 
|  | ], | 
|  | 'include_dirs': [ | 
|  | '<@(ots_include_dirs)', | 
|  | ], | 
|  | 'direct_dependent_settings': { | 
|  | 'include_dirs': [ | 
|  | '<@(ots_include_dirs)', | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | { | 
|  | 'target_name': 'freetype2', | 
|  | 'type': 'none', | 
|  | 'conditions': [ | 
|  | ['OS=="linux"', { | 
|  | 'direct_dependent_settings': { | 
|  | 'cflags': [ | 
|  | '<!(pkg-config freetype2 --cflags)', | 
|  | ], | 
|  | 'ldflags': [ | 
|  | '<!(pkg-config freetype2 --libs)', | 
|  | ], | 
|  | }, | 
|  | }], | 
|  | ], | 
|  | }, | 
|  | { | 
|  | 'target_name': 'idempotent', | 
|  | 'type': 'executable', | 
|  | 'sources': [ | 
|  | 'test/idempotent.cc', | 
|  | ], | 
|  | 'dependencies': [ | 
|  | 'ots', | 
|  | ], | 
|  | 'conditions': [ | 
|  | ['OS=="linux"', { | 
|  | 'cflags': [ | 
|  | '<!(pkg-config freetype2 --cflags)', | 
|  | ], | 
|  | 'ldflags': [ | 
|  | '<!(pkg-config freetype2 --libs)', | 
|  | ], | 
|  | }], | 
|  | ], | 
|  | }, | 
|  | { | 
|  | 'target_name': 'ot-sanitise', | 
|  | 'type': 'executable', | 
|  | 'sources': [ | 
|  | 'test/ot-sanitise.cc', | 
|  | 'test/file-stream.h', | 
|  | ], | 
|  | 'dependencies': [ | 
|  | 'ots', | 
|  | ], | 
|  | }, | 
|  | ], | 
|  | 'conditions': [ | 
|  | ['OS=="linux" or OS=="mac"', { | 
|  | 'targets': [ | 
|  | { | 
|  | 'target_name': 'validator_checker', | 
|  | 'type': 'executable', | 
|  | 'sources': [ | 
|  | 'test/validator-checker.cc', | 
|  | ], | 
|  | 'dependencies': [ | 
|  | 'ots', | 
|  | ], | 
|  | 'conditions': [ | 
|  | ['OS=="linux"', { | 
|  | 'dependencies': [ | 
|  | 'freetype2', | 
|  | ] | 
|  | }], | 
|  | ], | 
|  | }, | 
|  | { | 
|  | 'target_name': 'perf', | 
|  | 'type': 'executable', | 
|  | 'sources': [ | 
|  | 'test/perf.cc', | 
|  | ], | 
|  | 'dependencies': [ | 
|  | 'ots', | 
|  | ], | 
|  | }, | 
|  | ], | 
|  | }], | 
|  | ['OS=="linux"', { | 
|  | 'targets': [ | 
|  | { | 
|  | 'target_name': 'side_by_side', | 
|  | 'type': 'executable', | 
|  | 'sources': [ | 
|  | 'test/side-by-side.cc', | 
|  | ], | 
|  | 'dependencies': [ | 
|  | 'freetype2', | 
|  | 'ots', | 
|  | ], | 
|  | }, | 
|  | ], | 
|  | }], | 
|  | ], | 
|  | } |