Index: ui/ozone/ozone.gyp |
diff --git a/ui/ozone/ozone.gyp b/ui/ozone/ozone.gyp |
index 3bd833f9d25aec21b61a5c0d148d8cf091dd25d8..0eafee131d5ceeda9e4d6222ff56b4290b586e70 100644 |
--- a/ui/ozone/ozone.gyp |
+++ b/ui/ozone/ozone.gyp |
@@ -32,14 +32,23 @@ |
'OZONE_IMPLEMENTATION', |
], |
'variables': { |
- 'platform_list_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/ozone_platform_list.cc', |
+ 'platform_list_cc_file': '<(INTERMEDIATE_DIR)/ui/ozone/platform_list.cc', |
+ 'platform_list_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/platform_list.h', |
+ 'platform_list_txt_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/platform_list.txt', |
+ 'constructor_list_cc_file': '<(INTERMEDIATE_DIR)/ui/ozone/constructor_list.cc', |
'ozone_platforms': [ |
'<@(external_ozone_platforms)', |
'<@(internal_ozone_platforms)', |
], |
}, |
+ 'include_dirs': [ |
+ '<(SHARED_INTERMEDIATE_DIR)', |
+ ], |
'sources': [ |
- '<(platform_list_file)', |
+ '<(platform_list_cc_file)', |
+ '<(platform_list_h_file)', |
+ '<(constructor_list_cc_file)', |
+ |
# common/chromeos files are excluded automatically when building with |
# chromeos=0, by exclusion rules in filename_rules.gypi due to the |
# 'chromeos' folder name. |
@@ -51,6 +60,8 @@ |
'ozone_platform.h', |
'ozone_switches.cc', |
'ozone_switches.h', |
+ 'platform_selection.cc', |
+ 'platform_selection.h', |
'<@(external_ozone_platform_files)', |
], |
'actions': [ |
@@ -63,16 +74,42 @@ |
'<(generator_path)', |
], |
'outputs': [ |
- '<(platform_list_file)', |
+ '<(platform_list_cc_file)', |
+ '<(platform_list_h_file)', |
+ '<(platform_list_txt_file)', |
], |
'action': [ |
'python', |
'<(generator_path)', |
- '--output_file=<(platform_list_file)', |
+ '--output_cc=<(platform_list_cc_file)', |
+ '--output_h=<(platform_list_h_file)', |
+ '--output_txt=<(platform_list_txt_file)', |
'--default=<(ozone_platform)', |
'<@(ozone_platforms)', |
], |
}, |
+ { |
+ 'action_name': 'generate_constructor_list', |
+ 'variables': { |
+ 'generator_path': 'generate_constructor_list.py', |
+ }, |
+ 'inputs': [ |
+ '<(generator_path)', |
+ '<(platform_list_txt_file)', |
+ ], |
+ 'outputs': [ |
+ '<(constructor_list_cc_file)', |
+ ], |
+ 'action': [ |
+ 'python', |
+ '<(generator_path)', |
+ '--platform_list=<(platform_list_txt_file)', |
+ '--output_cc=<(constructor_list_cc_file)', |
+ '--namespace=ui', |
+ '--typename=OzonePlatform', |
+ '--include="ui/ozone/ozone_platform.h"' |
+ ], |
+ }, |
], |
'conditions': [ |
['use_udev == 0', { |