
/* Dummy frozen modules initializer */

#include "Python.h"

/* 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... */

/* To regenerate this data after the bytecode or marshal format has changed,
   go to ../Tools/freeze/ and freeze the flag.py file; then copy and paste
   the appropriate bytes from M___main__.c. */

static unsigned char M___hello__[] = {
    99,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
    0,64,0,0,0,115,10,0,0,0,100,1,0,90,1,0,
    100,0,0,83,40,2,0,0,0,78,84,40,2,0,0,0,
    117,4,0,0,0,84,114,117,101,117,11,0,0,0,105,110,
    105,116,105,97,108,105,122,101,100,40,0,0,0,0,40,0,
    0,0,0,40,0,0,0,0,117,7,0,0,0,102,108,97,
    103,46,112,121,117,8,0,0,0,60,109,111,100,117,108,101,
    62,1,0,0,0,115,0,0,0,0,
};

#define SIZE (int)sizeof(M___hello__)

static struct _frozen _PyImport_FrozenModules[] = {
    /* Test module */
    {"__hello__", M___hello__, SIZE},
    /* Test package (negative size indicates package-ness) */
    {"__phello__", M___hello__, -SIZE},
    {"__phello__.spam", M___hello__, SIZE},
    {0, 0, 0} /* sentinel */
};

/* Embedding apps may change this pointer to point to their favorite
   collection of frozen modules: */

struct _frozen *PyImport_FrozenModules = _PyImport_FrozenModules;
