1
0
Fork 0

Added support for the Haiku operating system.

This commit is contained in:
LoRd_MuldeR 2022-04-26 22:01:49 +02:00
parent 56e30d6d6a
commit 69e549aafd
Signed by: mulder
GPG Key ID: 2B5913365F57E03F
2 changed files with 43 additions and 8 deletions

View File

@ -22,12 +22,13 @@ System Requirements
The SlunkCrypt library and the command-line application currently run on the following platforms:
* **Microsoft Windows** (Windows XP SP-3, or later) — 32-Bit (i686) and 64-Bit (AMD64)
* **Linux** (kernel version 3.17, or later) — 32-Bit (i686) and 64-Bit (AMD64)
* **Various BSD flavors** (tested on NetBSD 9.2, FreeBSD 13.0 and OpenBSD 7.0) — 32-Bit (i686) and 64-Bit (AMD64)
* **Solaris** (tested on Solaris 11.4 and OmniOS/illumos) — 32-Bit (i686) and 64-Bit (AMD64)
* **Microsoft Windows** (Windows XP SP-3, or later) — 32-Bit (i686) and 64-Bit (x86-64)
* **Linux** (kernel version 3.17, or later) — 32-Bit (i686) and 64-Bit (x86-64)
* **Various BSD flavors** (tested on NetBSD 9.2, FreeBSD 13.0 and OpenBSD 7.0) — 32-Bit (i686) and 64-Bit (x86-64)
* **Solaris** (tested on Solaris 11.4 and OmniOS/illumos) — 32-Bit (i686) and 64-Bit (x86-64)
* **GNU/Hurd** (tested on Debian GNU/Hurd 0.9) — 32-Bit (i686)
* **Mac OS X** (tested on macOS 11 “Big Sur”) — Intel x86-64 (AMD64) and Apple Silicon (AArch64)
* **Haiku** (tested on Haiku R1/b3) — 32-Bit (i686) and 64-Bit (x86-64)
* **Mac OS X** (tested on “Big Sur”) — Intel-based (x86-64) and Apple Silicon (AArch64)
The SlunkCrypt GUI application currently runs on the following platforms:
@ -888,6 +889,38 @@ The latest SlunkCrypt source code is available from the official Git mirrors at:
* <https://punkindrublic.mooo.com:3000/Muldersoft/SlunkCrypt>
Build Instructions
==================
SlunkCrypt can be built from the sources on Microsoft Windows or any POSIX-compatible platform, using a C-compiler that supports the C99 standard.
* **Microsoft Windows:**
Project/solution files for [Visual Studio](https://visualstudio.microsoft.com/) are provided. These should work “out of the box” with Visual Studio 2017 or any later version.
Just open the solution, select the “Release” configuration, choose the “x86” or “x64” platform, and finally press `F5`.
Visual Studio also is the only way to build the SlunkCrypt GUI, which is based on Microsoft.NET and Windows Presentation Foundation (WPF).
Alternatively, SlunkCrypt can built using [Mingw-w64](https://www.mingw-w64.org/) (available via [MSYS2](https://www.msys2.org/)) or even [Cygwin](https://www.cygwin.com/) &ndash; see Linux instructions for details!
* **Linux:**
Please make sure that the *C compiler* (GCC or Clang) as well as *Make* are installed. Then simply run **`make -B`** from the project's base directory!
If not already installed, the required build tools can usually be installed via your distribution's package manager.
For example, on Debian-based distributions, the command **`sudo apt install build-essential`** installs all the required build tools at once.
In order to create a *fully-static* binary of SlunkCrypt that runs on ***any*** Linux distribution from the last decade, you can use [musl libc](https://musl.libc.org/):
`make -B CC=musl-gcc STATIC=1`
* **BSD and Solaris:**
SlunkCrypt can be built on various BSD flavors and Solaris, but the command **`gmake -B`** needs to be used here, since the native `make` doesn't work!
GNU Make can be installed from the package manager. For example, use **`pkg install gmake`** on FreeBSD or **`pkg_add gmake`** on OpenBSD.
* **Mac OS X:**
Once you have managed to find a terminal (or even better, connect via SSH), Mac OS X almost works like a proper operating system.
The Xcode command-line tools can be installed with the command **`xcode-select --install`**, if not present yet. Then just type **`make -B`** to build!
*Hint:* If you want to build with GCC, which produces faster code than Apple's Xcode compiler, you may install it on Mac OS X via [Homebrew](https://formulae.brew.sh/formula/gcc).
License
=======

View File

@ -18,11 +18,11 @@
/* Detect operating system type */
#if defined(__MINGW32__)
# define OS_TYPE_NAME "MinGW32"
#elif defined(_WIN32)
# define OS_TYPE_NAME "Windows"
# define OS_TYPE_NAME "MinGW"
#elif defined(__CYGWIN__)
# define OS_TYPE_NAME "Cygwin"
#elif defined(_WIN32)
# define OS_TYPE_NAME "Windows"
#elif defined(__linux__)
# define OS_TYPE_NAME "Linux"
#elif defined(__gnu_hurd__)
@ -39,6 +39,8 @@
# define OS_TYPE_NAME "Solaris"
#elif defined(__QNX__)
# define OS_TYPE_NAME "QNX"
#elif defined(__HAIKU__)
# define OS_TYPE_NAME "Haiku"
#elif defined(__APPLE__) && defined(__MACH__)
# define OS_TYPE_NAME "macOS"
#elif defined(__unix__)