| 
									
										
										
										
											1996-05-28 22:30:17 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-18 16:49:12 -08:00
										 |  |  | /* Frozen modules initializer */ | 
					
						
							| 
									
										
										
										
											1996-05-28 22:30:17 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include "Python.h"
 | 
					
						
							| 
									
										
										
										
											2012-04-14 14:10:13 -04:00
										 |  |  | #include "importlib.h"
 | 
					
						
							| 
									
										
										
										
											2015-05-02 19:15:18 -06:00
										 |  |  | #include "importlib_external.h"
 | 
					
						
							| 
									
										
										
										
											2018-09-18 22:22:29 +03:00
										 |  |  | #include "importlib_zipimport.h"
 | 
					
						
							| 
									
										
										
										
											1996-05-28 22:30:17 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1995-08-04 04:20:48 +00:00
										 |  |  | /* In order to test the support for frozen modules, by default we
 | 
					
						
							|  |  |  |    define a single frozen module, __hello__.  Loading it will print | 
					
						
							|  |  |  |    some famous words... */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-18 16:49:12 -08:00
										 |  |  | /* Run "make regen-frozen" to regen the file below (e.g. after a bytecode
 | 
					
						
							| 
									
										
										
										
											2021-03-06 13:34:03 -08:00
										 |  |  |  * format change).  The include file defines _Py_M__hello as an array of bytes. | 
					
						
							| 
									
										
										
										
											2021-02-18 16:49:12 -08:00
										 |  |  |  */ | 
					
						
							|  |  |  | #include "frozen_hello.h"
 | 
					
						
							| 
									
										
										
										
											1995-08-04 04:20:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-06 13:34:03 -08:00
										 |  |  | #define SIZE (int)sizeof(_Py_M__hello)
 | 
					
						
							| 
									
										
										
										
											2001-10-18 18:49:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-13 14:06:39 -05:00
										 |  |  | static const struct _frozen _PyImport_FrozenModules[] = { | 
					
						
							| 
									
										
										
										
											2012-04-14 14:10:13 -04:00
										 |  |  |     /* importlib */ | 
					
						
							| 
									
										
										
										
											2018-09-18 22:22:29 +03:00
										 |  |  |     {"_frozen_importlib", _Py_M__importlib_bootstrap, | 
					
						
							|  |  |  |         (int)sizeof(_Py_M__importlib_bootstrap)}, | 
					
						
							|  |  |  |     {"_frozen_importlib_external", _Py_M__importlib_bootstrap_external, | 
					
						
							|  |  |  |         (int)sizeof(_Py_M__importlib_bootstrap_external)}, | 
					
						
							|  |  |  |     {"zipimport", _Py_M__zipimport, | 
					
						
							|  |  |  |         (int)sizeof(_Py_M__zipimport)}, | 
					
						
							| 
									
										
										
										
											2010-05-09 16:14:21 +00:00
										 |  |  |     /* Test module */ | 
					
						
							| 
									
										
										
										
											2021-03-06 13:34:03 -08:00
										 |  |  |     {"__hello__", _Py_M__hello, SIZE}, | 
					
						
							| 
									
										
										
										
											2010-05-09 16:14:21 +00:00
										 |  |  |     /* Test package (negative size indicates package-ness) */ | 
					
						
							| 
									
										
										
										
											2021-03-06 13:34:03 -08:00
										 |  |  |     {"__phello__", _Py_M__hello, -SIZE}, | 
					
						
							|  |  |  |     {"__phello__.spam", _Py_M__hello, SIZE}, | 
					
						
							| 
									
										
										
										
											2010-05-09 16:14:21 +00:00
										 |  |  |     {0, 0, 0} /* sentinel */ | 
					
						
							| 
									
										
										
										
											1995-08-04 04:20:48 +00:00
										 |  |  | }; | 
					
						
							| 
									
										
										
										
											1996-06-17 17:07:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* Embedding apps may change this pointer to point to their favorite
 | 
					
						
							|  |  |  |    collection of frozen modules: */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-13 14:06:39 -05:00
										 |  |  | const struct _frozen *PyImport_FrozenModules = _PyImport_FrozenModules; |