Index: ui/ozone/ozone.gyp |
diff --git a/ui/ozone/ozone.gyp b/ui/ozone/ozone.gyp |
index 3813b8d5c0cba6b15aadd1c332b5faf339f65e3f..0d17d4f14354018d77d17cd1fe7d65eac4d2f172 100644 |
--- a/ui/ozone/ozone.gyp |
+++ b/ui/ozone/ozone.gyp |
@@ -30,14 +30,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. |
@@ -47,6 +56,8 @@ |
'ozone_platform.h', |
'ozone_switches.cc', |
'ozone_switches.h', |
+ 'platform_selection.cc', |
+ 'platform_selection.h', |
'<@(external_ozone_platform_files)', |
], |
'actions': [ |
@@ -59,16 +70,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', { |