Problem: no documentation of supported platforms

Solution: add an initial version
This commit is contained in:
Simon Giesecke 2019-02-19 21:31:30 +01:00
parent e2af39bc42
commit 598b5d4dcb
2 changed files with 121 additions and 2 deletions

View File

@ -13,8 +13,95 @@ abstraction of asynchronous message queues, multiple messaging patterns,
message filtering (subscriptions), seamless access to multiple transport message filtering (subscriptions), seamless access to multiple transport
protocols and more. protocols and more.
## Supported platforms <a name="#platforms"/>
## Building and installation ### Supported platforms with primary CI
OS and version | Architecture | Compiler and version | Build system | Remarks
-------------- | ------------ | -------------------- | ------------ | -------
Android NDK 11c | ARM | gcc ? | autotools |
Ubuntu 14.04.5 LTS (trusty) | amd64 | clang 5.0.0 | autotools | STABLE, extras: GSSAPI, PGM, NORM, C++98 mode only
Ubuntu 14.04.5 LTS (trusty) | amd64 | gcc 4.8.4 | autotools | STABLE, DRAFT, extras: GSSAPI, PGM, NORM, TIPC, IPV6, also POLLER=poll, POLLER=select, also valgrind and address sanitizer executions
Ubuntu 14.04.5 LTS (trusty) | amd64 | gcc 4.8.4 | CMake 3.12.2 | STABLE
Windows Server 2012 R2 | x86 | Visual Studio 2008 | CMake 3.12.2 | DRAFT
Windows Server 2012 R2 | x86 | Visual Studio 2010 SP1 | CMake 3.12.2 | DRAFT
Windows Server 2012 R2 | x86 | Visual Studio 2012 Update 5 | CMake 3.12.2 | DRAFT
Windows Server 2012 R2 | x86, amd64 | Visual Studio 2013 Update 5 | CMake 3.12.2 | DRAFT, STABLE (x86 Release only), also POLLER=epoll
Windows Server 2012 R2 | x86 | Visual Studio 2015 Update 3 | CMake 3.12.2 | DRAFT
Windows Server 2016 | x86 | Visual Studio 2017 15.9.6 | CMake 3.13.3 | DRAFT
cygwin 3.0.0 on Windows Server 2012 R2 | amd64 | gcc 7.4.0 | CMake 3.6.2 | DRAFT
MSYS2 ? on Windows Server 2012 R2 | amd64 | gcc 6.4.0 | CMake ? | DRAFT
Mac OS X 10.13 | amd64 | Xcode 9.4.1, Apple LLVM 9.1.0 | autotools | STABLE, DRAFT
Mac OS X 10.13 | amd64 | Xcode 9.4.1, Apple LLVM 9.1.0 | CMake 3.11.4 | DRAFT
Note: the platforms are regularly updated by the service providers, so this information might get out of date
without any changes on the side of libzmq. For Appveyor, refer to https://www.appveyor.com/updates/ regarding
platform updates. For travis-ci, refer to https://changelog.travis-ci.com/ regarding platform updates.
### Supported platforms with secondary CI
OS and version | Architecture | Compiler and version | Build system | Remarks
-------------- | ------------ | -------------------- | ------------ | -------
CentOS 6 | x86, amd64 | ? | autotools |
CentOS 7 | amd64 | ? | autotools |
Debian 8.0 | x86, amd64 | ? | autotools |
Debian 9.0 | ARM64, x86, amd64 | ? | autotools |
Fedora 28 | ARM64, ARM32, amd64 | ? | autotools |
Fedora 29 | ARM64, ARM32, amd64 | ? | autotools |
Fedora Rawhide | ARM64, ARM32, amd64 | ? | autotools |
RedHat Enterprise Linux 7 | amd64, ppc64 | ? | autotools |
SuSE Linux Enterprise 12 SP4 | ARM64, amd64, ppc64, s390x | ? | autotools |
SuSE Linux Enterprise 15 | amd64 | ? | autotools |
xUbuntu 12.04 | x86, amd64 | ? | autotools |
xUbuntu 14.04 | x86, amd64 | ? | autotools |
xUbuntu 16.04 | x86, amd64 | ? | autotools |
xUbuntu 18.04 | x86, amd64 | ? | autotools |
xUbuntu 18.10 | x86, amd64 | ? | autotools |
### Supported platforms with known active users
At the time of writing, no explicit reports have been available. Please report your experiences by opening a PR
adding an entry or moving an entry from the section below.
Under "last report", please name either the SHA1 in case of an unreleased version, or the version number in
case of a released version.
OS and version | Architecture | Compiler and version | Build system | Last report | Remarks
-------------- | ------------ | -------------------- | ------------ | ----------- | -------
### Supported platforms without known active users
Note: this list is incomplete and inaccurate and still needs some work.
OS and version | Architecture | Compiler and version | Build system | Remarks
-------------- | ------------ | -------------------- | ------------ | -------
Any Linux distribution | x86, amd64 | gcc ?+, clang ?+, icc ?+ | autotools, CMake |
SunOS, Solaris | x86, amd64 | SunPro | autotools, CMake |
GNU/kFreeBSD | ? | ? | autotools, CMake |
FreeBSD | ? | ? | autotools, CMake |
NetBSD | ? | ? | autotools, CMake |
OpenBSD | ? | ? | autotools, CMake |
HP-UX | ? | ? | autotools, CMake |
GNU/Hurd | ? | ? | autotools |
VxWorks 6.8 | ? | ? | ? |
Windows CE | ? | ? | ? |
Windows UWP | ? | ? | ? |
OpenVMS | ? | ? | ? |
### Unsupported platforms
OS and version | Architecture | Compiler and version | Remarks
-------------- | ------------ | -------------------- | -------
QNX 6.3 | ? | gcc 3.3.5 | see #3371, support was added by a user, but not contributed to upstream
Windows 10 | ARM, ARM64 | Visual Studio 2017 | see #3366, probably only minor issues
For more details, see [here](SupportedPlatforms.md).
For some platforms (Linux, Mac OS X), [prebuilt binary packages are supplied by the ZeroMQ organization](#installation).
For other platforms, you need to [build your own binaries](#build).
## Installation of binary packages <a name="installation"/>
### Linux ### Linux
@ -58,7 +145,7 @@ For OSX users, packages are available via brew.
brew install zeromq brew install zeromq
### Build from sources ## Build from sources <a name="build"/>
To build from sources, see the INSTALL file included with the distribution. To build from sources, see the INSTALL file included with the distribution.

32
SupportedPlatforms.md Normal file
View File

@ -0,0 +1,32 @@
libzmq supports a large variety of platforms. The list of platforms can be found in the [README](README.md#platforms).
The degree to which this support is tested varies.
Platforms are currently assigned to one of the following categories:
- supported platforms with primary CI (travis-ci.org, appveyor.com): https://travis-ci.org/zeromq/libzmq, https://ci.appveyor.com/project/zeromq/libzmq
- supported platforms with secondary CI (openSUSE Build Service): https://build.opensuse.org/project/subprojects/network:messaging:zeromq
- supported platforms with known active users
- supported platforms without known active users
- unsupported platforms
Supported platforms with primary CI
- have builds and tests run for the master branch
- have builds and tests run for every pull request
- it is a precondition for merging a pull request that no builds or tests of these platforms are broken
- contributors can easily enable these builds and tests for their branches in their fork
Suported platforms with secondary CI
- have builds and tests run for the master branch
- these are monitored periodically by the project maintainers, and efforts are made to fix any broken builds or tests in a timely manner
- it is a precondition for a release that no builds or tests of these platforms are broken
Supported platforms with known active users
- have recently been reported to the maintainers (e.g. via pull requests modifying this document) as having working builds and possibly tests
Supported platforms without known active users
- have some platform-specific code within libzmq, but it is not known if it is still working
- have been reported to the maintainers as having working builds and possibly tests only significant time/changes ago
- or are assumed to work due to similarity to the above platforms
Unsupported platforms
- are either reported to be non-working for some reason that is not trivial to fix or are explicitly missing some required platform-specific code