ソースを参照

kconfig: Merge Kconfig.compiler back into Kconfig

Reverts 5e0a3d99e8f748dab2b313339ba9b3ab6abd1640 (no longer needed but also not supported by
mconf-idf built from kconfig-frontends repo.)
Angus Gratton 7 年 前
コミット
a528d3a61a
2 ファイル変更135 行追加136 行削除
  1. 135 1
      Kconfig
  2. 0 135
      Kconfig.compiler

+ 135 - 1
Kconfig

@@ -42,7 +42,141 @@ endmenu  # SDK tool configuration
 
 source "$COMPONENT_KCONFIGS_PROJBUILD"
 
-source "$IDF_PATH/Kconfig.compiler"
+menu "Compiler options"
+
+choice OPTIMIZATION_COMPILER
+    prompt "Optimization Level"
+    default OPTIMIZATION_LEVEL_DEBUG
+    help
+        This option sets compiler optimization level (gcc -O argument).
+
+        - for "Release" setting, -Os flag is added to CFLAGS.
+        - for "Debug" setting, -Og flag is added to CFLAGS.
+
+        "Release" with -Os produces smaller & faster compiled code but it
+        may be harder to correlated code addresses to source files when debugging.
+
+        To add custom optimization settings, set CFLAGS and/or CPPFLAGS
+        in project makefile, before including $(IDF_PATH)/make/project.mk. Note that
+        custom optimization levels may be unsupported.
+
+config OPTIMIZATION_LEVEL_DEBUG
+    bool "Debug (-Og)"
+config OPTIMIZATION_LEVEL_RELEASE
+    bool "Release (-Os)"
+endchoice
+
+choice OPTIMIZATION_ASSERTION_LEVEL
+    prompt "Assertion level"
+    default OPTIMIZATION_ASSERTIONS_ENABLED
+    help
+        Assertions can be:
+
+        - Enabled. Failure will print verbose assertion details. This is the default.
+
+        - Set to "silent" to save code size (failed assertions will abort() but user
+          needs to use the aborting address to find the line number with the failed assertion.)
+
+        - Disabled entirely (not recommended for most configurations.) -DNDEBUG is added
+          to CPPFLAGS in this case.
+
+config OPTIMIZATION_ASSERTIONS_ENABLED
+    prompt "Enabled"
+    bool
+    help
+        Enable assertions. Assertion content and line number will be printed on failure.
+
+config OPTIMIZATION_ASSERTIONS_SILENT
+    prompt "Silent (saves code size)"
+    bool
+    help
+        Enable silent assertions. Failed assertions will abort(), user needs to
+        use the aborting address to find the line number with the failed assertion.
+
+config OPTIMIZATION_ASSERTIONS_DISABLED
+    prompt "Disabled (sets -DNDEBUG)"
+    bool
+    help
+        If assertions are disabled, -DNDEBUG is added to CPPFLAGS.
+
+endchoice # assertions
+
+menuconfig CXX_EXCEPTIONS
+   bool "Enable C++ exceptions"
+   default n
+   help
+       Enabling this option compiles all IDF C++ files with exception support enabled.
+
+       Disabling this option disables C++ exception support in all compiled files, and any libstdc++ code which throws
+       an exception will abort instead.
+
+       Enabling this option currently adds an additional ~500 bytes of heap overhead
+       when an exception is thrown in user code for the first time.
+
+config CXX_EXCEPTIONS_EMG_POOL_SIZE
+    int "Emergency Pool Size"
+    default 0
+    depends on CXX_EXCEPTIONS
+    help
+       Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate
+       memory for thrown exceptions when there is not enough memory on the heap.
+
+choice STACK_CHECK_MODE
+    prompt "Stack smashing protection mode"
+    default STACK_CHECK_NONE
+    help
+        Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack
+        smashing attacks. This is done by adding a guard variable to functions with vulnerable objects.
+        The guards are initialized when a function is entered and then checked when the function exits.
+        If a guard check fails, program is halted. Protection has the following modes:
+
+        - In NORMAL mode (GCC flag: -fstack-protector) only functions that call alloca,
+          and functions with buffers larger than 8 bytes are protected.
+        
+        - STRONG mode (GCC flag: -fstack-protector-strong) is like NORMAL, but includes
+          additional functions to be protected -- those that have local array definitions,
+          or have references to local frame addresses.
+        
+        - In OVERALL mode (GCC flag: -fstack-protector-all) all functions are protected.
+
+        Modes have the following impact on code performance and coverage:
+
+        - performance: NORMAL > STRONG > OVERALL
+        
+        - coverage: NORMAL < STRONG < OVERALL
+
+
+config STACK_CHECK_NONE
+    bool "None"
+config STACK_CHECK_NORM
+    bool "Normal"
+config STACK_CHECK_STRONG
+    bool "Strong"
+config STACK_CHECK_ALL
+    bool "Overall"
+endchoice
+
+config STACK_CHECK
+    bool
+    default !STACK_CHECK_NONE
+    help
+        Stack smashing protection.
+
+config WARN_WRITE_STRINGS
+    bool "Enable -Wwrite-strings warning flag"
+    default "n"
+    help
+        Adds -Wwrite-strings flag for the C/C++ compilers.
+
+        For C, this gives string constants the type ``const char[]`` so that
+        copying the address of one into a non-const ``char *`` pointer
+        produces a warning. This warning helps to find at compile time code
+        that tries to write into a string constant.
+
+        For C++, this warns about the deprecated conversion from string
+        literals to ``char *``.
+
+endmenu # Compiler Options
 
 menu "Component config"
 source "$COMPONENT_KCONFIGS"

+ 0 - 135
Kconfig.compiler

@@ -1,135 +0,0 @@
-menu "Compiler options"
-
-choice OPTIMIZATION_COMPILER
-    prompt "Optimization Level"
-    default OPTIMIZATION_LEVEL_DEBUG
-    help
-        This option sets compiler optimization level (gcc -O argument).
-
-        - for "Release" setting, -Os flag is added to CFLAGS.
-        - for "Debug" setting, -Og flag is added to CFLAGS.
-
-        "Release" with -Os produces smaller & faster compiled code but it
-        may be harder to correlated code addresses to source files when debugging.
-
-        To add custom optimization settings, set CFLAGS and/or CPPFLAGS
-        in project makefile, before including $(IDF_PATH)/make/project.mk. Note that
-        custom optimization levels may be unsupported.
-
-config OPTIMIZATION_LEVEL_DEBUG
-    bool "Debug (-Og)"
-config OPTIMIZATION_LEVEL_RELEASE
-    bool "Release (-Os)"
-endchoice
-
-choice OPTIMIZATION_ASSERTION_LEVEL
-    prompt "Assertion level"
-    default OPTIMIZATION_ASSERTIONS_ENABLED
-    help
-        Assertions can be:
-
-        - Enabled. Failure will print verbose assertion details. This is the default.
-
-        - Set to "silent" to save code size (failed assertions will abort() but user
-          needs to use the aborting address to find the line number with the failed assertion.)
-
-        - Disabled entirely (not recommended for most configurations.) -DNDEBUG is added
-          to CPPFLAGS in this case.
-
-config OPTIMIZATION_ASSERTIONS_ENABLED
-    prompt "Enabled"
-    bool
-    help
-        Enable assertions. Assertion content and line number will be printed on failure.
-
-config OPTIMIZATION_ASSERTIONS_SILENT
-    prompt "Silent (saves code size)"
-    bool
-    help
-        Enable silent assertions. Failed assertions will abort(), user needs to
-        use the aborting address to find the line number with the failed assertion.
-
-config OPTIMIZATION_ASSERTIONS_DISABLED
-    prompt "Disabled (sets -DNDEBUG)"
-    bool
-    help
-        If assertions are disabled, -DNDEBUG is added to CPPFLAGS.
-
-endchoice # assertions
-
-menuconfig CXX_EXCEPTIONS
-   bool "Enable C++ exceptions"
-   default n
-   help
-       Enabling this option compiles all IDF C++ files with exception support enabled.
-
-       Disabling this option disables C++ exception support in all compiled files, and any libstdc++ code which throws
-       an exception will abort instead.
-
-       Enabling this option currently adds an additional ~500 bytes of heap overhead
-       when an exception is thrown in user code for the first time.
-
-config CXX_EXCEPTIONS_EMG_POOL_SIZE
-    int "Emergency Pool Size"
-    default 0
-    depends on CXX_EXCEPTIONS
-    help
-       Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate
-       memory for thrown exceptions when there is not enough memory on the heap.
-
-choice STACK_CHECK_MODE
-    prompt "Stack smashing protection mode"
-    default STACK_CHECK_NONE
-    help
-        Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack
-        smashing attacks. This is done by adding a guard variable to functions with vulnerable objects.
-        The guards are initialized when a function is entered and then checked when the function exits.
-        If a guard check fails, program is halted. Protection has the following modes:
-
-        - In NORMAL mode (GCC flag: -fstack-protector) only functions that call alloca,
-          and functions with buffers larger than 8 bytes are protected.
-        
-        - STRONG mode (GCC flag: -fstack-protector-strong) is like NORMAL, but includes
-          additional functions to be protected -- those that have local array definitions,
-          or have references to local frame addresses.
-        
-        - In OVERALL mode (GCC flag: -fstack-protector-all) all functions are protected.
-
-        Modes have the following impact on code performance and coverage:
-
-        - performance: NORMAL > STRONG > OVERALL
-        
-        - coverage: NORMAL < STRONG < OVERALL
-
-
-config STACK_CHECK_NONE
-    bool "None"
-config STACK_CHECK_NORM
-    bool "Normal"
-config STACK_CHECK_STRONG
-    bool "Strong"
-config STACK_CHECK_ALL
-    bool "Overall"
-endchoice
-
-config STACK_CHECK
-    bool
-    default !STACK_CHECK_NONE
-    help
-        Stack smashing protection.
-
-config WARN_WRITE_STRINGS
-    bool "Enable -Wwrite-strings warning flag"
-    default "n"
-    help
-        Adds -Wwrite-strings flag for the C/C++ compilers.
-
-        For C, this gives string constants the type ``const char[]`` so that
-        copying the address of one into a non-const ``char *`` pointer
-        produces a warning. This warning helps to find at compile time code
-        that tries to write into a string constant.
-
-        For C++, this warns about the deprecated conversion from string
-        literals to ``char *``.
-
-endmenu # Compiler Options