diff --git a/cmake/module/ProcessConfigurations.cmake b/cmake/module/ProcessConfigurations.cmake index d5426f6e08fb..07e149adc2a3 100644 --- a/cmake/module/ProcessConfigurations.cmake +++ b/cmake/module/ProcessConfigurations.cmake @@ -104,6 +104,23 @@ function(remove_cxx_flag_from_all_configs flag) endforeach() endfunction() +function(remove_c_flag_from_all_configs flag) + get_all_configs(all_configs) + foreach(config IN LISTS all_configs) + string(TOUPPER "${config}" config_uppercase) + set(flags "${CMAKE_C_FLAGS_${config_uppercase}}") + separate_arguments(flags) + list(FILTER flags EXCLUDE REGEX "${flag}") + list(JOIN flags " " new_flags) + set(CMAKE_C_FLAGS_${config_uppercase} "${new_flags}" PARENT_SCOPE) + set(CMAKE_C_FLAGS_${config_uppercase} "${new_flags}" + CACHE STRING + "Flags used by the C compiler during ${config_uppercase} builds." + FORCE + ) + endforeach() +endfunction() + function(replace_cxx_flag_in_config config old_flag new_flag) string(TOUPPER "CMAKE_CXX_FLAGS_${config}" var_name) if("${var_name}" IN_LIST precious_variables) @@ -121,8 +138,10 @@ include(TryAppendCXXFlags) # We leave assertions on. if(MSVC) remove_cxx_flag_from_all_configs(/DNDEBUG) + remove_c_flag_from_all_configs(/DNDEBUG) else() remove_cxx_flag_from_all_configs(-DNDEBUG) + remove_c_flag_from_all_configs(-DNDEBUG) # Adjust flags used by the CXX compiler during RELEASE builds. # Prefer -O2 optimization level. (-O3 is CMake's default for Release for many compilers.) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 865167bbced0..d3ff8baa52dd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,6 +19,7 @@ include(../cmake/crc32c.cmake) include(../cmake/leveldb.cmake) include(../cmake/minisketch.cmake) add_subdirectory(univalue) +add_subdirectory(simplicity) #============================= # secp256k1 subtree #============================= @@ -127,6 +128,7 @@ target_link_libraries(bitcoin_consensus core_interface bitcoin_crypto secp256k1 + BitcoinSimplicity ) add_dependencies(bitcoin_consensus generate_binana_info) diff --git a/src/binana/simplicity.json b/src/binana/simplicity.json new file mode 100644 index 000000000000..52641b89ffec --- /dev/null +++ b/src/binana/simplicity.json @@ -0,0 +1,7 @@ +{ + "binana": [2026, 3, 0], + "deployment": "SIMPLICITY", + "scriptverify": true, + "scriptverify_discourage": true, + "opcodes": {} +} diff --git a/src/kernel/CMakeLists.txt b/src/kernel/CMakeLists.txt index fd0768b92f52..f57ca9014387 100644 --- a/src/kernel/CMakeLists.txt +++ b/src/kernel/CMakeLists.txt @@ -87,6 +87,7 @@ target_link_libraries(bitcoinkernel bitcoin_crypto leveldb secp256k1 + BitcoinSimplicity $ PUBLIC Boost::headers diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp index be2eafc6f8a0..dfe54ce421bb 100644 --- a/src/script/interpreter.cpp +++ b/src/script/interpreter.cpp @@ -13,6 +13,11 @@ #include