diff --git a/README.md b/README.md index ffc9a20..1d03e8c 100644 --- a/README.md +++ b/README.md @@ -23,13 +23,18 @@ It's features include: - Fast and responsive - Advanced Security Handling of Stored Credentials and Web Requests +## Building +Please look at the ```building``` folder for more information. Due to certain configuration choices made by package maintainers, building OSSP is not exactly easy, although most of the process for supported platforms is automated, and the dependency tree is kept completely separate from system packages to avoid conflicts.
+ OSSP has support for the following operating systems: -- Linux (GLibC / musl, x86_64 / aarch64) +- Linux (GLibc / musl, x86_64 / aarch64) - musl needs a cryptography patch, not upstreamed - NetBSD (10.1, x86_64) - LSP Plugins needs to be modified to build on NetBSD +- OpenBSD (7.8, x86_64) + - Many, many patches needed to dependencies - iOS / macOS -- 32-bit platforms currently have major issues +- 32-bit platforms currently have major issues, and big-endian platforms are not expected to work (Untested) OSSP itself is extremely portable, and should be usable on any UNIX®/Unix-like platform with little to no patching, but the Gstreamer player logic is less portable (Specifically LSP Plugins). diff --git a/building/README.md b/building/README.md new file mode 100644 index 0000000..61a96ea --- /dev/null +++ b/building/README.md @@ -0,0 +1,45 @@ +# Building OSSP (OpenSubsonicPlayer) + +## OS-Agnostic Information (UNIX*, Win32 is NOT and WILL NOT EVER be supported) +OSSP + +## macOS Information +As all of the dependencies officially support macOS, no patches are required.
+The dependency sysroot will be installed at ```/opt/ossp```
+ +To get started, first install the dependencies required for building with brew.
+Then, run the ```build_macos_sysroot.sh``` script to build and install the dependencies to ```/opt/ossp```
+Alternatively, you can extract ```macos_sysroot.tar.gz``` in ```/opt``` to use the precompiled sysroot.
+ +Required dependencies for building: + - make (GNU Make) + - sed (GNU Sed) + - cmake + - wget + - pkgconfig + - meson + - ninja + - sdl2 + - SDL2 is not used for OSSP except for the debug interface, which is not even functional in this environment. Unfortunately, it is still required for building at this time. + +The dependencies that are built are: + - (?) PCRE2 + - (?) Glib + - (?) lzo + - (?) cairo + - (?) OpenSSL + - (For GStreamer) Soundtouch + - (For GStreamer) LSP Plugins + - (For lilv) zix + - (For lilv) serd + - (For lilv) sord + - (For lilv) lv2 + - (For lilv) sratom + - (For GStreamer) lilv + - (For GStreamer) libbz2 + - GStreamer (Builds static FFmpeg) + +Building and Running OSSP: +(To put build instructions here TODO) + +```DYLD_LIBRARY_PATH=/opt/ossp/lib LV2_PATH=/opt/ossp/lib/lv2 ```