[nanomsg] nanomsg requirements

  • From: "Garrett D'Amore" <garrett@xxxxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Mon, 16 May 2016 11:33:43 -0700

I wanted to take a second to further clarify nanomsg’s operating system &
tool chain requirements.  This represents nanomsg today, and the plans for
1.0 release:

POSIX (UNIX, Linux, MacOS X) Platforms
================================

   -  POSIX threads.  You must have full support for the POSIX threading
API, including
      mutexes, condition variables, running threads, etc.

   -  Sockets support.  Obviously you need TCP/IP with sockets, including
async I/O, name
      resolution, etc.

   -  Optionals: POSIX realtime extensions (semaphores, and
clock_gettime(), high resolution
       timers, native atomics, enhanced multiplexing APIs such as epoll()
and kqueue().)
       We use these only if present.

   -  C compiler supporting ANSI/ISO C 89.  GCC and clang both meet this
requirement.
       Most OS vendor supplied C compilers do as well.

   -  CMake version 2.8.7 or newer.


Windows Platforms
===============

    -  Windows Vista or newer.  Specifically, we do not support Windows XP
or Windows 2003.
       APIs we need are missing on these platforms.

    -  MSVC 2010 or better, or MinGW-W64.  Older versions of Microsoft
Visual C are not
       supported, nor are the legacy mingw compilers (which don’t expose
APIs we need).
       Note that recent editions of Visual Studio require the C and C++
compiler be downloaded
       separately.

    - CMake version 2.8.7 or newer.


Documentation Formatting (Optional)
============================

    - asciidoctor is used for documentation formatting.   This is written
in Ruby; its likely that
      it will be possible to use Ruby implementations for Java or
JavaScript, but the tools assume
      that an executable called “asciidoctor” works.


These represent the minimum platform requirements for nanomsg.  These
requirements were not chosen arbitrarily, and while individual contributors
may fork the project to add support for platforms which fall outside of
these requirements, it should be considered very unlikely that we will
integrate changes to address them.

Thanks.

  - Garrett

Other related posts:

  • » [nanomsg] nanomsg requirements - Garrett D'Amore