source: trunk/third/perl/miniperlmain.c @ 14545

Revision 14545, 1.4 KB checked in by ghudson, 25 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, which included commits to RCS files with non-trunk default branches.
Line 
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}
Note: See TracBrowser for help on using the repository browser.