This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
typo in change#12026
[perl5.git] / miniperlmain.c
... / ...
CommitLineData
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
14static void xs_init (pTHX);
15static 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. */
20long _stksize = 64 * 1024;
21#endif
22
23int
24main(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
68static void
69xs_init(pTHX)
70{
71 dXSUB_SYS;
72}