Having problems creating a scryer-prolog package for Void Linux.. They love to have packages that compile to all of their supported platforms (i686, x86-64, ARMv6, ARMv7, ARMv8).
Is there a table of the supported platforms based on operating system and processor architecture for Scryer Prolog?
Apart from the usual Rust constraints (tier-1/2) there might be additional ones due to external libraries (GMP, SSL), eg. as far as I know GMP uses assembly.
Yes GMP uses assembly, however it should work without any issues on ARM, quoting from: https://gmplib.org/manual/Introduction-to-GMP#Introduction-to-GMP:
The speed of GMP is achieved by using fullwords as the basic arithmetic type, by using sophisticated algorithms, by including carefully optimized assembly code for the most common inner loops for many different CPUs, and by a general emphasis on speed (as opposed to simplicity or elegance).
There is assembly code for these CPUs: ARM Cortex-A9, Cortex-A15, and generic ARM, DEC Alpha 21064, 21164, and 21264, AMD K8 and K10 (sold under many brands, e.g. Athlon64, Phenom, Opteron) Bulldozer, and Bobcat, Intel Pentium, Pentium Pro/II/III, Pentium 4, Core2, Nehalem, Sandy bridge, Haswell, generic x86, Intel IA-64, Motorola/IBM PowerPC 32 and 64 such as POWER970, POWER5, POWER6, and POWER7, MIPS 32-bit and 64-bit, SPARC 32-bit ad 64-bit with special support for all UltraSPARC models. There is also assembly code for many obsolete CPUs.
OpenSSL should also work on all these CPUs.
One issue that may be interesting regarding portability: #615 .
Ok, thanks. Very helpful. Guess I have to go hardcore. No shortcuts.
Guess I have to go hardcore. No shortcuts.
A fitting motto for Scryer Prolog!
Most helpful comment
A fitting motto for Scryer Prolog!