First, Parrot assumed that all include paths were relative.  That's no good, 
but it was easy to fix.
Second, Parrot assumed that all include paths had a trailing path specifier -- 
that is, that concatening the include file/path would work correctly.  I 
fixed that too.
The test part of the patch explores both issues.
There's one remaining nit that I didn't address, that the enum_lib_paths 
constants in F<include/parrot/library.h> are not available via iglobals.pasm.  
I could use PARROT_LIB_PATH_LIBRARY for this.  I browsed the constant 
generator, but didn't find an easy way to generate this information.  For 
now, there's a hard-coded magic number.
If there are no objections, I'm happy to apply this patch.
-- c
$ diffstat add_lib_paths.patch 
 src/library.c               |    9 ++++++-
 t/compilers/imcc/syn/file.t |   56 
+++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 63 insertions(+), 2 deletions(-)