This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove 'configure' leaving configure.gnu and Configure
[perl5.git] / miniperlmain.c
CommitLineData
a0d0e21e
LW
1/*
2 * "The Road goes ever on and on, down from the door where it began."
3 */
4
60e4866f
LJ
5#ifdef OEMVS
6#pragma runopts(HEAP(1M,32K,ANYWHERE,KEEP,8K,4K))
7#endif
8
4633a7c4 9
ecfc5424 10#include "EXTERN.h"
2304df62
AD
11#include "perl.h"
12
4e35701f 13#undef EXTERN_C
4633a7c4 14#ifdef __cplusplus
4633a7c4
LW
15# define EXTERN_C extern "C"
16#else
17# define EXTERN_C extern
18#endif
19
a0d0e21e
LW
20static void xs_init _((void));
21static PerlInterpreter *my_perl;
22
c07a80fd 23int
dc6439a4 24#ifdef CAN_PROTOTYPE
25main(int argc, char **argv, char **env)
26#else
2304df62
AD
27main(argc, argv, env)
28int argc;
29char **argv;
30char **env;
dc6439a4 31#endif
2304df62
AD
32{
33 int exitstatus;
2304df62 34
c07a80fd 35 PERL_SYS_INIT(&argc,&argv);
4633a7c4 36
b5dd7652 37 perl_init_i18nl10n(1);
4633a7c4 38
a0d0e21e
LW
39 if (!do_undump) {
40 my_perl = perl_alloc();
41 if (!my_perl)
42 exit(1);
43 perl_construct( my_perl );
5f05dabc 44 perl_destruct_level = 0;
a0d0e21e 45 }
2304df62 46
28e44ed9 47 exitstatus = perl_parse( my_perl, xs_init, argc, argv, (char **) NULL );
b5dd7652 48 if (!exitstatus) {
49 exitstatus = perl_run( my_perl );
50 }
2304df62 51
748a9306 52 perl_destruct( my_perl );
2304df62
AD
53 perl_free( my_perl );
54
a91be337 55 PERL_SYS_TERM();
56
2304df62 57 exit( exitstatus );
4e35701f 58 return exitstatus;
2304df62
AD
59}
60
61/* Register any extra external extensions */
62
4633a7c4
LW
63/* Do not delete this line--writemain depends on it */
64
a0d0e21e 65static void
8ac85365 66xs_init(void)
2304df62 67{
a91be337 68 dXSUB_SYS;
2304df62 69}