Introduction ============ This section provides platform-specific instructions that you will need to build and run |rti_me| applications. For each supported operating system (OS), this section describes: * Supported combinations of OS versions, CPUs, and compilers * How to build your application, including: * Required |me| and system libraries * Required compiler and linker flags * Details on how the |me| libraries were built To see a list of all supported platforms, refer to :ref:`rl_supported`. Library types ------------- This section references Platform Independent Libraries (PIL) and Platform Support Libraries (PSL). These are library types that RTI provides in a |me| installation. For more information, see :ref:`section-libraries`. Build profiles -------------- You can optionally build |me| with a CERT profile. This restricts |me| to only include features that are available or planned for |me_cert|; for more information, see :ref:`section-cert-compatibility`. Any architecture ending with CERT is built with the CERT profile enabled. Some features are only available on specific platforms; see the footnotes in the table below. .. list-table:: Features by Profile :widths: 50 25 25 :header-rows: 1 * - Feature/Capability - Non-CERT Profile - CERT Profile * - Dynamic Participant Discovery - **✓** - **✓** * - Static Endpoint Discovery - **✓** - **✓** * - Dynamic Endpoint Discovery - **✓** - * - C++ API - **✓** - * - Shared Memory Transport (SHMEM) - **✓** [1]_ - * - Zero Copy v1 - **✓** [1]_ - * - Zero Copy v2 - **✓** [1]_ [2]_ - **✓** [1]_ [2]_ * - Micro Application Generator (MAG) - **✓** - .. [1] Not supported on FreeRTOS platforms. .. [2] Only supported on Linux and QNX platforms. Supported libraries by platform ------------------------------- The following table shows which |me| libraries are supported on each platform (RTI architecture). .. list-table:: Supported Libraries by Platform :widths: 40 30 30 :header-rows: 1 * - Platform - RTI Architecture - Supported Libraries * - Windows 10 x64 - x86_64lePEvs2017 - ``rti_me`` ``rti_me_whsm`` ``rti_me_rhsm`` ``rti_me_discdpse`` ``rti_me_discdpde`` ``rti_me_netiosdm`` ``rti_me_netioshmem`` ``rti_me_appgen`` ``rti_me_cpp`` * - - x86_64lePEvs2017CERT - ``rti_me`` * - macOS 14 x64 - x86_64leMachOclang15.0 - ``rti_me`` ``rti_me_whsm`` ``rti_me_rhsm`` ``rti_me_discdpse`` ``rti_me_discdpde`` ``rti_me_netiosdm`` ``rti_me_netioshmem`` ``rti_me_appgen`` ``rti_me_cpp`` * - - x86_64leMachOclang15.0CERT - ``rti_me`` * - macOS 14 arm64 - armv8leMachOclang15.0 - ``rti_me`` ``rti_me_whsm`` ``rti_me_rhsm`` ``rti_me_discdpse`` ``rti_me_discdpde`` ``rti_me_netiosdm`` ``rti_me_netioshmem`` ``rti_me_appgen`` ``rti_me_cpp`` * - - armv8leMachOclang15.0CERT - ``rti_me`` * - Ubuntu 22.04 x64 - x86_64leElfgcc12.3.0 - ``rti_me`` ``rti_me_whsm`` ``rti_me_rhsm`` ``rti_me_discdpse`` ``rti_me_discdpde`` ``rti_me_netiosdm`` ``rti_me_netioshmem`` ``rti_me_netiozcopy`` ``rti_me_appgen`` ``rti_me_cpp`` * - - x86_64leElfgcc12.3.0CERT - ``rti_me`` ``rti_me_netiozcopy`` * - Ubuntu 18.04 ARMv8 - armv8leElfgcc7.3.0 - ``rti_me`` ``rti_me_whsm`` ``rti_me_rhsm`` ``rti_me_discdpse`` ``rti_me_discdpde`` ``rti_me_netiosdm`` ``rti_me_netioshmem`` ``rti_me_netiozcopy`` ``rti_me_appgen`` ``rti_me_cpp`` * - - armv8leElfgcc7.3.0CERT - ``rti_me`` ``rti_me_netiozcopy`` * - QNX 7.1 ARMv8 - armv8leElfqcc8.3.0 - ``rti_me`` ``rti_me_whsm`` ``rti_me_rhsm`` ``rti_me_discdpse`` ``rti_me_discdpde`` ``rti_me_netiosdm`` ``rti_me_netioshmem`` ``rti_me_netiozcopy`` ``rti_me_appgen`` ``rti_me_cpp`` * - QOS 2.2.1 (QNX OS for Safety) - armv8leElfqcc8.3.0CERT - ``rti_me`` ``rti_me_netiozcopy`` * - FreeRTOS 9.0.0 ARMv7E-M - armv7emleElfgcc7.3.1 - ``rti_me`` ``rti_me_whsm`` ``rti_me_rhsm`` ``rti_me_discdpse`` ``rti_me_discdpde`` ``rti_me_appgen`` ``rti_me_cpp`` * - - armv7emleElfgcc7.3.1CERT - ``rti_me`` Supported transports by platform -------------------------------- The following table shows which transports are supported on each architecture. .. list-table:: Supported Transports by Platform :widths: 15 35 10 10 10 10 10 :header-rows: 1 * - Platform - RTI Architecture - Intra - UDPv4 - SHMEM - Zero Copy v1 - Zero Copy v2 * - Windows 10 x64 - x86_64lePEvs2017 x86_64lePEvs2017CERT - **✓** - **✓** - **✓** - **✓** - * - macOS 14 x64 - x86_64leMachOclang15.0 x86_64leMachOclang15.0CERT - **✓** - **✓** - **✓** - **✓** - * - macOS 14 arm64 - armv8leMachOclang15.0 armv8leMachOclang15.0CERT - **✓** - **✓** - **✓** - **✓** - * - Ubuntu 22.04 x64 - x86_64leElfgcc12.3.0 x86_64leElfgcc12.3.0CERT - **✓** - **✓** - **✓** - **✓** - **✓** * - Ubuntu 18.04 ARMv8 - armv8leElfgcc7.3.0 armv8leElfgcc7.3.0CERT - **✓** - **✓** - **✓** - **✓** - **✓** * - QNX 7.1 ARMv8 - armv8leElfqcc8.3.0 - **✓** - **✓** - **✓** - **✓** - **✓** * - QOS 2.2.1 (QNX OS for Safety) - armv8leElfqcc8.3.0CERT - **✓** - **✓** - **✓** - **✓** - **✓** * - FreeRTOS 9.0.0 ARMv7E-M - armv7emFreeRTOS9.0gcc7.3.1 armv7emFreeRTOS9.0gcc7.3.1CERT - **✓** - **✓** - - -