ARB
Main Page
Namespaces
Classes
Files
File List
File Members
PERL2ARB
perlmain_source.c
Go to the documentation of this file.
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(
EXIT_FAILURE
);
46
perl_construct(
my_perl
);
47
PL_perl_destruct_level = 0;
48
}
49
50
exitstatus = perl_parse(
my_perl
,
xs_init
, argc, argv, (
char
**)
NULp
);
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
EXTERN_C
void
boot_ARB
(pTHX_ CV* cv);
67
EXTERN_C
void
boot_DynaLoader
(pTHX_ CV* cv);
68
69
70
static
void
71
xs_init
(pTHX)
72
{
73
const
char
*file = __FILE__;
74
75
dXSUB_SYS;
76
{
77
newXS(
"ARB::bootstrap"
,
boot_ARB
, file);
78
}
79
{
80
// DynaLoader is a special case
81
82
newXS(
"DynaLoader::boot_DynaLoader"
,
boot_DynaLoader
, file);
83
}
84
}
boot_ARB
EXTERN_C void boot_ARB(pTHX_ CV *cv)
main
int main(int argc, char **argv, char **env)
Definition:
perlmain_source.c:24
xs_init
static void xs_init(pTHX)
Definition:
perlmain_source.c:71
EXIT_FAILURE
#define EXIT_FAILURE
Definition:
arb_a2ps.c:157
my_perl
static PerlInterpreter * my_perl
Definition:
perlmain_source.c:15
boot_DynaLoader
EXTERN_C void boot_DynaLoader(pTHX_ CV *cv)
NULp
#define NULp
Definition:
cxxforward.h:116
Generated by
1.8.8