diff --git a/depends/Makefile b/depends/Makefile index 3d4d7f65..b3f36f4e 100644 --- a/depends/Makefile +++ b/depends/Makefile @@ -67,12 +67,12 @@ include funcs.mk all: install # Optional convenience targets (only build what you need) -.PHONY: base wallet zmq upnp qt +.PHONY: base wallet zmq upnp qt-deps base: $(packages) wallet: $(wallet_packages) zmq: $(zmq_packages) upnp: $(upnp_packages) -qt: $(qt_packages) $(qt_$(host_os)_packages) +qt-deps: $(qt_packages) $(qt_$(host_os)_packages) # Download-only: uses stage targets generated by funcs.mk .PHONY: download @@ -100,6 +100,21 @@ install-prefix: $(packages) echo " - $$p: $$f"; \ tar -xzf $$f -C "$(host_prefix)"; \ done +ifneq ($(native_packages),) + @echo "== Installing native depends into: $(build_prefix)" + @rm -rf "$(build_prefix)" + @mkdir -p "$(build_prefix)" + @set -euo pipefail; \ + for p in $(native_packages); do \ + f="$(BASE_CACHE)/$(HOST)/$$p/"*.tar.gz; \ + if ! ls $$f >/dev/null 2>&1; then \ + echo "ERROR: missing built artifact for $$p (expected: $$f)"; \ + exit 1; \ + fi; \ + echo " - $$p: $$f"; \ + tar -xzf $$f -C "$(build_prefix)"; \ + done +endif @echo "== Writing config.site: $(host_prefix)/share/config.site" @mkdir -p "$(host_prefix)/share" @{ \ @@ -109,15 +124,17 @@ install-prefix: $(packages) echo "host_alias='$(HOST)'"; \ echo "ac_tool_prefix='$(HOST)-'"; \ echo "with_boost='$(host_prefix)'"; \ + echo "with_qt_incdir='$(host_prefix)/include'"; \ + echo "with_qt_libdir='$(host_prefix)/lib'"; \ echo "with_qt_plugindir='$(host_prefix)/plugins'"; \ echo "with_qt_translationdir='$(host_prefix)/translations'"; \ - echo "with_qt_bindir='$(host_prefix)/native/bin'"; \ - echo "with_protoc_bindir='$(host_prefix)/native/bin'"; \ + echo "with_qt_bindir='$(host_prefix)/bin'"; \ + echo "with_protoc_bindir='$(build_prefix)/bin'"; \ echo "CPPFLAGS='-I$(host_prefix)/include'"; \ echo "LDFLAGS='-L$(host_prefix)/lib'"; \ echo "BOOST_CPPFLAGS='-I$(host_prefix)/include'"; \ echo "BOOST_LDFLAGS='-L$(host_prefix)/lib'"; \ - echo "PATH=\"$(host_prefix)/native/bin:\$$PATH\""; \ + echo "PATH=\"$(build_prefix)/bin:\$$PATH\""; \ echo "PKG_CONFIG='`which pkg-config` --static'"; \ echo "PKG_CONFIG_LIBDIR='$(host_prefix)/lib/pkgconfig:$(host_prefix)/share/pkgconfig'"; \ echo "PKG_CONFIG_PATH=\"$$PKG_CONFIG_LIBDIR\""; \ @@ -158,9 +175,16 @@ install-prefix: $(packages) fi; \ done @if [[ "$(NO_QT)" = "0" ]] && [[ "$(host_os)" = "linux" ]]; then \ - for pc in Qt5Core Qt5Gui Qt5Network Qt5Widgets; do \ - if [[ ! -f "$(host_prefix)/lib/pkgconfig/$${pc}.pc" ]] && [[ ! -f "$(host_prefix)/share/pkgconfig/$${pc}.pc" ]]; then \ - echo "ERROR: missing Qt pkg-config file for $${pc} under $(host_prefix)/(lib|share)/pkgconfig"; \ + for lib in Qt6Core Qt6Gui Qt6Network Qt6Widgets; do \ + if [[ ! -f "$(host_prefix)/lib/lib$${lib}.a" ]]; then \ + echo "ERROR: missing Qt library lib$${lib}.a under $(host_prefix)/lib"; \ + echo "Fix: make -C $(BASEDIR) HOST=$(HOST) USE_WALLET=$(USE_WALLET)"; \ + exit 1; \ + fi; \ + done; \ + for tool in qmake qt-cmake; do \ + if [[ ! -x "$(host_prefix)/bin/$${tool}" ]]; then \ + echo "ERROR: missing Qt tool $${tool} under $(host_prefix)/bin"; \ echo "Fix: make -C $(BASEDIR) HOST=$(HOST) USE_WALLET=$(USE_WALLET)"; \ exit 1; \ fi; \