summaryrefslogtreecommitdiff
path: root/perlmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'perlmain.c')
-rw-r--r--perlmain.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/perlmain.c b/perlmain.c
new file mode 100644
index 0000000000..75a3d6fcca
--- /dev/null
+++ b/perlmain.c
@@ -0,0 +1,42 @@
+#include "INTERN.h"
+#include "perl.h"
+
+main(argc, argv, env)
+int argc;
+char **argv;
+char **env;
+{
+ int exitstatus;
+ PerlInterpreter *my_perl;
+
+ my_perl = perl_alloc();
+ if (!my_perl)
+ exit(1);
+ perl_construct( my_perl );
+
+ exitstatus = perl_parse( my_perl, argc, argv, env );
+ if (exitstatus)
+ exit( exitstatus );
+
+ exitstatus = perl_run( my_perl );
+
+ perl_destruct( my_perl );
+ perl_free( my_perl );
+
+ exit( exitstatus );
+}
+
+/* Register any extra external extensions */
+
+void
+perl_init_ext()
+{
+ char *file = __FILE__;
+
+#ifdef USE_DYNAMIC_LOADING
+ boot_DynamicLoader();
+#endif
+ newXSUB("POSIX::bootstrap", 0, boot_POSIX, file);
+ newXSUB("NDBM_File::bootstrap", 0, boot_NDBM_File, file);
+ newXSUB("ODBM_File::bootstrap", 0, boot_ODBM_File, file);
+}