Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Side by Side Diff: gyp/opts.gyp

Issue 135013004: Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effect… (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Fix android build Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | include/effects/SkMorphologyImageFilter.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 { 1 {
2 'targets': [ 2 'targets': [
3 # Due to an unfortunate intersection of lameness between gcc and gyp, 3 # Due to an unfortunate intersection of lameness between gcc and gyp,
4 # we have to build the *_SSE2.cpp files in a separate target. The 4 # we have to build the *_SSE2.cpp files in a separate target. The
5 # gcc lameness is that, in order to compile SSE2 intrinsics code, it 5 # gcc lameness is that, in order to compile SSE2 intrinsics code, it
6 # must be passed the -msse2 flag. However, with this flag, it may 6 # must be passed the -msse2 flag. However, with this flag, it may
7 # emit SSE2 instructions even for scalar code, such as the CPUID 7 # emit SSE2 instructions even for scalar code, such as the CPUID
8 # test used to test for the presence of SSE2. So that, and all other 8 # test used to test for the presence of SSE2. So that, and all other
9 # code must be compiled *without* -msse2. The gyp lameness is that it 9 # code must be compiled *without* -msse2. The gyp lameness is that it
10 # does not allow file-specific CFLAGS, so we must create this extra 10 # does not allow file-specific CFLAGS, so we must create this extra
11 # target for those files to be compiled with -msse2. 11 # target for those files to be compiled with -msse2.
12 # 12 #
13 # This is actually only a problem on 32-bit Linux (all Intel Macs have 13 # This is actually only a problem on 32-bit Linux (all Intel Macs have
14 # SSE2, Linux x86_64 has SSE2 by definition, and MSC will happily emit 14 # SSE2, Linux x86_64 has SSE2 by definition, and MSC will happily emit
15 # SSE2 from instrinsics, while generating plain ol' 386 for everything 15 # SSE2 from instrinsics, while generating plain ol' 386 for everything
16 # else). However, to keep the .gyp file simple and avoid platform-specific 16 # else). However, to keep the .gyp file simple and avoid platform-specific
17 # build breakage, we do this on all platforms. 17 # build breakage, we do this on all platforms.
18 18
19 # For about the same reason, we need to compile the ARM opts files 19 # For about the same reason, we need to compile the ARM opts files
20 # separately as well. 20 # separately as well.
21 { 21 {
22 'target_name': 'opts', 22 'target_name': 'opts',
23 'product_name': 'skia_opts', 23 'product_name': 'skia_opts',
24 'type': 'static_library', 24 'type': 'static_library',
25 'standalone_static_library': 1, 25 'standalone_static_library': 1,
26 'dependencies': [ 26 'dependencies': [
27 'core.gyp:*', 27 'core.gyp:*',
28 'effects.gyp:*'
28 ], 29 ],
29 'include_dirs': [ 30 'include_dirs': [
30 '../src/core', 31 '../src/core',
31 '../src/opts', 32 '../src/opts',
32 ], 33 ],
33 'conditions': [ 34 'conditions': [
34 [ 'skia_arch_type == "x86" and skia_os != "ios"', { 35 [ 'skia_arch_type == "x86" and skia_os != "ios"', {
35 'conditions': [ 36 'conditions': [
36 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "ch romeos", "android"]', { 37 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "ch romeos", "android"]', {
37 'cflags': [ 38 'cflags': [
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 # create another target specifically for SSSE3 code as we would not want 115 # create another target specifically for SSSE3 code as we would not want
115 # to compile the SSE2 code with -mssse3 which would potentially allow 116 # to compile the SSE2 code with -mssse3 which would potentially allow
116 # gcc to generate SSSE3 code. 117 # gcc to generate SSSE3 code.
117 { 118 {
118 'target_name': 'opts_ssse3', 119 'target_name': 'opts_ssse3',
119 'product_name': 'skia_opts_ssse3', 120 'product_name': 'skia_opts_ssse3',
120 'type': 'static_library', 121 'type': 'static_library',
121 'standalone_static_library': 1, 122 'standalone_static_library': 1,
122 'dependencies': [ 123 'dependencies': [
123 'core.gyp:*', 124 'core.gyp:*',
125 'effects.gyp:*'
124 ], 126 ],
125 'include_dirs': [ 127 'include_dirs': [
126 '../src/core', 128 '../src/core',
127 ], 129 ],
128 'conditions': [ 130 'conditions': [
129 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome os", "android"]', { 131 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome os", "android"]', {
130 'cflags': [ 132 'cflags': [
131 '-mssse3', 133 '-mssse3',
132 ], 134 ],
133 }], 135 }],
134 # (Mac has -mssse3 globally.) 136 # (Mac has -mssse3 globally.)
135 [ 'skia_arch_type == "x86"', { 137 [ 'skia_arch_type == "x86"', {
136 'sources': [ 138 'sources': [
137 '../src/opts/SkBitmapProcState_opts_SSSE3.cpp', 139 '../src/opts/SkBitmapProcState_opts_SSSE3.cpp',
138 ], 140 ],
139 }], 141 }],
140 ], 142 ],
141 }, 143 },
142 # NEON code must be compiled with -mfpu=neon which also affects scalar 144 # NEON code must be compiled with -mfpu=neon which also affects scalar
143 # code. To support dynamic NEON code paths, we need to build all 145 # code. To support dynamic NEON code paths, we need to build all
144 # NEON-specific sources in a separate static library. The situation 146 # NEON-specific sources in a separate static library. The situation
145 # is very similar to the SSSE3 one. 147 # is very similar to the SSSE3 one.
146 { 148 {
147 'target_name': 'opts_neon', 149 'target_name': 'opts_neon',
148 'product_name': 'skia_opts_neon', 150 'product_name': 'skia_opts_neon',
149 'type': 'static_library', 151 'type': 'static_library',
150 'standalone_static_library': 1, 152 'standalone_static_library': 1,
151 'dependencies': [ 153 'dependencies': [
152 'core.gyp:*', 154 'core.gyp:*',
155 'effects.gyp:*'
153 ], 156 ],
154 'include_dirs': [ 157 'include_dirs': [
155 '../src/core', 158 '../src/core',
156 '../src/opts', 159 '../src/opts',
157 ], 160 ],
158 'cflags!': [ 161 'cflags!': [
159 '-fno-omit-frame-pointer', 162 '-fno-omit-frame-pointer',
160 '-mfpu=vfp', # remove them all, just in case. 163 '-mfpu=vfp', # remove them all, just in case.
161 '-mfpu=vfpv3', 164 '-mfpu=vfpv3',
162 '-mfpu=vfpv3-d16', 165 '-mfpu=vfpv3-d16',
(...skipping 15 matching lines...) Expand all
178 '../src/opts/SkBitmapProcState_matrix_repeat_neon.h', 181 '../src/opts/SkBitmapProcState_matrix_repeat_neon.h',
179 '../src/opts/SkBlitMask_opts_arm_neon.cpp', 182 '../src/opts/SkBlitMask_opts_arm_neon.cpp',
180 '../src/opts/SkBlitRow_opts_arm_neon.cpp', 183 '../src/opts/SkBlitRow_opts_arm_neon.cpp',
181 '../src/opts/SkBlurImage_opts_neon.cpp', 184 '../src/opts/SkBlurImage_opts_neon.cpp',
182 '../src/opts/SkMorphology_opts_neon.cpp', 185 '../src/opts/SkMorphology_opts_neon.cpp',
183 '../src/opts/SkXfermode_opts_arm_neon.cpp', 186 '../src/opts/SkXfermode_opts_arm_neon.cpp',
184 ], 187 ],
185 }, 188 },
186 ], 189 ],
187 } 190 }
OLDNEW
« no previous file with comments | « no previous file | include/effects/SkMorphologyImageFilter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698