1 /* 2 * "The Road goes ever on and on, down from the door where it began." 3 */ 4 5 #ifdef OEMVS 6 #pragma runopts(HEAP(1M,32K,ANYWHERE,KEEP,8K,4K)) 7 #endif 8 9 10 #include "EXTERN.h" 11 #define PERL_IN_MINIPERLMAIN_C 12 #include "perl.h" 13 14 static void xs_init (pTHX); 15 static PerlInterpreter *my_perl; 16 17 #if defined (__MINT__) || defined (atarist) 18 /* The Atari operating system doesn't have a dynamic stack. The 19 stack size is determined from this value. */ 20 long _stksize = 64 * 1024; 21 #endif 22 23 int 24 main(int argc, char **argv, char **env) 25 { 26 int exitstatus; 27 28 #ifdef PERL_GLOBAL_STRUCT 29 #define PERLVAR(var,type) /**/ 30 #define PERLVARA(var,type) /**/ 31 #define PERLVARI(var,type,init) PL_Vars.var = init; 32 #define PERLVARIC(var,type,init) PL_Vars.var = init; 33 #include "perlvars.h" 34 #undef PERLVAR 35 #undef PERLVARA 36 #undef PERLVARI 37 #undef PERLVARIC 38 #endif 39 40 PERL_SYS_INIT3(&argc,&argv,&env); 41 42 if (!PL_do_undump) { 43 my_perl = perl_alloc(); 44 if (!my_perl) 45 exit(1); 46 perl_construct(my_perl); 47 PL_perl_destruct_level = 0; 48 } 49 50 exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL); 51 if (!exitstatus) { 52 exitstatus = perl_run(my_perl); 53 } 54 55 perl_destruct(my_perl); 56 perl_free(my_perl); 57 58 PERL_SYS_TERM(); 59 60 exit(exitstatus); 61 return exitstatus; 62 } 63 64 /* Register any extra external extensions */ 65 66 /* Do not delete this line--writemain depends on it */ 67 68 static void 69 xs_init(pTHX) 70 { 71 dXSUB_SYS; 72 } 73