From 4ebb4f136e3e5040351b4e29ca79fe1153ce606d Mon Sep 17 00:00:00 2001 From: "evan@chromium.org" Date: Thu, 26 Nov 2009 00:15:50 +0000 Subject: Refactor OS-dependent filename exclusion patterns Rather than duplicate logic in the tree, merge all of the shared rules about patterns in filenames into one common set. The pattern is: "if (OS != x): exclude x's files." This is especially needed for upcoming changes that bring in a few more platform-specific (FreeBSD, OpenBSD, Solaris(?)) files. Review URL: http://codereview.chromium.org/443011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33160 0039d316-1c4b-4281-b951-d872f2087c98 --- build/common.gypi | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'build') diff --git a/build/common.gypi b/build/common.gypi index e6906fc..41dd4a4 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -908,7 +908,7 @@ }, }], ['chromium_code==0', { - # This section must follow the other conditon sections above because + # This section must follow the other condition sections above because # external_code.gypi expects to be merged into those settings. 'includes': [ 'external_code.gypi', @@ -920,6 +920,38 @@ 'defines': [ '__STDC_FORMAT_MACROS', ], + 'conditions': [ + ['OS!="win"', { + 'sources/': [ ['exclude', '_win\\.cc$'], + ['exclude', '/win/'], + ['exclude', '/win_[^/]*\\.cc$'] ], + }], + ['OS!="mac"', { + 'sources/': [ ['exclude', '_(cocoa|mac)(_unittest)?\\.cc$'], + ['exclude', '\.mm$' ] ], + }], + ['OS!="linux"', { + 'sources/': [ + ['exclude', '_(chromeos|gtk|linux|x|x11)(_unittest)?\\.cc$'], + ['exclude', '/gtk/'], + ['exclude', '/(gtk|x11)_[^/]*\\.cc$'] ], + }], + # We use "POSIX" to refer to all non-Windows operating systems. + ['OS=="win"', { + 'sources/': [ ['exclude', '_posix\\.cc$'] ], + }], + # Though Skia is conceptually shared by Linux and Windows, + # the only _skia files in our tree are Linux-specific. + ['OS!="linux"', { + 'sources/': [ ['exclude', '_skia\\.cc$'] ], + }], + ['chromeos!=1', { + 'sources/': [ ['exclude', '_chromeos\\.cc$'] ] + }], + ['OS!="win" and toolkit_views!=1', { + 'sources/': [ ['exclude', '_views\\.cc$'] ] + }], + ], }, }], ['disable_nacl==1', { -- cgit v1.1