OLD | NEW |
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # IMPORTANT: | 5 # IMPORTANT: |
6 # Please don't directly include this file if you are building via gyp_chromium, | 6 # Please don't directly include this file if you are building via gyp_chromium, |
7 # since gyp_chromium is automatically forcing its inclusion. | 7 # since gyp_chromium is automatically forcing its inclusion. |
8 { | 8 { |
9 'variables': { | 9 'variables': { |
10 # .gyp files should set chromium_code to 1 if they build Chromium-specific | 10 # .gyp files should set chromium_code to 1 if they build Chromium-specific |
(...skipping 20 matching lines...) Expand all Loading... |
31 # TODO(mmoss) Once 'buildtype' is fully supported (e.g. Windows gyp | 31 # TODO(mmoss) Once 'buildtype' is fully supported (e.g. Windows gyp |
32 # conversion is done), some of the things which are now controlled by | 32 # conversion is done), some of the things which are now controlled by |
33 # 'branding', such as symbol generation, will need to be refactored based | 33 # 'branding', such as symbol generation, will need to be refactored based |
34 # on 'buildtype' (i.e. we don't care about saving symbols for non-Official | 34 # on 'buildtype' (i.e. we don't care about saving symbols for non-Official |
35 # builds). | 35 # builds). |
36 'buildtype%': 'Dev', | 36 'buildtype%': 'Dev', |
37 | 37 |
38 # Compute the architecture that we're building for. Default to the | 38 # Compute the architecture that we're building for. Default to the |
39 # architecture that we're building on. | 39 # architecture that we're building on. |
40 'conditions': [ | 40 'conditions': [ |
41 [ 'OS=="linux"', { | 41 [ 'OS=="linux" or OS=="freebsd"', { |
42 # This handles the Linux platforms we generally deal with. Anything | 42 # This handles the Linux platforms we generally deal with. Anything |
43 # else gets passed through, which probably won't work very well; such | 43 # else gets passed through, which probably won't work very well; such |
44 # hosts should pass an explicit target_arch to gyp. | 44 # hosts should pass an explicit target_arch to gyp. |
45 'target_arch%': | 45 'target_arch%': |
46 '<!(uname -m | sed -e "s/i.86/ia32/;s/x86_64/x64/;s/arm.*/arm/")', | 46 '<!(uname -m | sed -e "s/i.86/ia32/;s/x86_64/x64/;s/amd64/x64/;s/arm
.*/arm/")', |
47 }, { # OS!="linux" | 47 }, { # OS!="linux" |
48 'target_arch%': 'ia32', | 48 'target_arch%': 'ia32', |
49 }], | 49 }], |
50 ], | 50 ], |
51 | 51 |
52 # We do want to build Chromium with Breakpad support in certain | 52 # We do want to build Chromium with Breakpad support in certain |
53 # situations. I.e. for Chrome bot. | 53 # situations. I.e. for Chrome bot. |
54 'linux_chromium_breakpad%': 0, | 54 'linux_chromium_breakpad%': 0, |
55 # And if we want to dump symbols. | 55 # And if we want to dump symbols. |
56 'linux_chromium_dump_symbols%': 0, | 56 'linux_chromium_dump_symbols%': 0, |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 # isn't supported | 196 # isn't supported |
197 'disable_nacl%': 0, | 197 'disable_nacl%': 0, |
198 | 198 |
199 # Set ARM-v7 compilation flags | 199 # Set ARM-v7 compilation flags |
200 'armv7%': 0, | 200 'armv7%': 0, |
201 | 201 |
202 # Set Thumb compilation flags. | 202 # Set Thumb compilation flags. |
203 'arm_thumb%': 0, | 203 'arm_thumb%': 0, |
204 | 204 |
205 'conditions': [ | 205 'conditions': [ |
206 ['OS=="linux"', { | 206 ['OS=="linux" or OS=="freebsd"', { |
207 # This will set gcc_version to XY if you are running gcc X.Y.*. | 207 # This will set gcc_version to XY if you are running gcc X.Y.*. |
208 # This is used to tweak build flags for gcc 4.4. | 208 # This is used to tweak build flags for gcc 4.4. |
209 'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)', | 209 'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)', |
210 'conditions': [ | 210 'conditions': [ |
211 ['branding=="Chrome" or linux_chromium_breakpad==1', { | 211 ['branding=="Chrome" or linux_chromium_breakpad==1', { |
212 'linux_breakpad%': 1, | 212 'linux_breakpad%': 1, |
213 }, { | 213 }, { |
214 'linux_breakpad%': 0, | 214 'linux_breakpad%': 0, |
215 }], | 215 }], |
216 # All Chrome builds have breakpad symbols, but only process the | 216 # All Chrome builds have breakpad symbols, but only process the |
217 # symbols from official builds. | 217 # symbols from official builds. |
218 # TODO(mmoss) dump_syms segfaults on x64. Enable once dump_syms and | 218 # TODO(mmoss) dump_syms segfaults on x64. Enable once dump_syms and |
219 # crash server handle 64-bit symbols. | 219 # crash server handle 64-bit symbols. |
220 ['linux_chromium_dump_symbols==1 or ' | 220 ['linux_chromium_dump_symbols==1 or ' |
221 '(branding=="Chrome" and buildtype=="Official" and ' | 221 '(branding=="Chrome" and buildtype=="Official" and ' |
222 'target_arch=="ia32")', { | 222 'target_arch=="ia32")', { |
223 'linux_dump_symbols%': 1, | 223 'linux_dump_symbols%': 1, |
224 }, { | 224 }, { |
225 'linux_dump_symbols%': 0, | 225 'linux_dump_symbols%': 0, |
226 }], | 226 }], |
227 ['toolkit_views==0', { | 227 ['toolkit_views==0', { |
228 # GTK wants Title Case strings | 228 # GTK wants Title Case strings |
229 'use_titlecase_in_grd_files%': 1, | 229 'use_titlecase_in_grd_files%': 1, |
230 }], | 230 }], |
231 ], | 231 ], |
232 }], # OS=="linux" | 232 }], # OS=="linux" or OS=="freebsd" |
233 ['OS=="mac"', { | 233 ['OS=="mac"', { |
234 # Mac wants Title Case strings | 234 # Mac wants Title Case strings |
235 'use_titlecase_in_grd_files%': 1, | 235 'use_titlecase_in_grd_files%': 1, |
236 'conditions': [ | 236 'conditions': [ |
237 # mac_product_name is set to the name of the .app bundle as it should | 237 # mac_product_name is set to the name of the .app bundle as it should |
238 # appear on disk. This duplicates data from | 238 # appear on disk. This duplicates data from |
239 # chrome/app/theme/chromium/BRANDING and | 239 # chrome/app/theme/chromium/BRANDING and |
240 # chrome/app/theme/google_chrome/BRANDING, but is necessary to get | 240 # chrome/app/theme/google_chrome/BRANDING, but is necessary to get |
241 # these names into the build system. | 241 # these names into the build system. |
242 ['branding=="Chrome"', { | 242 ['branding=="Chrome"', { |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
524 'inherit_from': ['Release', 'Common_x64'], | 524 'inherit_from': ['Release', 'Common_x64'], |
525 }, | 525 }, |
526 'Purify_x64': { | 526 'Purify_x64': { |
527 'inherit_from': ['Purify', 'Common_x64'], | 527 'inherit_from': ['Purify', 'Common_x64'], |
528 }, | 528 }, |
529 }], | 529 }], |
530 ], | 530 ], |
531 }, | 531 }, |
532 }, | 532 }, |
533 'conditions': [ | 533 'conditions': [ |
534 ['OS=="linux"', { | 534 ['OS=="linux" or OS=="freebsd"', { |
535 'target_defaults': { | 535 'target_defaults': { |
536 # Enable -Werror by default, but put it in a variable so it can | 536 # Enable -Werror by default, but put it in a variable so it can |
537 # be disabled in ~/.gyp/include.gypi on the valgrind builders. | 537 # be disabled in ~/.gyp/include.gypi on the valgrind builders. |
538 'variables': { | 538 'variables': { |
539 'werror%': '-Werror', | 539 'werror%': '-Werror', |
540 'no_strict_aliasing%': 0, | 540 'no_strict_aliasing%': 0, |
541 }, | 541 }, |
542 'cflags': [ | 542 'cflags': [ |
543 '<(werror)', # See note above about the werror variable. | 543 '<(werror)', # See note above about the werror variable. |
544 '-pthread', | 544 '-pthread', |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
790 'cflags': ['-fPIC'] | 790 'cflags': ['-fPIC'] |
791 }] | 791 }] |
792 ], | 792 ], |
793 }], | 793 }], |
794 ['linux_use_tcmalloc==1', { | 794 ['linux_use_tcmalloc==1', { |
795 'defines': ['LINUX_USE_TCMALLOC'], | 795 'defines': ['LINUX_USE_TCMALLOC'], |
796 }], | 796 }], |
797 ], | 797 ], |
798 }, | 798 }, |
799 }], | 799 }], |
| 800 # FreeBSD-specific options; note that most FreeBSD options are set above, |
| 801 # with Linux. |
| 802 ['OS=="freebsd"', { |
| 803 'target_defaults': { |
| 804 'ldflags': [ |
| 805 '-Wl,--no-keep-memory', |
| 806 ], |
| 807 }, |
| 808 }], |
800 ['OS=="mac"', { | 809 ['OS=="mac"', { |
801 'target_defaults': { | 810 'target_defaults': { |
802 'variables': { | 811 'variables': { |
803 # This should be 'mac_real_dsym%', but there seems to be a bug | 812 # This should be 'mac_real_dsym%', but there seems to be a bug |
804 # with % in variables that are intended to be set to different | 813 # with % in variables that are intended to be set to different |
805 # values in different targets, like this one. | 814 # values in different targets, like this one. |
806 'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases. | 815 'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases. |
807 }, | 816 }, |
808 'mac_bundle': 0, | 817 'mac_bundle': 0, |
809 'xcode_settings': { | 818 'xcode_settings': { |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
988 ['OS!="win"', { | 997 ['OS!="win"', { |
989 'sources/': [ ['exclude', '_win\\.cc$'], | 998 'sources/': [ ['exclude', '_win\\.cc$'], |
990 ['exclude', '/win/'], | 999 ['exclude', '/win/'], |
991 ['exclude', '/win_[^/]*\\.cc$'] ], | 1000 ['exclude', '/win_[^/]*\\.cc$'] ], |
992 }], | 1001 }], |
993 ['OS!="mac"', { | 1002 ['OS!="mac"', { |
994 'sources/': [ ['exclude', '_(cocoa|mac)(_unittest)?\\.cc$'], | 1003 'sources/': [ ['exclude', '_(cocoa|mac)(_unittest)?\\.cc$'], |
995 ['exclude', '/(cocoa|mac)/'], | 1004 ['exclude', '/(cocoa|mac)/'], |
996 ['exclude', '\.mm$' ] ], | 1005 ['exclude', '\.mm$' ] ], |
997 }], | 1006 }], |
998 ['OS!="linux"', { | 1007 ['OS!="linux" and OS!="freebsd"', { |
999 'sources/': [ | 1008 'sources/': [ |
1000 ['exclude', '_(chromeos|gtk|linux|x|x11)(_unittest)?\\.cc$'], | 1009 ['exclude', '_(chromeos|gtk|linux|x|x11)(_unittest)?\\.cc$'], |
1001 ['exclude', '/gtk/'], | 1010 ['exclude', '/gtk/'], |
1002 ['exclude', '/(gtk|x11)_[^/]*\\.cc$'] ], | 1011 ['exclude', '/(gtk|x11)_[^/]*\\.cc$'] ], |
1003 }], | 1012 }], |
1004 # We use "POSIX" to refer to all non-Windows operating systems. | 1013 # We use "POSIX" to refer to all non-Windows operating systems. |
1005 ['OS=="win"', { | 1014 ['OS=="win"', { |
1006 'sources/': [ ['exclude', '_posix\\.cc$'] ], | 1015 'sources/': [ ['exclude', '_posix\\.cc$'] ], |
1007 }], | 1016 }], |
1008 # Though Skia is conceptually shared by Linux and Windows, | 1017 # Though Skia is conceptually shared by Linux and Windows, |
1009 # the only _skia files in our tree are Linux-specific. | 1018 # the only _skia files in our tree are Linux-specific. |
1010 ['OS!="linux"', { | 1019 ['OS!="linux" and OS!="freebsd"', { |
1011 'sources/': [ ['exclude', '_skia\\.cc$'] ], | 1020 'sources/': [ ['exclude', '_skia\\.cc$'] ], |
1012 }], | 1021 }], |
1013 ['chromeos!=1', { | 1022 ['chromeos!=1', { |
1014 'sources/': [ ['exclude', '_chromeos\\.cc$'] ] | 1023 'sources/': [ ['exclude', '_chromeos\\.cc$'] ] |
1015 }], | 1024 }], |
1016 ['OS!="win" and toolkit_views!=1', { | 1025 ['OS!="win" and toolkit_views!=1', { |
1017 'sources/': [ ['exclude', '_views\\.cc$'] ] | 1026 'sources/': [ ['exclude', '_views\\.cc$'] ] |
1018 }], | 1027 }], |
1019 ], | 1028 ], |
1020 }, | 1029 }, |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1088 # and therefore SYMROOT, needs to be set at the project level. | 1097 # and therefore SYMROOT, needs to be set at the project level. |
1089 'SYMROOT': '<(DEPTH)/xcodebuild', | 1098 'SYMROOT': '<(DEPTH)/xcodebuild', |
1090 }, | 1099 }, |
1091 } | 1100 } |
1092 | 1101 |
1093 # Local Variables: | 1102 # Local Variables: |
1094 # tab-width:2 | 1103 # tab-width:2 |
1095 # indent-tabs-mode:nil | 1104 # indent-tabs-mode:nil |
1096 # End: | 1105 # End: |
1097 # vim: set expandtab tabstop=2 shiftwidth=2: | 1106 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |