summaryrefslogtreecommitdiff
path: root/components/libc/cplusplus/Kconfig
blob: c7420c4d5e0f016438641ee740cbb0658caa5a7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
menuconfig RT_USING_CPLUSPLUS
    bool "Enable C++ features"
    default n
    help
        RT_USING_CPLUSPLUS is the master switch for enabling C++ support.

        It is off by default. Once enabled, RT-Thread's build system ensures that a C++ compiler is used to compile .cpp files,
        and it links C++ standard libraries (such as libstdc++ or libc++) into the final firmware.
        Other C++-related configuration items that depend on it become visible and configurable.


if RT_USING_CPLUSPLUS

    config RT_USING_CPLUSPLUS11
        bool "Enable C++11 standard multi-threading feature support"
        default n
        select RT_USING_POSIX_FS
        select RT_USING_POSIX_STDIO
        select RT_USING_PTHREADS
        select RT_USING_RTC
        help
            RT_USING_CPLUSPLUS11 controls whether support for multithreading features in the C++11 standard is enabled.

            It is disabled by default. Once enabled, RT_USING_POSIX_FS, RT_USING_POSIX_STDIO, RT_USING_PTHREADS, and RT_USING_RTC will also be enabled.

    config RT_USING_CPP_WRAPPER
        bool "Enable RT-Thread APIs C++ wrapper"
        default n
        help
            RT_USING_CPP_WRAPPER is used to enable the C++ wrapper for the RT-Thread core API.

            When this option is enabled (Off by default), RT-Thread provides an additional set of C++ code that encapsulates the underlying C API using classes and objects.
    config RT_USING_CPP_EXCEPTIONS
        bool "Enable C++ exceptions (will increase overhead)"
        default n
        help
            RT_USING_CPP_EXCEPTIONS is used to enable C++ exception handling.

            It is disabled by default. Enabling this option pulls in the C++ exception runtime support, which typically increases
            code size (flash/ROM usage), RAM consumption, and may add extra runtime overhead for stack unwinding and exception
            bookkeeping. On resource-constrained or strict real-time systems, this additional overhead should be evaluated carefully
            before turning the option on.
endif