Index: ui/ozone/ozone.gyp |
diff --git a/ui/ozone/ozone.gyp b/ui/ozone/ozone.gyp |
index 32008b73cf6c7891268f8aae96a20284efe89227..ee5db69d8983d0e462b73d85e77f772ff7a59e3c 100644 |
--- a/ui/ozone/ozone.gyp |
+++ b/ui/ozone/ozone.gyp |
@@ -5,6 +5,7 @@ |
{ |
'variables': { |
'chromium_code': 1, |
+ 'external_ozone_platforms': [], |
'external_ozone_platform_files': [], |
'external_ozone_platform_deps': [], |
}, |
@@ -22,7 +23,14 @@ |
'defines': [ |
'OZONE_IMPLEMENTATION', |
], |
+ 'variables': { |
+ 'platform_list_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/ozone_platform_list.cc', |
+ 'ozone_platforms': [ |
+ '<@(external_ozone_platforms)', |
+ ], |
+ }, |
'sources': [ |
+ '<(platform_list_file)', |
'ozone_platform.cc', |
'ozone_platform.h', |
'ozone_switches.cc', |
@@ -33,13 +41,46 @@ |
'platform/test/ozone_platform_test.h', |
'<@(external_ozone_platform_files)', |
], |
+ 'actions': [ |
+ { |
+ 'action_name': 'generate_ozone_platform_list', |
+ 'variables': { |
+ 'generator_path': 'generate_ozone_platform_list.py', |
+ }, |
+ 'inputs': [ |
+ '<(generator_path)', |
+ ], |
+ 'outputs': [ |
+ '<(platform_list_file)', |
+ ], |
+ 'action': [ |
+ 'python', |
+ '<(generator_path)', |
+ '--output_file=<(platform_list_file)', |
+ '--default=<(ozone_platform)', |
+ '<@(ozone_platforms)', |
+ ], |
+ }, |
+ ], |
'conditions': [ |
- ['ozone_platform != "dri"', { |
+ ['<(ozone_platform_dri)==1', { |
+ 'variables': { |
+ 'ozone_platforms': [ |
+ 'dri' |
+ ] |
+ } |
+ }, { # ozone_platform_dri==0 |
'sources/': [ |
['exclude', '^platform/dri/'], |
] |
}], |
- ['ozone_platform != "test"', { |
+ ['<(ozone_platform_test)==1', { |
+ 'variables': { |
+ 'ozone_platforms': [ |
+ 'test' |
+ ], |
+ } |
+ }, { # ozone_platform_test==0 |
'sources/': [ |
['exclude', '^platform/test/'], |
] |