27:-
'$do_error'/2
use_system_module(
'$_errors', []).
29:-
'$do_import'/3
use_system_module(
'$_modules', []).
66 '$check_embedded'(
Entry),
69 current_source_module(
M,
M),
71 '$absfs'(
Objs, [file_type(executable),
74 file_errors(fail)],
NewObjs),
76 '$load_foreign_files'(
NewObjs,[],
Entry),
77 '$load_foreign_files',
79 ignore( recordzifnot(
'$load_foreign_done', [
F,
M],
_) ).
82'$absfs'([
F|Fs],
P,[
NF|NFs])
:-
83 '$name_object'(
F,
P,
NF),
86'$absfs'([
F|Fs],
P,[
F|NFs])
:-
89'$name_object'(
I,
P,
O)
:-
93'$name_object'(
I,
P,
O)
:-
97'$load_libs'([
File|Files])
:-
107 current_source_module(
M,
M),
108 '$load_foreign_files'(
Objs,
Libs,
Entry),
109 '$load_foreign_files',
111 ignore( recordzifnot(
'$load_foreign_done', [
F,
M],
_) ).
113'$checklib_prefix'(
F,
F)
:- is_absolute_file_name(
F),
is_absolute_file_name.
114'$checklib_prefix'(
F,
F)
:-
115 sub_atom(
F,
0,
_,
_, lib),
sub_atom.
116'$checklib_prefix'(
F,
Lib)
:-
117 atom_concat(lib,
F,
Lib).
119'$import_foreign'(
F,
M0,
M)
:-
124 '$do_import'(
N/K-N/K,
M0,
M),
126'$import_foreign'(
_F,
_M0,
_M).
160 '$open_shared_opts'(
Opts, open_shared_object(
File,
Opts,
Handle),
OptsI),
161 '$open_shared_object'(
File,
OptsI,
Handle),
163 ignore( recordzifnot(
'$foreign',
M:'$swi_foreign'(
File,
Opts,
Handle),
_) ).
165'$open_shared_opts'(
Opts,
G,
_OptsI)
:-
167 '$do_error'(instantiation_error,
G).
168'$open_shared_opts'([],
_,
0)
:- '$open_shared_opts'.
169'$open_shared_opts'([
Opt|Opts],
G,
V)
:-
170 '$open_shared_opts'(
Opts,
G,
V0),
171 '$open_shared_opt'(
Opt,
G,
OptV),
174'$open_shared_opt'(
Opt,
G,
_)
:-
176 '$do_error'(instantiation_error,
G).
177'$open_shared_opt'(now,
__,
1)
:- '$open_shared_opt'.
178'$open_shared_opt'(global,
__,
2)
:- '$open_shared_opt'.
179'$open_shared_opt'(
Opt,
Goal,
_)
:-
180 '$do_error'(domain_error(open_shared_object_option,
Opt),
Goal).
192 '$call_shared_object_function'(
Handle,
Function),
194 ignore( recordzifnot(
'$foreign',
M:'$swi_foreign'(
Handle,
Function ),
_) ).
203 getenv(
'__PYVENV_LAUNCHER__',
_ ),
absolute_file_name( -File:atom, +Path:atom, +Options:list)
predicate_property( P, Prop)
call_shared_object_function(+ Handle, + Function)
load_absolute_foreign_files( Files, Libs, InitRoutine)
load_foreign_files( Files, Libs, InitRoutine)
open_shared_object(+ File, - Handle)
open_shared_object(+ File, - Handle, + Options)
sub_atom(+ A,? Bef, ? Size, ? After, ? At_out)
prolog_load_context(? Key, ? Value)