I managed to build libpike.so from the 7.7 tree last night, and a few minutes ago I ran through the source for main.c, and pulled out what looks like the bare minimum code for starting an embedded pike interpreter. Right now, it performs the same actions as a regular pike, in that your first argument should be a pike script. Differences are that it doesn't parse any command line options, and the pike master must be specified in the PIKE_MASTER environment variable.
To get a libpike, you just run a "make lib" from the 7.7 directory. Also, you'll probably want to rename the resulting .so file to libpike.so (I'm sure there's a good reason why the generated file is named "pike.so", but in order for the linker to use it, it has to start with lib :)
I'd say that about 25% of the 120 lines of code in this example are the include files, and another 25-35% are for handling errors before the master is initialized. So, the end result is that it takes less than 50 lines of code to initialize, start and shut down the pike compiler. I'd imagine that a good portion of the code in this example could be made into some standard helper functions, and that you're really only dealing with a dozen lines of code or so.
Note that none of this is original work on my part; I'm just passing on the results of my attempts at building a program that uses the embedded interpreter. I'd encourage discussion on what the embedding "niceties" should look like.
the code:
http://hww3.riverweb.com/dist/pike_embedding
Bill