mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 13:18:36 -09:00
For change log since version 9.2.9, see: https://www.swi-prolog.org/ChangeLog?branch=stable&from=9.2.9&to=10.0.2 This new version can no longer build in the source tree. Therefore, this commit adds SWIPL_SUPPORTS_IN_SOURCE_BUILD = NO. Also, the target swipl needs the host-swipl binary. It is searched by the cmake script. This commit changes SWIPL_NATIVE_FRIEND variable to point to the out-of-source build directory. swipl has now a stricter ABI check of its prolog library bytecode compiled files, compared to its builtin expected ABI: https://github.com/SWI-Prolog/swipl/blob/V10.0.2/src/pl-init.c#L263 When cross-compiling, swipl is built on one side, and library files are built with the host-swipl. The ABI string of the host-swipl and target swipl must match. If not matching, swipl fail to start at runtime with the error: FATAL: could not find SWI-Prolog home Tried source: compiled in Found /usr/lib/swipl: ABI mismatch This ABI string includes a signature of builtin modules. See: https://github.com/SWI-Prolog/swipl/blob/V10.0.2/src/pl-init.c#L1653 https://github.com/SWI-Prolog/swipl/blob/V10.0.2/src/pl-ext.c#L330 The swipl ncurses support is made with one those builtin module. ncurses development files are likely present on host and likely not enabled or needed on target, hence producing a different ABI signature. For that reason, this commit disables ncurses on both the host and target. Signed-off-by: Julien Olivain <ju.o@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>