Note that boolean options may be written as --name
(true), --noname
or --no-name
(false). They
are written as --no-name
below as the default is‘true’.
- -D name[=value]
- Set the Prolog flag name to value. The flags are
set immediately after loading the initial saved state. If the
flag is already defined, value is converted to the type of
the flag. If the flag is undefined it is set to a number of value
represents a number and an atom otherwise. If no
=
value
is given, a Boolean value is used. If name is no-
flag,
flag is set to false
. Otherwise, the flag name
is set to true
. The name[=value]
may follow
the -D
immediately or appear as the next commandline
argument.
Note that many of the commandline options are reflected by a Prolog
flag. We intend to handle these as synonyms. Currently, some of the
commandline flags affect the Prolog initilization before loading the
saved state has completed, while other may not be changed after Prolog
initialization. For example, future versions will support
-Dhome=dir
to change the notion of the Prolog installation
directory.
- --debug-on-interrupt
- Enable debugging on an interrupt signal (Control-C,
SIGINT
)
immediately. Normally debugging on interrupt is enabled when entering
the interactive toplevel. This flag can be used to start the debugger on
an interrupt while executing goals from -g or
initialization/[1,2].
See also the Prolog flag
debug_on_interrupt.
- --home[=DIR]
- Use DIR as home directory. See section
12.6 for details. If DIR is omitted, the found location
is printed and the process exits. If the location cannot be found an
error is printed and the process exits with status 1.
- --quiet
- Set the Prolog flag verbose
to
silent
, suppressing informational and banner messages.
Also available as -q.
- --no-debug
- Disable debugging. See the current_prolog_flag/2
flag
generate_debug_info
for details.
- --no-signals
- Inhibit any signal handling by Prolog, a property that is sometimes
desirable for embedded applications. This option sets the flag
signals to
false
.
See section
12.4.25.1 for details. Note that the handler to unblock system calls
is still installed. This can be prevented using --sigalert=0
additionally. See --sigalert.
- --no-threads
- Disable threading for the multi-threaded version at runtime. See also
the flags threads and gc_thread.
- --no-packs
- Do not attach extension packages (add-ons). See also
attach_packs/0
and the Prolog flag packs.
- --no-pce
- Enable/disable the xpce GUI subsystem. The default is to make it
available as autoload component if it is installed and the system can
access the graphics. Using
--pce
load the xpce system in
user space and --no-pce
makes it unavailable in the
session.
- --on-error =style
- How to handle on errors. See the Prolog flag on_error
for details.
- --on-warning =style
- How to handle on warnings. See the Prolog flag on_warning
for details.
- --pldoc [=port]
- Start the PlDoc documentation system on a free network port and launch
the user's browser on
http://localhost:
port. If
port is specified, the server is started at the given port
and the browser is not launched.
- --sigalert=NUM
- Use signal NUM (1 ... 31) for alerting a thread. This is
needed to make thread_signal/2,
and derived Prolog signal handling act immediately when the target
thread is blocked on an interruptible system call (e.g., sleep/1,
read/write to most devices). The default is to use
SIGUSR2
.
If NUM is 0 (zero), this handler is not installed. See prolog_alert_signal/2
to query or modify this value at runtime.
- --no-tty
- Unix only. Switches controlling the terminal for allowing
single-character commands to the tracer and get_single_char/1.
By default, manipulating the terminal is enabled unless the system
detects it is not connected to a terminal or it is running as a
GNU-Emacs inferior process. See also tty_control.
- --win-app
- This option is available only in swipl-win.exe and is used for
the start-menu item. If causes plwin to start in the folder
...\My Documents\Prolog
or local equivalent thereof (see
win_folder/2).
The Prolog
subdirectory is created if it does not exist.
- -O
- Optimised compilation. See current_prolog_flag/2
flag
optimise for
details.
- -l file
- Load file. This flag provides compatibility with some other
Prolog systems.10YAP, SICStus
It is used in SWI-Prolog to skip the program initialization specified
using initialization/2
directives. See also section
2.11.1.1, and initialize/0.
- -s file
- Use file as a script file. The script file is loaded after
the initialisation file specified with the -f file
option. Unlike -f file, using -s
does not stop Prolog from loading the personal initialisation file.
- -f file
- Use file as initialisation file instead of the default
init.pl
.‘-f none’stops
SWI-Prolog from searching for a startup file. This option can be used as
an alternative to
-s file that stops Prolog from loading the
personal initialisation file. See also section
2.2.
- -F script
- Select a startup script from the SWI-Prolog home directory. The script
file is named
<script>.rc
. The default
script name is deduced from the executable, taking the
leading alphanumerical characters (letters, digits and underscore) from
the program name. -F none stops looking for
a script. Intended for simple management of slightly different versions.
One could, for example, write a script iso.rc
and then
select ISO compatibility mode using pl -F iso
or make a
link from iso-pl to
pl.
- -x bootfile
- Boot from bootfile instead of the system's default boot file.
A boot file is a file resulting from a Prolog compilation using the
-b or -c option or a program saved
using
qsave_program/[1,2].
- -p alias=path1[:path2 ...
- Define a path alias for file_search_path. alias is the name
of the alias, and arg path1 ... is a list of values for the alias. On
Windows the list separator is
;
. On other
systems it is :
. A value is either a term of
the form alias(value) or pathname. The computed aliases are added to file_search_path/2
using asserta/1,
so they precede predefined values for the alias. See file_search_path/2
for details on using this file location mechanism.
- --traditional
- This flag disables the most important extensions of SWI-Prolog version 7
(see section 5) that
introduce incompatibilities with earlier versions. In particular, lists
are represented in the traditional way, double quoted text is
represented by a list of character codes and the functional notation on
dicts is not supported. Dicts as a syntactic entity, and the predicates
that act on them, are still supported if this flag is present.
- --
- Stops scanning for more
arguments, so you can pass arguments for your application after this
one. See current_prolog_flag/2
using the flag argv for
obtaining the command line arguments.