#define OWL_PERL #include "owl.h" owl_global g; extern XS(boot_BarnOwl); extern XS(boot_DynaLoader); /* extern XS(boot_DBI); */ static void owl_perl_xs_init(pTHX) { const char *file = __FILE__; dXSUB_SYS; { newXS("BarnOwl::bootstrap", boot_BarnOwl, file); newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); } } static PerlInterpreter *my_perl; /*** The Perl interpreter ***/ int main(int argc, char **argv, char **env) { /* Code from perldoc perlembed */ PERL_SYS_INIT3(&argc,&argv,&env); my_perl = perl_alloc(); perl_construct(my_perl); PL_exit_flags |= PERL_EXIT_DESTRUCT_END; perl_parse(my_perl, owl_perl_xs_init, argc, argv, (char **)NULL); perl_run(my_perl); perl_destruct(my_perl); perl_free(my_perl); PERL_SYS_TERM(); return 0; }