Low-level utilities for building C foreign interfaces. End-users should not need to use them, as the Ciao compiler reads the user assertions and calls appropriately the predicates in this module.
Usage:build_foreign_interface(File)
Reads assertions from File, generates the gluecode for the Ciao Prolog interface, compiles the foreign files and the gluecode file, and links everything in a shared object. Checks modification times to determine automatically which files must be generated/compiled/linked.
Usage:rebuild_foreign_interface(File)
Like build_foreign_interface/1, but it does not check the modification time of any file.
Usage:build_foreign_interface_explicit_decls(File,Decls)
Like build_foreign_interface/1, but use declarations in Decls instead of reading the declarations from File.
Usage:rebuild_foreign_interface_explicit_decls(File,Decls)
Like build_foreign_interface_explicit_decls/1, but it does not check the modification time of any file.
Usage:do_interface(Decls)
Given the declarations in Decls, this predicate succeeds if these declarations involve the creation of the foreign interface