#!/bin/sh set -e set -x # from perlembed(1) cat > perlembed.c < /* from the Perl distribution */ #include /* from the Perl distribution */ static PerlInterpreter *my_perl; /*** The Perl interpreter ***/ int main(int argc, char **argv, char **env) { 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, NULL, argc, argv, (char **)NULL); perl_run(my_perl); perl_destruct(my_perl); perl_free(my_perl); PERL_SYS_TERM(); } EOF CC=$(perl -MConfig -E 'say $Config{cc}') CCOPTS=$(perl -MExtUtils::Embed -e ccopts) LDOPTS=$(perl -MExtUtils::Embed -e ldopts) $CC $CCOPTS perlembed.c -o perlembed.bin $LDOPTS -lperl ./perlembed.bin -E 'say "OK"' | grep -q -x OK