use GHC.compileFile to compile c-files and return a path to the object
file for linking
update idirs in text/encoding
update includePaths from idirs too
add FFI stuff back to bytestring
and text
unnecessary SOURCE import is unnecessary..
GHC on linux seems to require c-files for transitive imports, but not on darwin..
need to propagate includePaths as well
only `takeDirectory` if tgt is a file