Swi-prolog build: various questions

Mostly correct. I think you can also set -DUSE_LIBBF=OFF, which will cause the system to drop big integer and rational number support. I don’t know whether that still works. Stability of these options is always a bit questionable. For now, I think it is pretty stable. That would change if we could leverage the advantages of LibBF and make it favourable as preferred implementation. I don’t see that happen anytime soon.

By default both are built if the dependencies are found. By default it loads libedit. You can set a Prolog flag (readline?) in init.pl to set the default to readline. The libedit version is a bit less powerful editor, but it can be programmed in Prolog and got some nice features from there, it avoids GPL dependency and it can deal with multiple consoles (see libssh pack to allow for ssh login, each with line editing when using libedit).

Qt creates swipl-win, a gui application by @CapelliC. That is used as the “app” for MacOS and the Linux snap/flatpack packages. It has no relation to xpce.

The engines option is experimental and provides engines when there are no threads. This opens the route to support async predicates for the WASM version. That part is not implemented though.

Long ago. AFAIK, the xinerama extension allows xpce to figure out the multi-display setup. That is needed to ensure new windows and popup menus appear on the current display. Without, xpce will think there is one display that is the union of all displays and thus it may place windows in the “void”.

Otherwise I think you need fontconfig as well to get proper Unicode support in font rendering.