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

Side by Side Diff: build/common.gypi

Issue 491053: Changes to build/ from a combination of FreeBSD and OpenBSD patches. (Closed)
Patch Set: Created 11 years 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
« no previous file with comments | « build/build_config.h ('k') | build/external_code.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
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:
OLDNEW
« no previous file with comments | « build/build_config.h ('k') | build/external_code.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698