I have managed to build Parrot::Embed on Windows/VC8, and judging from the test output it works. There are two warnings, but I guess those are no problem?
$ ./Build test t\interp....ok 1/31Parrot VM: Can't stat no file here, code 2. error:imcc:syntax error, unexpected IDENTIFIER in file 'EVAL_2' line 1 t\interp....ok All tests successful. Files=1, Tests=31, 0 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU) There are three steps necessary (four using VC8). 1) Two additional functions need to be exported. Parrot_register_pmc Parrot_unregister_pmc 2) Change the compiler and linker flags. 3) Add the path to parrot.dll to Path, so it can be found during (test) execution. Step 2 is the hard part, and I'd like to ask for some advice. The flags seem to come from F<parrot.pc>, generated from the input file F<config/gen/makefiles/parrot.pc.in>. The relevant entries are: Libs: -L${libdir} -lparrot Cflags: -I${includedir} The C<Cflags> seem to be added correctly in Module::Build (version 0.2805) to the C<extra_compiler_flags>, but they don't get passed to the compiler. I needed to change C<incpath> for this. This seems to be an issue with Module::Build, but I need to double check this. Second, C<Libs> is not right for Visual C++ (but added to C<extra_linker_flags> and passed to the linker.) F<config/gen/makefiles/parrot.pc.in> says: Libs: -L${libdir} -lparrot @icu_shared@ @libs@ Visual C++ needs: ${libdir}/libparrot.lib @icu_shared@ @libs@ or /LIBPATH:${libdir} libparrot.lib @icu_shared@ @libs@ Any recommended way to get there? Thanks, Ron