| OLD | NEW |
| 1 { | 1 { |
| 2 # Source lists live in opts.gypi. This makes it easier to maintain our Chrome
GYP/GN setup. | 2 # Source lists live in opts.gypi. This makes it easier to maintain our Chrome
GYP/GN setup. |
| 3 # (To be honest, I'm not sure why we need to include common.gypi. I thought i
t was automatic.) | 3 # (To be honest, I'm not sure why we need to include common.gypi. I thought i
t was automatic.) |
| 4 'variables': { | 4 'variables': { |
| 5 'includes': [ 'common.gypi', 'opts.gypi' ], | 5 'includes': [ 'common.gypi', 'opts.gypi' ], |
| 6 }, | 6 }, |
| 7 | 7 |
| 8 # Generally we shove things into one 'opts' target conditioned on platform. | 8 # Generally we shove things into one 'opts' target conditioned on platform. |
| 9 # If a particular platform needs some files built with different flags, | 9 # If a particular platform needs some files built with different flags, |
| 10 # those become separate targets: opts_ssse3, opts_sse41, opts_neon. | 10 # those become separate targets: opts_ssse3, opts_sse41, opts_neon. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 ], | 21 ], |
| 22 'include_dirs': [ | 22 'include_dirs': [ |
| 23 '../src/core', | 23 '../src/core', |
| 24 '../src/opts', | 24 '../src/opts', |
| 25 '../src/utils', | 25 '../src/utils', |
| 26 '../include/utils', | 26 '../include/utils', |
| 27 ], | 27 ], |
| 28 'conditions': [ | 28 'conditions': [ |
| 29 [ 'skia_arch_type == "x86" and skia_os != "ios"', { | 29 [ 'skia_arch_type == "x86" and skia_os != "ios"', { |
| 30 'cflags': [ '-msse2' ], | 30 'cflags': [ '-msse2' ], |
| 31 'dependencies': [ 'opts_ssse3', 'opts_sse41' ], | 31 'dependencies': [ 'opts_ssse3', 'opts_sse41', 'opts_avx' ], |
| 32 'sources': [ '<@(sse2_sources)' ], | 32 'sources': [ '<@(sse2_sources)' ], |
| 33 }], | 33 }], |
| 34 | 34 |
| 35 [ 'skia_arch_type == "mips"', { | 35 [ 'skia_arch_type == "mips"', { |
| 36 'conditions': [ | 36 'conditions': [ |
| 37 [ '(mips_arch_variant == "mips32r2") and (mips_dsp == 1 or mips_dsp
== 2)', { | 37 [ '(mips_arch_variant == "mips32r2") and (mips_dsp == 1 or mips_dsp
== 2)', { |
| 38 'sources': [ '<@(mips_dsp_sources)' ], | 38 'sources': [ '<@(mips_dsp_sources)' ], |
| 39 },{ | 39 },{ |
| 40 'sources': [ '<@(none_sources)' ], | 40 'sources': [ '<@(none_sources)' ], |
| 41 }], | 41 }], |
| 42 ] | 42 ] |
| 43 }], | 43 }], |
| 44 | 44 |
| 45 [ '(skia_arch_type == "arm" and arm_version < 7) \ | 45 [ '(skia_arch_type == "arm" and arm_version < 7) \ |
| 46 or (skia_os == "ios") \ | 46 or (skia_os == "ios") \ |
| 47 or (skia_os == "android" and skia_arch_type not in ["x86", "arm", "m
ips", "arm64"])', { | 47 or (skia_os == "android" and skia_arch_type not in ["x86", "arm", "m
ips", "arm64"])', { |
| 48 'sources': [ '<@(none_sources)' ], | 48 'sources': [ '<@(none_sources)' ], |
| 49 }], | 49 }], |
| 50 | 50 |
| 51 [ 'skia_arch_type == "arm" and arm_version >= 7', { | 51 [ 'skia_arch_type == "arm" and arm_version >= 7', { |
| 52 # The assembly uses the frame pointer register (r7 in Thumb/r11 in | 52 # The assembly uses the frame pointer register (r7 in Thumb/r11 in |
| 53 # ARM), the compiler doesn't like that. | 53 # ARM), the compiler doesn't like that. |
| 54 'cflags!': [ '-fno-omit-frame-pointer', '-mapcs-frame', '-mapcs' ], | 54 'cflags!': [ '-fno-omit-frame-pointer', '-mapcs-frame', '-mapcs' ], |
| 55 'cflags': [ '-fomit-frame-pointer' ], | 55 'cflags': [ '-fomit-frame-pointer' ], |
| 56 'variables': { 'arm_neon_optional%': '<(arm_neon_optional>' }, | 56 'variables': { 'arm_neon_optional%': '<(arm_neon_optional>' }, |
| 57 'sources': [ '<@(armv7_sources)' ], | 57 'sources': [ '<@(armv7_sources)' ], |
| 58 'dependencies': [ 'opts_neon_fp16' ], |
| 58 'conditions': [ | 59 'conditions': [ |
| 59 [ 'arm_neon == 1 or arm_neon_optional == 1', { | 60 [ 'arm_neon == 1 or arm_neon_optional == 1', { |
| 60 'dependencies': [ 'opts_neon' ] | 61 'dependencies': [ 'opts_neon' ] |
| 61 }], | 62 }], |
| 62 [ 'skia_os == "ios"', { | 63 [ 'skia_os == "ios"', { |
| 63 'sources!': [ | 64 'sources!': [ |
| 64 # these fail to compile under xcode for ios | 65 # these fail to compile under xcode for ios |
| 65 '../src/opts/memset.arm.S', | 66 '../src/opts/memset.arm.S', |
| 66 '../src/opts/SkBitmapProcState_opts_arm.cpp', | 67 '../src/opts/SkBitmapProcState_opts_arm.cpp', |
| 67 '../src/opts/SkBlitRow_opts_arm.cpp', | 68 '../src/opts/SkBlitRow_opts_arm.cpp', |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 }], | 114 }], |
| 114 [ 'not skia_android_framework', { | 115 [ 'not skia_android_framework', { |
| 115 'cflags': [ '-msse4.1' ], | 116 'cflags': [ '-msse4.1' ], |
| 116 }], | 117 }], |
| 117 [ 'skia_os == "mac"', { | 118 [ 'skia_os == "mac"', { |
| 118 'xcode_settings': { 'GCC_ENABLE_SSE41_EXTENSIONS': 'YES' }, | 119 'xcode_settings': { 'GCC_ENABLE_SSE41_EXTENSIONS': 'YES' }, |
| 119 }], | 120 }], |
| 120 ], | 121 ], |
| 121 }, | 122 }, |
| 122 { | 123 { |
| 124 'target_name': 'opts_avx', |
| 125 'product_name': 'skia_opts_avx', |
| 126 'type': 'static_library', |
| 127 'standalone_static_library': 1, |
| 128 'dependencies': [ 'core.gyp:*' ], |
| 129 'sources': [ '<@(avx_sources)' ], |
| 130 'conditions': [ |
| 131 [ 'skia_os == "win"', { |
| 132 'defines' : [ 'SK_CPU_SSE_LEVEL=50' ], |
| 133 'msvs_settings': { 'VCCLCompilerTool': { 'EnabledEnhancedInstruction
Set': '3' } }, |
| 134 }], |
| 135 [ 'not skia_android_framework', { |
| 136 'cflags': [ '-mavx' ], |
| 137 }], |
| 138 [ 'skia_os == "mac"', { |
| 139 'xcode_settings': { 'OTHER_CPLUSPLUSFLAGS': [ '-mavx' ] }, |
| 140 }], |
| 141 ], |
| 142 }, |
| 143 { |
| 123 'target_name': 'opts_neon', | 144 'target_name': 'opts_neon', |
| 124 'product_name': 'skia_opts_neon', | 145 'product_name': 'skia_opts_neon', |
| 125 'type': 'static_library', | 146 'type': 'static_library', |
| 126 'standalone_static_library': 1, | 147 'standalone_static_library': 1, |
| 127 'dependencies': [ | 148 'dependencies': [ |
| 128 'core.gyp:*', | 149 'core.gyp:*', |
| 129 'effects.gyp:*' | 150 'effects.gyp:*' |
| 130 ], | 151 ], |
| 131 'include_dirs': [ | 152 'include_dirs': [ |
| 132 '../src/core', | 153 '../src/core', |
| (...skipping 13 matching lines...) Expand all Loading... |
| 146 '-mfpu=neon', | 167 '-mfpu=neon', |
| 147 '-fomit-frame-pointer', | 168 '-fomit-frame-pointer', |
| 148 ], | 169 ], |
| 149 }], | 170 }], |
| 150 ], | 171 ], |
| 151 'ldflags': [ | 172 'ldflags': [ |
| 152 '-march=armv7-a', | 173 '-march=armv7-a', |
| 153 '-Wl,--fix-cortex-a8', | 174 '-Wl,--fix-cortex-a8', |
| 154 ], | 175 ], |
| 155 }, | 176 }, |
| 177 { |
| 178 'target_name': 'opts_neon_fp16', |
| 179 'product_name': 'skia_opts_neon_fp16', |
| 180 'type': 'static_library', |
| 181 'standalone_static_library': 1, |
| 182 'dependencies': [ 'core.gyp:*' ], |
| 183 'include_dirs': [ '../src/core' ], |
| 184 'sources': [ '<@(neon_fp16_sources)' ], |
| 185 'conditions': [ |
| 186 [ 'not skia_android_framework', { |
| 187 'cflags': [ |
| 188 '-mfpu=neon-fp16', |
| 189 '-mfp16-format=ieee', |
| 190 '-fomit-frame-pointer', |
| 191 ], |
| 192 }], |
| 193 ], |
| 194 'ldflags': [ |
| 195 '-march=armv7-a', |
| 196 '-Wl,--fix-cortex-a8', |
| 197 ], |
| 198 }, |
| 156 ], | 199 ], |
| 157 } | 200 } |
| OLD | NEW |