Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1package=native_qt2include packages/qt_details.mk3$(package)_version=$(qt_details_version)4$(package)_download_path=$(qt_details_download_path)5$(package)_file_name=$(qt_details_qtbase_file_name)6$(package)_sha256_hash=$(qt_details_qtbase_sha256_hash)7$(package)_patches_path := $(qt_details_patches_path)8$(package)_patches := dont_hardcode_pwd.patch9$(package)_patches += qtbase_skip_tools.patch10$(package)_patches += rcc_hardcode_timestamp.patch11$(package)_patches += qttools_skip_dependencies.patch12$(package)_patches += fix-macos26-qyield.patch13$(package)_patches += fix_missed_headers.patch15$(package)_qttranslations_file_name=$(qt_details_qttranslations_file_name)16$(package)_qttranslations_sha256_hash=$(qt_details_qttranslations_sha256_hash)18$(package)_qttools_file_name=$(qt_details_qttools_file_name)19$(package)_qttools_sha256_hash=$(qt_details_qttools_sha256_hash)21$(package)_extra_sources := $($(package)_qttranslations_file_name)22$(package)_extra_sources += $($(package)_qttools_file_name)24$(package)_top_download_path=$(qt_details_top_download_path)25$(package)_top_cmakelists_file_name=$(qt_details_top_cmakelists_file_name)26$(package)_top_cmakelists_download_file=$(qt_details_top_cmakelists_download_file)27$(package)_top_cmakelists_sha256_hash=$(qt_details_top_cmakelists_sha256_hash)28$(package)_top_cmake_download_path=$(qt_details_top_cmake_download_path)29$(package)_top_cmake_ecmoptionaladdsubdirectory_file_name=$(qt_details_top_cmake_ecmoptionaladdsubdirectory_file_name)30$(package)_top_cmake_ecmoptionaladdsubdirectory_download_file=$(qt_details_top_cmake_ecmoptionaladdsubdirectory_download_file)31$(package)_top_cmake_ecmoptionaladdsubdirectory_sha256_hash=$(qt_details_top_cmake_ecmoptionaladdsubdirectory_sha256_hash)32$(package)_top_cmake_qttoplevelhelpers_file_name=$(qt_details_top_cmake_qttoplevelhelpers_file_name)33$(package)_top_cmake_qttoplevelhelpers_download_file=$(qt_details_top_cmake_qttoplevelhelpers_download_file)34$(package)_top_cmake_qttoplevelhelpers_sha256_hash=$(qt_details_top_cmake_qttoplevelhelpers_sha256_hash)36$(package)_extra_sources += $($(package)_top_cmakelists_file_name)-$($(package)_version)37$(package)_extra_sources += $($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name)-$($(package)_version)38$(package)_extra_sources += $($(package)_top_cmake_qttoplevelhelpers_file_name)-$($(package)_version)40define $(package)_set_vars41# Build options.42$(package)_config_opts := -release43$(package)_config_opts += -make tools44$(package)_config_opts += -no-pkg-config45$(package)_config_opts += -no-reduce-relocations46$(package)_config_opts += -no-use-gold-linker47$(package)_config_opts += -prefix $(host_prefix)48$(package)_config_opts += -static50# Modules.51$(package)_config_opts += -no-feature-concurrent52$(package)_config_opts += -no-feature-network53$(package)_config_opts += -no-feature-printsupport54$(package)_config_opts += -no-feature-sql55$(package)_config_opts += -no-feature-testlib56$(package)_config_opts += -no-feature-xml57$(package)_config_opts += -no-gui58$(package)_config_opts += -no-widgets60$(package)_config_opts += -no-glib61$(package)_config_opts += -no-icu62$(package)_config_opts += -no-libudev63$(package)_config_opts += -no-openssl64$(package)_config_opts += -no-zstd65$(package)_config_opts += -qt-pcre66$(package)_config_opts += -qt-zlib67$(package)_config_opts += -no-feature-backtrace68$(package)_config_opts += -no-feature-permissions69$(package)_config_opts += -no-feature-process70$(package)_config_opts += -no-feature-settings72# Core tools.73$(package)_config_opts += -no-feature-androiddeployqt74$(package)_config_opts += -no-feature-macdeployqt75$(package)_config_opts += -no-feature-windeployqt76$(package)_config_opts += -no-feature-qmake78# Qt Tools module.79$(package)_config_opts += -feature-linguist80$(package)_config_opts += -no-feature-assistant81$(package)_config_opts += -no-feature-clang82$(package)_config_opts += -no-feature-clangcpp83$(package)_config_opts += -no-feature-designer84$(package)_config_opts += -no-feature-pixeltool85$(package)_config_opts += -no-feature-qdoc86$(package)_config_opts += -no-feature-qtattributionsscanner87$(package)_config_opts += -no-feature-qtdiag88$(package)_config_opts += -no-feature-qtplugininfo90$(package)_config_env := CC="$$(build_CC)"91$(package)_config_env += CXX="$$(build_CXX)"92ifeq ($(build_os),darwin)93$(package)_config_env += OBJC="$$(build_CC)"94$(package)_config_env += OBJCXX="$$(build_CXX)"95endif97$(package)_cmake_opts := -DCMAKE_EXE_LINKER_FLAGS="$$(build_LDFLAGS)"98$(package)_cmake_opts += -DCMAKE_AR="$$(build_AR)"99ifneq ($(V),)100$(package)_cmake_opts += --log-level=STATUS101endif103ifeq ($(build_os),darwin)104$(package)_cmake_opts += -DQT_NO_APPLE_SDK_MAX_VERSION_CHECK=ON105$(package)_cmake_opts += -DQT_NO_XCODE_MIN_VERSION_CHECK=ON106endif107endef109define $(package)_fetch_cmds110$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \111$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttranslations_file_name),$($(package)_qttranslations_file_name),$($(package)_qttranslations_sha256_hash)) && \112$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash)) && \113$(call fetch_file,$(package),$($(package)_top_download_path),$($(package)_top_cmakelists_download_file),$($(package)_top_cmakelists_file_name)-$($(package)_version),$($(package)_top_cmakelists_sha256_hash)) && \114$(call fetch_file,$(package),$($(package)_top_cmake_download_path),$($(package)_top_cmake_ecmoptionaladdsubdirectory_download_file),$($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name)-$($(package)_version),$($(package)_top_cmake_ecmoptionaladdsubdirectory_sha256_hash)) && \115$(call fetch_file,$(package),$($(package)_top_cmake_download_path),$($(package)_top_cmake_qttoplevelhelpers_download_file),$($(package)_top_cmake_qttoplevelhelpers_file_name)-$($(package)_version),$($(package)_top_cmake_qttoplevelhelpers_sha256_hash))116endef118define $(package)_extract_cmds119mkdir -p $($(package)_extract_dir) && \120echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \121echo "$($(package)_qttranslations_sha256_hash) $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \122echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \123echo "$($(package)_top_cmakelists_sha256_hash) $($(package)_source_dir)/$($(package)_top_cmakelists_file_name)-$($(package)_version)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \124echo "$($(package)_top_cmake_ecmoptionaladdsubdirectory_sha256_hash) $($(package)_source_dir)/$($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name)-$($(package)_version)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \125echo "$($(package)_top_cmake_qttoplevelhelpers_sha256_hash) $($(package)_source_dir)/$($(package)_top_cmake_qttoplevelhelpers_file_name)-$($(package)_version)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \126$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \127mkdir -p qtbase && \128$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \129mkdir -p qttranslations && \130$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \131mkdir -p qttools && \132$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools && \133cp $($(package)_source_dir)/$($(package)_top_cmakelists_file_name)-$($(package)_version) ./$($(package)_top_cmakelists_file_name) && \134mkdir -p cmake && \135cp $($(package)_source_dir)/$($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name)-$($(package)_version) cmake/$($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name) && \136cp $($(package)_source_dir)/$($(package)_top_cmake_qttoplevelhelpers_file_name)-$($(package)_version) cmake/$($(package)_top_cmake_qttoplevelhelpers_file_name)137endef139define $(package)_preprocess_cmds140patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \141patch -p1 -i $($(package)_patch_dir)/qtbase_skip_tools.patch && \142patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \143patch -p1 -i $($(package)_patch_dir)/qttools_skip_dependencies.patch && \144patch -p1 -i $($(package)_patch_dir)/fix-macos26-qyield.patch && \145patch -p1 -i $($(package)_patch_dir)/fix_missed_headers.patch146endef148define $(package)_config_cmds149cd qtbase && \150./configure -top-level $($(package)_config_opts) -- $($(package)_cmake_opts)151endef153define $(package)_build_cmds154cmake --build . -- $$(filter -j%,$$(MAKEFLAGS))155endef157define $(package)_stage_cmds158cmake --install . --prefix $($(package)_staging_prefix_dir) --strip159endef161define $(package)_postprocess_cmds162rm -rf doc/ && \163mv translations/ ..164endef
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.