From c2c93fb78aeeb6b0cf0592ee4643b94b4e37e767 Mon Sep 17 00:00:00 2001 From: tobtoht Date: Wed, 11 Dec 2024 23:10:51 +0100 Subject: [PATCH] cleanup --- contrib/depends/funcs.mk | 5 - .../depends/patches/openssl/android-fix.patch | 126 ------------------ contrib/guix/guix-build | 2 - contrib/guix/libexec/build.sh | 11 +- contrib/guix/manifest.scm | 5 +- src/fcmp_pp/fcmp_pp_rust/CMakeLists.txt | 17 +-- 6 files changed, 15 insertions(+), 151 deletions(-) delete mode 100644 contrib/depends/patches/openssl/android-fix.patch diff --git a/contrib/depends/funcs.mk b/contrib/depends/funcs.mk index 69d174d3ca5..be928c192b8 100644 --- a/contrib/depends/funcs.mk +++ b/contrib/depends/funcs.mk @@ -146,11 +146,6 @@ $(1)_build_env+=$($(1)_build_env_$(host_arch)) $($(1)_build_env_$(host_arch)_$(r $(1)_build_env+=$($(1)_build_env_$(host_os)) $($(1)_build_env_$(host_os)_$(release_type)) $(1)_build_env+=$($(1)_build_env_$(host_arch)_$(host_os)) $($(1)_build_env_$(host_arch)_$(host_os)_$(release_type)) -$(1)_stage_env+=$$($(1)_stage_env_$(release_type)) -$(1)_stage_env+=$($(1)_stage_env_$(host_arch)) $($(1)_stage_env_$(host_arch)_$(release_type)) -$(1)_stage_env+=$($(1)_stage_env_$(host_os)) $($(1)_stage_env_$(host_os)_$(release_type)) -$(1)_stage_env+=$($(1)_stage_env_$(host_arch)_$(host_os)) $($(1)_stage_env_$(host_arch)_$(host_os)_$(release_type)) - $(1)_config_env+=PKG_CONFIG_LIBDIR=$($($(1)_type)_prefix)/lib/pkgconfig $(1)_config_env+=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig $(1)_config_env+=PATH="$(build_prefix)/bin:$(PATH)" diff --git a/contrib/depends/patches/openssl/android-fix.patch b/contrib/depends/patches/openssl/android-fix.patch deleted file mode 100644 index ddd722db521..00000000000 --- a/contrib/depends/patches/openssl/android-fix.patch +++ /dev/null @@ -1,126 +0,0 @@ -diff --git a/Configurations/15-android.conf b/Configurations/15-android.conf -index 41ad9223e0..bad9eb4dd3 100644 ---- a/Configurations/15-android.conf -+++ b/Configurations/15-android.conf -@@ -56,111 +56,7 @@ - $config{target} =~ m|[^-]+-([^-]+)$|; # split on dash - $arch = $1; - -- if ($sysroot = $ENV{CROSS_SYSROOT}) { -- $sysroot =~ m|/android-([0-9]+)/arch-(\w+)/?$|; -- ($api, $arch) = ($1, $2); -- } elsif ($is_standalone_toolchain) { -- $sysroot = "$ndk/sysroot"; -- } else { -- $api = "*"; -- -- # see if user passed -D__ANDROID_API__=N -- foreach (@{$useradd{CPPDEFINES}}, @{$user{CPPFLAGS}}) { -- if (m|__ANDROID_API__=([0-9]+)|) { -- $api = $1; -- last; -- } -- } -- -- if (-d "$ndk/platforms") { -- # list available platforms (numerically) -- my @platforms = sort { $a =~ m/-([0-9]+)$/; my $aa = $1; -- $b =~ m/-([0-9]+)$/; $aa <=> $1; -- } glob("$ndk/platforms/android-$api"); -- die "no $ndk/platforms/android-$api" if ($#platforms < 0); -- -- $sysroot = "@platforms[$#platforms]/arch-$arch"; -- $sysroot =~ m|/android-([0-9]+)/arch-$arch|; -- $api = $1; -- } elsif ($api eq "*") { -- # r22 Removed platforms dir, use this JSON file -- my $path = "$ndk/meta/platforms.json"; -- open my $fh, $path or die "Could not open '$path' $!"; -- while (<$fh>) { -- if (/"max": (\d+),/) { -- $api = $1; -- last; -- } -- } -- close $fh; -- } -- die "Could not get default API Level" if ($api eq "*"); -- } -- die "no sysroot=$sysroot" if (length $sysroot && !-d $sysroot); -- -- my $triarch = $triplet{$arch}; -- my $cflags; -- my $cppflags; -- -- # see if there is NDK clang on $PATH, "universal" or "standalone" -- if (which("clang") =~ m|^$ndk/.*/prebuilt/([^/]+)/|) { -- my $host=$1; -- # harmonize with gcc default -- my $arm = $ndkver > 16 ? "armv7a" : "armv5te"; -- (my $tridefault = $triarch) =~ s/^arm-/$arm-/; -- (my $tritools = $triarch) =~ s/(?:x|i6)86(_64)?-.*/x86$1/; -- if (length $sysroot) { -- $cflags .= " -target $tridefault " -- . "-gcc-toolchain \$($ndk_var)/toolchains" -- . "/$tritools-4.9/prebuilt/$host"; -- $user{CC} = "clang" if ($user{CC} !~ m|clang|); -- } else { -- $user{CC} = "$tridefault$api-clang"; -- } -- $user{CROSS_COMPILE} = undef; -- if (which("llvm-ar") =~ m|^$ndk/.*/prebuilt/([^/]+)/|) { -- $user{AR} = "llvm-ar"; -- $user{ARFLAGS} = [ "rs" ]; -- $user{RANLIB} = ":"; -- } -- } elsif ($is_standalone_toolchain) { -- my $cc = $user{CC} // "clang"; -- # One can probably argue that both clang and gcc should be -- # probed, but support for "standalone toolchain" was added -- # *after* announcement that gcc is being phased out, so -- # favouring clang is considered adequate. Those who insist -- # have option to enforce test for gcc with CC=gcc. -- if (which("$triarch-$cc") !~ m|^$ndk|) { -- die "no NDK $triarch-$cc on \$PATH"; -- } -- $user{CC} = $cc; -- $user{CROSS_COMPILE} = "$triarch-"; -- } elsif ($user{CC} eq "clang") { -- die "no NDK clang on \$PATH"; -- } else { -- if (which("$triarch-gcc") !~ m|^$ndk/.*/prebuilt/([^/]+)/|) { -- die "no NDK $triarch-gcc on \$PATH"; -- } -- $cflags .= " -mandroid"; -- $user{CROSS_COMPILE} = "$triarch-"; -- } -- -- if (length $sysroot) { -- if (!-d "$sysroot/usr/include") { -- my $incroot = "$ndk/sysroot/usr/include"; -- die "no $incroot" if (!-d $incroot); -- die "no $incroot/$triarch" if (!-d "$incroot/$triarch"); -- $incroot =~ s|^$ndk/||; -- $cppflags = "-D__ANDROID_API__=$api"; -- $cppflags .= " -isystem \$($ndk_var)/$incroot/$triarch"; -- $cppflags .= " -isystem \$($ndk_var)/$incroot"; -- } -- $sysroot =~ s|^$ndk/||; -- $sysroot = " --sysroot=\$($ndk_var)/$sysroot"; -- } - $android_ndk = { -- cflags => $cflags . $sysroot, -- cppflags => $cppflags, - bn_ops => $arch =~ m/64$/ ? "SIXTY_FOUR_BIT_LONG" - : "BN_LLONG", - }; -@@ -184,9 +80,6 @@ my %targets = ( - # systems are perfectly capable of executing binaries targeting - # Froyo. Keep in mind that in the nutshell Android builds are - # about JNI, i.e. shared libraries, not applications. -- cflags => add(sub { android_ndk()->{cflags} }), -- cppflags => add(sub { android_ndk()->{cppflags} }), -- cxxflags => add(sub { android_ndk()->{cflags} }), - bn_ops => sub { android_ndk()->{bn_ops} }, - bin_cflags => "-fPIE", - bin_lflags => "-pie", diff --git a/contrib/guix/guix-build b/contrib/guix/guix-build index 554596739dc..17960008250 100755 --- a/contrib/guix/guix-build +++ b/contrib/guix/guix-build @@ -363,8 +363,6 @@ EOF exit 0 fi - # TODO: use depends to fetch and clean rustc source - # Fetch cargo dependencies time-machine environment --manifest="${PWD}/contrib/guix/rust/cargo.scm" \ --container \ diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh index 8d136f60ecb..57bbcc662d0 100644 --- a/contrib/guix/libexec/build.sh +++ b/contrib/guix/libexec/build.sh @@ -85,7 +85,7 @@ unset CPLUS_INCLUDE_PATH unset OBJC_INCLUDE_PATH unset OBJCPLUS_INCLUDE_PATH -export LIBRARY_PATH="${NATIVE_GCC}/lib:${NATIVE_GCC}/lib64:${NATIVE_GCC_STATIC}/lib:${NATIVE_GCC_STATIC}/lib64:$(store_path "zlib")/lib" +export LIBRARY_PATH="${NATIVE_GCC}/lib:${NATIVE_GCC}/lib64:${NATIVE_GCC_STATIC}/lib:${NATIVE_GCC_STATIC}/lib64" export C_INCLUDE_PATH="${NATIVE_GCC}/include" export CPLUS_INCLUDE_PATH="${NATIVE_GCC}/include/c++:${NATIVE_GCC}/include" export OBJC_INCLUDE_PATH="${NATIVE_GCC}/include" @@ -146,7 +146,10 @@ case "$HOST" in esac # TODO -export LD_LIBRARY_PATH="$(store_path xz)/lib:${NATIVE_GCC}/lib:$(store_path zlib)/lib" +# error: failed to run custom build command for `compiler_builtins` +# +# error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory +export LD_LIBRARY_PATH="${NATIVE_GCC}/lib" # Sanity check CROSS_*_PATH directories IFS=':' read -ra PATHS <<< "${CROSS_C_INCLUDE_PATH}:${CROSS_CPLUS_INCLUDE_PATH}:${CROSS_LIBRARY_PATH}" @@ -306,7 +309,7 @@ esac # build-std=std,panic_abort # See: https://rust-lang.github.io/rust-project-goals/2025h1/build-std.html # Building the standard library for targets which do not ship with a pre-compiled standard library. -CARGO_OPTIONS='-Zbuild-std=std,panic_abort --no-default-features' +CARGO_OPTIONS='-Zbuild-std=std,panic_abort;-Zbuild-std-features=panic_immediate_abort;--no-default-features' export GIT_DISCOVERY_ACROSS_FILESYSTEM=1 export USE_DEVICE_TREZOR_MANDATORY=1 @@ -365,7 +368,7 @@ mkdir -p "$DISTSRC" -DCMAKE_SKIP_RPATH=ON \ -DMANUAL_SUBMODULES=1 \ -DGUIX=1 \ - -DRUST_SRC=${RUST_SRC} \ + -DRUST_SRC="${RUST_SRC}" \ -DCARGO_OPTIONS="${CARGO_OPTIONS}" make -C build --jobs="$JOBS" diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm index 5a3e15faa14..d79bb30e32e 100644 --- a/contrib/guix/manifest.scm +++ b/contrib/guix/manifest.scm @@ -248,7 +248,6 @@ chain for " target " development.")) p7zip zip unzip - zlib ;; Build tools gnu-make libtool @@ -293,8 +292,8 @@ chain for " target " development.")) (list gcc-toolchain-12 "static"))) ((string-contains target "darwin") (list - gcc-toolchain-11 - (list gcc-toolchain-12 "static") + gcc-toolchain-10 + (list gcc-toolchain-10 "static") clang-toolchain-11 binutils)) (else '()))))) diff --git a/src/fcmp_pp/fcmp_pp_rust/CMakeLists.txt b/src/fcmp_pp/fcmp_pp_rust/CMakeLists.txt index a695df4b0f0..9d2df657e97 100644 --- a/src/fcmp_pp/fcmp_pp_rust/CMakeLists.txt +++ b/src/fcmp_pp/fcmp_pp_rust/CMakeLists.txt @@ -85,18 +85,13 @@ endif() set(RUST_TARGET "${RUST_ARCH}-${RUST_PLATFORM}${RUST_TOOLCHAIN}") -if (GUIX) - set(CARGO_CMD cargo build --target "${RUST_TARGET}" --release -Zbuild-std=std,panic_abort -Z build-std-features=panic_immediate_abort --no-default-features) +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + set(CARGO_CMD cargo build --target "${RUST_TARGET}" ${CARGO_OPTIONS}) + set(TARGET_DIR "debug") +else () + set(CARGO_CMD cargo build --target "${RUST_TARGET}" --release ${CARGO_OPTIONS}) set(TARGET_DIR "release") -else() - if (CMAKE_BUILD_TYPE STREQUAL "Debug") - set(CARGO_CMD cargo build --target "${RUST_TARGET}" ${CARGO_OPTIONS}) - set(TARGET_DIR "debug") - else () - set(CARGO_CMD cargo build --target "${RUST_TARGET}" --release) - set(TARGET_DIR "release") - endif () -endif() +endif () set(FCMP_PP_RUST_HEADER_DIR "${MONERO_GENERATED_HEADERS_DIR}/fcmp_pp_rust") set(FCMP_PP_RUST_HEADER "${FCMP_PP_RUST_HEADER_DIR}/fcmp++.h")