| 
									
										
										
										
											2017-11-16 01:33:48 +01:00
										 |  |  | #!/usr/bin/env python | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | Import("env") | 
					
						
							| 
									
										
										
										
											2019-07-22 13:57:39 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | env.platform_sources = [] | 
					
						
							| 
									
										
										
										
											2017-11-16 01:33:48 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Register platform-exclusive APIs | 
					
						
							|  |  |  | reg_apis_inc = '#include "register_platform_apis.h"\n' | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | reg_apis = "void register_platform_apis() {\n" | 
					
						
							|  |  |  | unreg_apis = "void unregister_platform_apis() {\n" | 
					
						
							| 
									
										
										
										
											2017-11-16 01:33:48 +01:00
										 |  |  | for platform in env.platform_apis: | 
					
						
							|  |  |  |     platform_dir = env.Dir(platform) | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  |     env.add_source_files(env.platform_sources, platform + "/api/api.cpp") | 
					
						
							|  |  |  |     reg_apis += "\tregister_" + platform + "_api();\n" | 
					
						
							|  |  |  |     unreg_apis += "\tunregister_" + platform + "_api();\n" | 
					
						
							| 
									
										
										
										
											2017-11-16 01:33:48 +01:00
										 |  |  |     reg_apis_inc += '#include "' + platform + '/api/api.h"\n' | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | reg_apis_inc += "\n" | 
					
						
							|  |  |  | reg_apis += "}\n\n" | 
					
						
							|  |  |  | unreg_apis += "}\n" | 
					
						
							| 
									
										
										
										
											2018-03-17 23:23:55 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # NOTE: It is safe to generate this file here, since this is still execute serially | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | with open("register_platform_apis.gen.cpp", "w", encoding="utf-8") as f: | 
					
						
							| 
									
										
										
										
											2018-03-17 23:23:55 +01:00
										 |  |  |     f.write(reg_apis_inc) | 
					
						
							|  |  |  |     f.write(reg_apis) | 
					
						
							|  |  |  |     f.write(unreg_apis) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | env.add_source_files(env.platform_sources, "register_platform_apis.gen.cpp") | 
					
						
							| 
									
										
										
										
											2017-11-16 01:33:48 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | lib = env.add_library("platform", env.platform_sources) | 
					
						
							| 
									
										
										
										
											2019-08-12 22:30:57 +02:00
										 |  |  | env.Prepend(LIBS=[lib]) |