| ################################################################################ |
| # |
| # swipl |
| # |
| ################################################################################ |
| |
| SWIPL_VERSION = 9.2.6 |
| SWIPL_SITE = https://www.swi-prolog.org/download/stable/src |
| SWIPL_LICENSE = BSD-2-Clause |
| SWIPL_LICENSE_FILES = LICENSE |
| |
| HOST_SWIPL_DEPENDENCIES = host-zlib |
| |
| SWIPL_DEPENDENCIES = host-swipl zlib |
| |
| # A host-swipl is needed to compile the target prolog boot |
| # boot.prl file. |
| HOST_SWIPL_CONF_OPTS = \ |
| -DBUILD_PDF_DOCUMENTATION=OFF \ |
| -DSWIPL_PACKAGES=OFF \ |
| -DUSE_GMP=OFF \ |
| -DUSE_TCMALLOC=OFF |
| |
| # swipl uses cmake macros try_run() and check_c_source_runs(), which |
| # are not suitable for cross compilation. We add results in cache to |
| # avoid running those tests. The SWIPL_NATIVE_FRIEND variable, is |
| # meant to point to build directory of a host native swipl, rather |
| # than the binary itself. The Cmake macro will append "src/swipl" to |
| # the path set to this variable. Therefore, we cannot use the host |
| # "swipl" binary installed in $(HOST_DIR)/usr/bin. |
| SWIPL_CONF_OPTS = \ |
| -DBUILD_PDF_DOCUMENTATION=OFF \ |
| -DHAVE_WEAK_ATTRIBUTE=1 \ |
| -DLLROUND_OK=1 \ |
| -DMODF_OK=1 \ |
| -DQSORT_R_GNU=1 \ |
| -DSWIPL_NATIVE_FRIEND=$(HOST_SWIPL_SRCDIR) \ |
| -DSWIPL_PACKAGES=OFF \ |
| -DUSE_TCMALLOC=OFF |
| |
| ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) |
| SWIPL_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic |
| endif |
| |
| ifeq ($(BR2_PACKAGE_GMP),y) |
| SWIPL_CONF_OPTS += -DUSE_GMP=ON |
| SWIPL_DEPENDENCIES += gmp |
| else |
| SWIPL_CONF_OPTS += -DUSE_GMP=OFF |
| endif |
| |
| ifeq ($(BR2_PACKAGE_NCURSES),y) |
| SWIPL_DEPENDENCIES += ncurses |
| endif |
| |
| $(eval $(cmake-package)) |
| $(eval $(host-cmake-package)) |