# Copyright 2015 Google Inc. # # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Gyp file for building opts target. { # (To be honest, I'm not sure why we need to include common.gypi. I thought it was automatic.) 'variables': { 'includes': [ 'common.gypi' ], }, # Generally we shove things into one 'opts' target conditioned on platform. # If a particular platform needs some files built with different flags, # those become separate targets: opts_ssse3, opts_sse41, opts_neon. 'targets': [ { 'target_name': 'opts', 'product_name': 'skia_opts', 'type': 'static_library', 'standalone_static_library': 1, 'dependencies': [ 'core.gyp:*', 'effects.gyp:*' ], 'include_dirs': [ '../include/private', '../src/core', '../src/opts', '../src/utils', '../include/utils', ], 'conditions': [ [ '"x86" in skia_arch_type and skia_os != "ios"', { 'cflags': [ '-msse2' ], 'dependencies': [ 'opts_ssse3', 'opts_sse41', 'opts_sse42', 'opts_avx', 'opts_hsw' ], 'sources': [ '= 7', { # The assembly uses the frame pointer register (r7 in Thumb/r11 in # ARM), the compiler doesn't like that. 'cflags!': [ '-fno-omit-frame-pointer', '-mapcs-frame', '-mapcs' ], 'cflags': [ '-fomit-frame-pointer' ], 'sources': [ '