Hello everyone,
I am writing to share the results of a portability assessment of Ring (v1.25) on several Unix-like operating systems, specifically within the BSD and OpenSolaris families.
To achieve successful execution on these platforms, I required a few minor modifications to the source code. I have attached the full `
general.c` and `
ring.h` files if you want to run Ring on these platforms.
Code Modifications:- src/general.c: Updated `ring_general_exefilename` to correctly handle executable path detection logic for these specific platforms (exefilename() and exefolder()).
- include/ring.h: Added the necessary preprocessor definitions to recognize NetBSD, OpenBSD, and DragonFly BSD variants alongside the existing FreeBSD logic.
Test Results:With these changes applied, the test suite results were excellent:
- DragonFly BSD 6.4.2: 100% Pass (0 Fails)

- OpenIndiana Hipster 2025.10 (SunOS 5.11): 100% Pass (0 Fails)

- NetBSD 10.1: 99.8% Pass (1 Fail)

- OpenBSD 7.8: 99.7% Pass (2 Fails)

Note on Test Failures:Regarding the minor failures on NetBSD (1) and OpenBSD (2): These are performance-related tests. Since I am running these operating systems inside Virtual Machines, these failures are expected due to virtualization overhead and do not indicate a bug in the Ring language implementation itself.
Best regards,
Youssef