This module provides internal information about the current running runtime system (engine and enviroment). That information includes the architecture, platform, operating system, location of libraries, and C header files. That information is mainly used in parts of the Ciao dynamic compilation (location of source, generation of gluecode for the foreign interface, etc.).
Computer architectures are identified by a simple atom. This atom is implementation-defined, and may suffer any change from one Ciao version to another.
For example, Ciao running on an 32-bit Intel-based machine will retrieve:
?- get_arch(I). I = i686 ? ; no ?-
Usage:get_arch(ArchDescriptor)
Unifies ArchDescriptor with a simple atom which describes the computer architecture currently executing the predicate.
Operating systems are identified by a simple atom. This atom is implementation-defined, and may suffer changes from one Ciao version to another.
For example, Ciao running on Linux will retrieve:
?- get_os(I). I = 'LINUX' ? ; no ?-
Usage:get_os(OsDescriptor)
Unifies OsDescriptor with a simple atom which describes the running operating system when predicate was called.
Usage:get_platform(Platform)
Platform is the atom describing the current operating system and computer architecture.
Usage:eng_debug_level(Debug)
Unifies Debug with the value of core:debug_level configuration flag used to build this engine.
Usage:
This engine is linked as a shared library (instead of as an executable)
Usage:get_ciao_ext(Ext)
Ext is the default extension for the executable Ciao programs.
Usage:get_exec_ext(Ext)
Ext is the extension for executables.
Usage:get_so_ext(Ext)
Ext is the default extension for the shared libraries. For example, .dll in Windows and .so in most Unix systems.
Usage:get_a_ext(Ext)
Ext is the default extension for the static libraries.
Usage:ciao_c_headers_dir(Path)
Path is the path to the root of the installed Ciao header C files (.h), typically used for interfacing Ciao and C.