The static linking schema can be used on all versions of 
SWI-Prolog. Whether or not dynamic linking is supported can be deduced 
from the Prolog flag open_shared_object 
(see
current_prolog_flag/2). 
If this Prolog flag yields true,
open_shared_object/2 
and related predicates are defined. See
section 12.2.3 for 
a suitable high-level interface to these predicates.