| # 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', |
| ], |
| }, |
| ], |
| }], |
| ], |
| } |