6.4. macOS Platforms¶
The following table shows the currently supported macOS platforms.
OS |
Version |
CPU |
Network Stack |
Toolchain |
Architecture PIL |
Architecture PSL |
---|---|---|---|---|---|---|
macOS |
14 |
x64 |
OS Default |
clang 15.0 |
x86_64leMachOclang15.0 x86_64leMachOclang15.0CERT |
x86_64leMachOclang15.0-Darwin23 x86_64leMachOclang15.0CERT-Darwin23 |
macOS |
14 |
arm64 |
OS Default |
clang 15.0 |
armv8leMachOclang15.0 armv8leMachOclang15.0CERT |
armv8leMachOclang15.0-Darwin23 armv8leMachOclang15.0CERT-Darwin23 |
6.4.1. How the PIL was built for macOS platforms¶
This section describes how RTI built the Platform Independent Library (PIL) for macOS.
The following table shows the compiler flags RTI used to create the PIL for macOS platforms:
Architecture PIL |
Library Format |
Compiler Flags Used by RTI |
---|---|---|
x86_64leMachOclang15.0 |
Static Release |
C Flags: -std=c99 -fsigned-char -O2 -nostdinc -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -DNDEBUG -DRTI_PIL=1 C++ Flags: -Winit-self -fsigned-char -O2 -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -DNDEBUG -DRTI_PIL=1 |
Static Debug |
C Flags: -std=c99 -nostdinc -fsigned-char -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -g -DRTI_PIL=1 C++ Flags: -Winit-self -fsigned-char -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -g -DRTI_PIL=1 |
|
x86_64leMachOclang15.0CERT |
Static Release |
C Flags: -std=c99 -fsigned-char -O2 -nostdinc -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -DNDEBUG -DRTI_PIL=1 -DRTI_CERT |
Static Debug |
C Flags: -std=c99 -fsigned-char -nostdinc -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -g -DRTI_PIL=1 -DRTI_CERT |
|
armv8leMachOclang15.0 |
Static Release |
C Flags: -std=c99 -fsigned-char -O2 -nostdinc -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -DNDEBUG -DRTI_PIL=1 C++ Flags: -Winit-self -fsigned-char -O2 -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -DNDEBUG -DRTI_PIL=1 |
Static Debug |
C Flags: -std=c99 -fsigned-char -nostdinc -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -g -DRTI_PIL=1 C++ Flags: -Winit-self -fsigned-char -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -g -DRTI_PIL=1 |
|
armv8leMachOclang15.0CERT |
Static Release |
C Flags: -std=c99 -O2 -fsigned-char -nostdinc -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -DNDEBUG -DRTI_PIL=1 -DRTI_CERT |
Static Debug |
C Flags: -std=c99 -fsigned-char -nostdinc -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -Wno-long-long -g -DRTI_PIL=1 -DRTI_CERT |
Warning
The RTI Connext Micro platform independent libraries are built without the standard C
header-files. However, in RTI Connext Micro 4.1.0, there is one direct call to
the C library API qsort
. In addition, CLANG may insert direct calls
to GLIBC functions and other required functions, such as default C++
constructors and destructors. For this reason, it is necessary to use a
CLANG version that is compatible with the CLANG version used to build the
platform independent libraries, or provide a C library with an implementation
of the required functions. Future versions of RTI Connext Micro will remove these
dependencies.
6.4.2. Building the PSL from source for macOS platforms¶
Refer to Building the PSL for instructions on how to build your own Platform Support Library (PSL) for macOS platforms.
6.4.3. Building macOS applications with Connext Micro¶
This section describes how RTI built the Platform Support Library (PSL) for
macOS platforms. You must build applications with compatible flags to the PIL
and PSL in order to operate with Connext Micro. The PSL must also be binary compatible
with the PIL. Applications must not specify the RTI_PSL
or RTI_PIL
preprocessor definitions.
The following table shows the compiler flags and required options that RTI
used to build the PSL for FreeRTOS platforms. When you build the PSL with
rtime-make
, the --target
argument automatically adds all the necessary
flags for the specified architecture.
Architecture PSL |
Library Format |
Compiler Flags Used by RTI |
---|---|---|
x86_64leMachOclang15.0-Darwin23 |
Static Release |
C Flags: -std=c99 -Winit-self -fsigned-char -O2 -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -DNDEBUG -DRTI_PSL=1 C++ Flags: -Winit-self -fstrict-aliasing -fsigned-char -O2 -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wdouble-promotion -Wno-strict-prototypes -Wno-c++11-long-long -Wno-long-long -Wno-sign-conversion -DNDEBUG -DRTI_PSL=1 |
Static Debug |
C Flags: -std=c99 -Winit-self -fsigned-char -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -g -DRTI_PSL=1 C++ Flags: -Winit-self -fstrict-aliasing -fsigned-char -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wdouble-promotion -Wno-strict-prototypes -Wno-c++11-long-long -Wno-long-long -Wno-sign-conversion -g -DRTI_PSL=1 |
|
x86_64leMachOclang15.0CERT-Darwin23 |
Static Release |
C Flags: -std=c99 -Winit-self -fsigned-char -O2 -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -DNDEBUG -DRTI_PSL=1 -DRTI_CERT |
Static Debug |
C Flags: -std=c99 -Winit-self -fsigned-char -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -g -DRTI_PSL=1 -DRTI_CERT |
|
armv8leMachOclang15.0-Darwin23 |
Static Release |
C Flags: -std=c99 -Winit-self -fsigned-char -O2 -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -DNDEBUG -DRTI_PSL=1 C++ Flags: -Winit-self -fstrict-aliasing -fsigned-char -O2 -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wdouble-promotion -Wno-strict-prototypes -Wno-c++11-long-long -Wno-long-long -Wno-sign-conversion -DNDEBUG -DRTI_PSL=1 |
Static Debug |
C Flags: -std=c99 -Winit-self -fsigned-char -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -g -DRTI_PSL=1 C++ Flags: -Winit-self -fsigned-char -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wdouble-promotion -Wno-strict-prototypes -Wno-c++11-long-long -Wno-long-long -Wno-sign-conversion -g -DRTI_PSL=1 |
|
armv8leMachOclang15.0CERT-Darwin23 |
Static Release |
C Flags: -std=c99 -Winit-self -fsigned-char -O2 -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -DNDEBUG -DRTI_PSL=1 -DRTI_CERT |
Static Debug |
C Flags: -std=c99 -Winit-self -fsigned-char -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wdouble-promotion -Wno-strict-prototypes -g -DRTI_PSL=1 -DRTI_CERT |