build: Remove Autotools-based build system

This commit is contained in:
Hennadii Stepanov
2024-08-30 21:31:39 +01:00
parent e268b48419
commit d71ac76842
45 changed files with 3 additions and 7970 deletions

1
depends/.gitignore vendored
View File

@@ -2,7 +2,6 @@ SDKs/
work/
built/
sources/
config.site
x86_64*
i686*
mips*

View File

@@ -183,7 +183,6 @@ meta_depends = Makefile config.guess config.sub funcs.mk builders/default.mk hos
include funcs.mk
final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in)
final_build_id_long+=$(shell $(build_SHA256SUM) toolchain.cmake.in)
final_build_id+=$(shell echo -n "$(final_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))
$(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
@@ -194,62 +193,6 @@ $(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
cd $(@D); $(foreach package,$^, $(build_TAR) xf $($(package)_cached); )
touch $@
# $PATH is not preserved between ./configure and make by convention. Its
# modification and overriding at ./configure time is (as I understand it)
# supposed to be captured by the AC_{PROG_{,OBJ}CXX,PATH_{PROG,TOOL}} macros,
# which will expand the program names to their full absolute paths. The notable
# exception is command line overriding: ./configure CC=clang, which skips the
# program name expansion step, and works because the user implicitly indicates
# with CC=clang that clang will be available in $PATH at all times, and is most
# likely part of the user's system.
#
# Therefore, when we "seed the autoconf cache"/"override well-known program
# vars" by setting AR=<blah> in our config.site, either one of two things needs
# to be true for the build system to work correctly:
#
# 1. If we refer to the program by name (e.g. AR=riscv64-gnu-linux-ar), the
# tool needs to be available in $PATH at all times.
#
# 2. If the tool is _**not**_ expected to be available in $PATH at all times
# it needs to be referred to by its absolute path, such as would be output
# by the AC_PATH_{PROG,TOOL} macros.
#
# Minor note: it is also okay to refer to tools by their absolute path even if
# we expect them to be available in $PATH at all times, more specificity does
# not hurt.
$(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_build_id)
@mkdir -p $(@D)
sed -e 's|@HOST@|$(host)|' \
-e 's|@CC@|$(host_CC)|' \
-e 's|@CXX@|$(host_CXX)|' \
-e 's|@AR@|$(host_AR)|' \
-e 's|@RANLIB@|$(host_RANLIB)|' \
-e 's|@NM@|$(host_NM)|' \
-e 's|@STRIP@|$(host_STRIP)|' \
-e 's|@OBJDUMP@|$(host_OBJDUMP)|' \
-e 's|@DSYMUTIL@|$(host_DSYMUTIL)|' \
-e 's|@build_os@|$(build_os)|' \
-e 's|@host_os@|$(host_os)|' \
-e 's|@CFLAGS@|$(strip $(host_CFLAGS) $(host_$(release_type)_CFLAGS))|' \
-e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \
-e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \
-e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \
-e 's|@no_qt@|$(NO_QT)|' \
-e 's|@no_qr@|$(NO_QR)|' \
-e 's|@no_zmq@|$(NO_ZMQ)|' \
-e 's|@no_wallet@|$(NO_WALLET)|' \
-e 's|@no_bdb@|$(NO_BDB)|' \
-e 's|@no_sqlite@|$(NO_SQLITE)|' \
-e 's|@no_upnp@|$(NO_UPNP)|' \
-e 's|@no_usdt@|$(NO_USDT)|' \
-e 's|@no_natpmp@|$(NO_NATPMP)|' \
-e 's|@multiprocess@|$(MULTIPROCESS)|' \
-e 's|@lto@|$(LTO)|' \
-e 's|@no_harden@|$(NO_HARDEN)|' \
-e 's|@debug@|$(DEBUG)|' \
$< > $@
touch $@
ifeq ($(host),$(build))
crosscompiling=FALSE
else
@@ -316,7 +259,6 @@ check-packages:
check-sources:
@$(foreach package,$(all_packages),$(call check_or_remove_sources,$(package));)
$(host_prefix)/share/config.site: check-packages
$(host_prefix)/toolchain.cmake: check-packages
check-packages: check-sources
@@ -327,7 +269,7 @@ clean-all: clean
clean:
@rm -rf $(WORK_PATH) $(BASE_CACHE) $(BUILD) *.log
install: check-packages $(host_prefix)/share/config.site $(host_prefix)/toolchain.cmake
install: check-packages $(host_prefix)/toolchain.cmake
download-one: check-sources $(all_sources)

View File

@@ -1,147 +0,0 @@
# shellcheck shell=sh disable=SC2034 # Many variables set will be used in
# ./configure but shellcheck doesn't know
# that, hence: disable=SC2034
true # Dummy command because shellcheck treats all directives before first
# command as file-wide, and we only want to disable for one line.
#
# See: https://github.com/koalaman/shellcheck/wiki/Directive
# shellcheck disable=SC2154
depends_prefix="$(cd "$(dirname "$ac_site_file")/.." && pwd)"
cross_compiling=maybe
host_alias="@HOST@"
ac_tool_prefix="${host_alias}-"
if test -z "$with_boost"; then
with_boost="$depends_prefix"
fi
if test -z "$with_qt_plugindir"; then
with_qt_plugindir="${depends_prefix}/plugins"
fi
if test -z "$with_qt_translationdir"; then
with_qt_translationdir="${depends_prefix}/translations"
fi
if test -z "$with_qt_bindir" && test -z "@no_qt@"; then
with_qt_bindir="${depends_prefix}/native/bin"
fi
if test -z "$with_mpgen" && test -n "@multiprocess@"; then
with_mpgen="${depends_prefix}/native"
fi
if test -z "$with_qrencode" && test -n "@no_qr@"; then
with_qrencode=no
fi
if test -z "$enable_wallet" && test -n "@no_wallet@"; then
enable_wallet=no
fi
if test -z "$with_bdb" && test -n "@no_bdb@"; then
with_bdb=no
fi
if test -z "$with_sqlite" && test -n "@no_sqlite@"; then
with_sqlite=no
fi
if test -z "$enable_multiprocess" && test -n "@multiprocess@"; then
enable_multiprocess=yes
fi
if test -z "$with_miniupnpc" && test -n "@no_upnp@"; then
with_miniupnpc=no
fi
if test -z "$with_natpmp" && test -n "@no_natpmp@"; then
with_natpmp=no
fi
if test -z "$with_gui" && test -n "@no_qt@"; then
with_gui=no
fi
if test -n "@debug@" && test -z "@no_qt@" && test "$with_gui" != "no"; then
with_gui=qt5_debug
fi
if test -z "$enable_zmq" && test -n "@no_zmq@"; then
enable_zmq=no
fi
if test -z "$enable_usdt" && test -n "@no_usdt@"; then
enable_usdt=no
fi
if test "@host_os@" = darwin; then
BREW=no
fi
if test -z "$enable_hardening" && test -n "@no_harden@"; then
enable_hardening=no
fi
PKG_CONFIG="$(which pkg-config) --static"
PKG_CONFIG_PATH="${depends_prefix}/share/pkgconfig:${depends_prefix}/lib/pkgconfig"
PKG_CONFIG_LIBDIR="${depends_prefix}/lib/pkgconfig"
CPPFLAGS="-I${depends_prefix}/include/ ${CPPFLAGS}"
LDFLAGS="-L${depends_prefix}/lib ${LDFLAGS}"
if test -n "@CC@" -a -z "${CC}"; then
CC="@CC@"
fi
if test -n "@CXX@" -a -z "${CXX}"; then
CXX="@CXX@"
fi
if test -n "@AR@"; then
AR="@AR@"
ac_cv_path_AR="${AR}"
fi
if test -n "@RANLIB@"; then
RANLIB="@RANLIB@"
ac_cv_path_ac_pt_RANLIB="${RANLIB}"
fi
if test -n "@NM@"; then
NM="@NM@"
ac_cv_path_ac_pt_NM="${NM}"
fi
if test -n "@STRIP@"; then
STRIP="@STRIP@"
ac_cv_path_ac_pt_STRIP="${STRIP}"
fi
if test "@host_os@" = darwin; then
if test -n "@OBJDUMP@"; then
OBJDUMP="@OBJDUMP@"
ac_cv_path_OBJDUMP="${OBJDUMP}"
fi
if test -n "@DSYMUTIL@"; then
DSYMUTIL="@DSYMUTIL@"
ac_cv_path_DSYMUTIL="${DSYMUTIL}"
fi
fi
if test -n "@debug@"; then
enable_reduce_exports=no
fi
if test -n "@CFLAGS@"; then
CFLAGS="@CFLAGS@ ${CFLAGS}"
fi
if test -n "@CXXFLAGS@"; then
CXXFLAGS="@CXXFLAGS@ ${CXXFLAGS}"
fi
if test -n "@CPPFLAGS@"; then
CPPFLAGS="@CPPFLAGS@ ${CPPFLAGS}"
fi
if test -n "@LDFLAGS@"; then
LDFLAGS="@LDFLAGS@ ${LDFLAGS}"
fi