Merge pull request #5133

f0fc4064 Various speedups to depends and Travis (TheCharlatan)
This commit is contained in:
Riccardo Spagni 2019-03-04 21:28:56 +02:00
commit 933c701c6e
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD
11 changed files with 17 additions and 326 deletions

View file

@ -10,16 +10,12 @@ cache:
env:
global:
- MAKEJOBS=-j3
- RUN_TESTS=false
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
- CCACHE_SIZE=100M
- CCACHE_TEMPDIR=/tmp/.ccache-temp
- CCACHE_COMPRESS=1
- CCACHE_DIR=$HOME/.ccache
- BASE_OUTDIR=$TRAVIS_BUILD_DIR/out
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
- PYTHON_DEBUG=1
- WINEDEBUG=fixme-all
- DOCKER_PACKAGES="build-essential libtool cmake autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache"
matrix:
# ARM v7
@ -27,20 +23,20 @@ env:
# ARM v8
- HOST=aarch64-linux-gnu PACKAGES="python3 gperf g++-aarch64-linux-gnu"
# i686 Win
- HOST=i686-w64-mingw32 PACKAGES="python3 nsis g++-mingw-w64-i686"
- HOST=i686-w64-mingw32 DEP_OPTS="NO_QT=1" PACKAGES="python3 g++-mingw-w64-i686 qttools5-dev-tools"
# i686 Linux
- HOST=i686-pc-linux-gnu PACKAGES="gperf cmake g++-multilib bc python3-zmq" RUN_TESTS=true
- HOST=i686-pc-linux-gnu PACKAGES="gperf cmake g++-multilib python3-zmq"
# Win64
- HOST=x86_64-w64-mingw32 PACKAGES="cmake python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64 bc" RUN_TESTS=true
- HOST=x86_64-w64-mingw32 DEP_OPTS="NO_QT=1" PACKAGES="cmake python3 g++-mingw-w64-x86-64 qttools5-dev-tools"
# x86_64 Linux
- HOST=x86_64-unknown-linux-gnu PACKAGES="gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev" RUN_TESTS=true
- HOST=x86_64-unknown-linux-gnu PACKAGES="gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev"
# Cross-Mac
- HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git" OSX_SDK=10.11
before_install:
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
install:
- env | grep -E '^(CCACHE_|WINEDEBUG|DISPLAY|BOOST_TEST_RANDOM|CONFIG_SHELL)' | tee /tmp/env
- env | grep -E '^(CCACHE_|DISPLAY|CONFIG_SHELL)' | tee /tmp/env
- if [[ $HOST = *-mingw32 ]]; then DOCKER_ADMIN="--cap-add SYS_ADMIN"; fi
- DOCKER_ID=$(docker run $DOCKER_ADMIN -idt --mount type=bind,src=$TRAVIS_BUILD_DIR,dst=$TRAVIS_BUILD_DIR --mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR -w $TRAVIS_BUILD_DIR --env-file /tmp/env ubuntu:18.04)
- DOCKER_EXEC="docker exec $DOCKER_ID"

View file

@ -900,7 +900,7 @@ if(MINGW)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wa,-mbig-obj")
set(EXTRA_LIBRARIES mswsock;ws2_32;iphlpapi;crypt32;bcrypt)
if(DEPENDS)
set(ICU_LIBRARIES sicuio sicuin sicuuc sicudt sicutu iconv)
set(ICU_LIBRARIES icuio icui18n icuuc icudata icutu iconv)
else()
set(ICU_LIBRARIES icuio icuin icuuc icudt icutu iconv)
endif()

View file

@ -94,8 +94,8 @@ $(host_arch)_$(host_os)_id_string+=$(shell $(host_CXX) --version 2>/dev/null)
$(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null)
$(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null)
packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages)
qt_packages_$(NO_QT) = $(qt_packages)
packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_)
native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
all_packages = $(packages) $(native_packages)

View file

@ -1,67 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# https://cmake.org/cmake/help/latest
# Can't set `cmake_minimum_required` or `cmake_policy` in toolchain
# since toolchain is read before CMakeLists.txt
# See `target-cmake.in` for CMAKE_POLICY_DEFAULT_CMPNNNN
# Check if we are using mxe supplied version
# - toolchain is included multiple times so set a guard in
# environment to suppress duplicate messages
if(NOT ${CMAKE_COMMAND} STREQUAL @PREFIX@/@BUILD@/bin/cmake AND NOT DEFINED ENV{_MXE_CMAKE_TOOLCHAIN_INCLUDED})
message(WARNING "
** Warning: direct use of toolchain file is deprecated
** Please use prefixed wrapper script instead:
@TARGET@-cmake [options] <path-to-source>
- uses mxe supplied cmake version @CMAKE_VERSION@
- loads toolchain
- loads common run results
- sets various policy defaults
")
set(ENV{_MXE_CMAKE_TOOLCHAIN_INCLUDED} TRUE)
endif()
## General configuration
set(CMAKE_SYSTEM_NAME Windows)
set(MSYS 1)
set(CMAKE_EXPORT_NO_PACKAGE_REGISTRY ON)
# Workaround for https://www.cmake.org/Bug/view.php?id=14075
set(CMAKE_CROSS_COMPILING ON)
## Library config
set(BUILD_SHARED_LIBS @CMAKE_SHARED_BOOL@ CACHE BOOL "BUILD_SHARED_LIBS" FORCE)
set(BUILD_STATIC_LIBS @CMAKE_STATIC_BOOL@ CACHE BOOL "BUILD_STATIC_LIBS" FORCE)
set(BUILD_SHARED @CMAKE_SHARED_BOOL@ CACHE BOOL "BUILD_SHARED" FORCE)
set(BUILD_STATIC @CMAKE_STATIC_BOOL@ CACHE BOOL "BUILD_STATIC" FORCE)
set(LIBTYPE @LIBTYPE@)
## Paths etc.
set(CMAKE_FIND_ROOT_PATH @PREFIX@/@TARGET@)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_PREFIX_PATH @PREFIX@/@TARGET@)
set(CMAKE_INSTALL_PREFIX @PREFIX@/@TARGET@ CACHE PATH "Installation Prefix")
# For custom mxe FindPackage scripts
set(CMAKE_MODULE_PATH "@PREFIX@/share/cmake/modules" ${CMAKE_MODULE_PATH})
## Programs
set(CMAKE_C_COMPILER @PREFIX@/bin/@TARGET@-gcc)
set(CMAKE_CXX_COMPILER @PREFIX@/bin/@TARGET@-g++)
set(CMAKE_Fortran_COMPILER @PREFIX@/bin/@TARGET@-gfortran)
set(CMAKE_RC_COMPILER @PREFIX@/bin/@TARGET@-windres)
# CMAKE_RC_COMPILE_OBJECT is defined in:
# <cmake root>/share/cmake-X.Y/Modules/Platform/Windows-windres.cmake
set(CPACK_NSIS_EXECUTABLE @TARGET@-makensis)
## Individual package configuration
file(GLOB mxe_cmake_files
"@CMAKE_TOOLCHAIN_DIR@/*.cmake"
)
foreach(mxe_cmake_file ${mxe_cmake_files})
include(${mxe_cmake_file})
endforeach()

View file

@ -1,29 +0,0 @@
#!/usr/bin/env bash
echo "== Using MXE wrapper: @PREFIX@/bin/@TARGET@-cmake"
# https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html
# https://cmake.org/cmake/help/latest/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.html
POLICIES=(0017,0020)
unset NO_MXE_TOOLCHAIN
if echo -- "$@" | grep -Ewq "(--build|-E|--system-information)" ; then
NO_MXE_TOOLCHAIN=1
fi
if [[ "$NO_MXE_TOOLCHAIN" == "1" ]]; then
echo "== Skip using MXE toolchain: @CMAKE_TOOLCHAIN_FILE@"
# see https://github.com/mxe/mxe/issues/932
exec "@PREFIX@/@BUILD@/bin/cmake" "$@"
else
echo " - cmake version @CMAKE_VERSION@"
echo " - warnings for unused CMAKE_POLICY_DEFAULT variables can be ignored"
echo "== Using MXE toolchain: @CMAKE_TOOLCHAIN_FILE@"
echo "== Using MXE runresult: @CMAKE_RUNRESULT_FILE@"
if ! ( echo "$@" | grep --silent "DCMAKE_BUILD_TYPE" ) ; then
echo '== Adding "-DCMAKE_BUILD_TYPE=Release"'
set -- "-DCMAKE_BUILD_TYPE=Release" "$@"
fi
exec "@PREFIX@/@BUILD@/bin/cmake" \
-DCMAKE_TOOLCHAIN_FILE="@CMAKE_TOOLCHAIN_FILE@" \
`eval echo -DCMAKE_POLICY_DEFAULT_CMP{$POLICIES}=NEW` \
-C"@CMAKE_RUNRESULT_FILE@" "$@"
fi

View file

@ -1,18 +0,0 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# 2.8.9 is Debian Wheezy version
cmake_minimum_required(VERSION 2.8.9)
# use default C and CXX languages
project(mxe)
# see cmake --help-policy <cmp> for details
cmake_policy(SET CMP0017 NEW)
if (POLICY CMP0020)
cmake_policy(SET CMP0020 NEW)
endif()
# so we can find pkg-test.cmake files to include
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../.. ${CMAKE_MODULE_PATH})
include(${PKG}-test)

View file

@ -6,7 +6,7 @@ $(package)_sha256_hash=1f912c54035533fb4268809701d65c7468d00e292efbc31e644490845
$(package)_patches=icu-001-dont-build-static-dynamic-twice.patch
define $(package)_set_vars
$(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -DU_USING_ICU_NAMESPACE=0 --std=gnu++0x -DU_STATIC_IMPLEMENTATION -DU_COMBINED_IMPLEMENTATION -fPIC -DENABLE_STATIC=YES -DPGKDATA_MODE=static"
$(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION -DU_COMBINED_IMPLEMENTATION -fPIC -DENABLE_STATIC=YES -DPGKDATA_MODE=static"
endef
define $(package)_config_cmds
@ -17,7 +17,7 @@ define $(package)_config_cmds
sh ../source/runConfigureICU Linux &&\
make &&\
cd ../buildb &&\
sh ../source/$($(package)_autoconf) --enable-static=yes --disable-shared --disable-layout --disable-layoutex --disable-tests --disable-samples --prefix=$(host_prefix) --with-cross-build=`pwd`/../builda &&\
sh ../source/runConfigureICU MinGW --enable-static=yes --disable-shared --disable-layout --disable-layoutex --disable-tests --disable-samples --prefix=$(host_prefix) --with-cross-build=`pwd`/../builda &&\
$(MAKE) $($(package)_build_opts)
endef

View file

@ -15,12 +15,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
$(MAKE) -C src libprotobuf.la all
$(MAKE) -C src
endef
define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) -C src install install-libLTLIBRARIES install-nobase_includeHEADERS &&\
$(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
$(MAKE) DESTDIR=$($(package)_staging_dir) -C src install
endef
define $(package)_postprocess_cmds

View file

@ -1,10 +1,11 @@
packages:=boost openssl zeromq cppzmq expat ldns cppzmq readline libiconv qt hidapi protobuf libusb
packages:=boost openssl zeromq cppzmq expat ldns cppzmq readline libiconv hidapi protobuf libusb
native_packages := native_ccache native_protobuf
darwin_native_packages = native_biplist native_ds_store native_mac_alias
darwin_packages = sodium-darwin
linux_packages = eudev
qt_packages = qt
ifeq ($(host_os),linux)
packages += unwind

View file

@ -1,9 +1,8 @@
package=readline
$(package)_version=6.3
$(package)_download_path=ftp://ftp.cwru.edu/pub/bash/
$(package)_version=8.0
$(package)_download_path=https://ftp.gnu.org/gnu/readline
$(package)_file_name=$(package)-$($(package)_version).tar.gz
$(package)_sha256_hash=56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43
$(package)_patches=readline-1.patch
$(package)_sha256_hash=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
define $(package)_set_vars
$(package)_build_opts=CC="$($(package)_cc)"
@ -15,7 +14,6 @@ define $(package)_set_vars
endef
define $(package)_config_cmds
patch -p1 < $($(package)_patch_dir)/readline-1.patch &&\
export bash_cv_have_mbstate_t=yes &&\
export bash_cv_wcwidth_broken=yes &&\
./configure $($(package)_config_opts)
@ -29,5 +27,3 @@ define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
endef

View file

@ -1,187 +0,0 @@
From c0572cecbeadc8fe24c70c5c39d49210a39ac719 Mon Sep 17 00:00:00 2001
From: Timothy Gu <timothygu99@gmail.com>
Date: Tue, 30 Sep 2014 10:32:33 -0700
Subject: [PATCH 1/2] signals: safeguard the remaining usage of frequently
missing signals
diff --git a/input.c b/input.c
index 117dfe8..465f0b9 100644
--- a/input.c
+++ b/input.c
@@ -532,9 +532,17 @@ rl_getc (stream)
Otherwise (not EINTR), some error occurred, also signifying EOF. */
if (errno != EINTR)
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
- else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
+ else if (_rl_caught_signal == SIGTERM
+#if defined(SIGHUP)
+ || _rl_caught_signal == SIGHUP
+#endif
+ )
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
- else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
+ else if (_rl_caught_signal == SIGINT
+#if defined(SIGQUIT)
+ || _rl_caught_signal == SIGQUIT
+#endif
+ )
RL_CHECK_SIGNALS ();
if (rl_signal_event_hook)
diff --git a/signals.c b/signals.c
index 61f02f9..7c921d6 100644
--- a/signals.c
+++ b/signals.c
@@ -216,7 +216,9 @@ _rl_handle_signal (sig)
/* FALLTHROUGH */
case SIGTERM:
+#if defined (SIGHUP)
case SIGHUP:
+#endif
#if defined (SIGTSTP)
case SIGTSTP:
case SIGTTOU:
@@ -426,7 +428,9 @@ rl_set_signals ()
rl_maybe_set_sighandler (SIGINT, rl_signal_handler, &old_int);
rl_maybe_set_sighandler (SIGTERM, rl_signal_handler, &old_term);
+#if defined (SIGHUP)
rl_maybe_set_sighandler (SIGHUP, rl_signal_handler, &old_hup);
+#endif
#if defined (SIGQUIT)
rl_maybe_set_sighandler (SIGQUIT, rl_signal_handler, &old_quit);
#endif
@@ -491,7 +495,9 @@ rl_clear_signals ()
overhead */
rl_maybe_restore_sighandler (SIGINT, &old_int);
rl_maybe_restore_sighandler (SIGTERM, &old_term);
+#if defined (SIGHUP)
rl_maybe_restore_sighandler (SIGHUP, &old_hup);
+#endif
#if defined (SIGQUIT)
rl_maybe_restore_sighandler (SIGQUIT, &old_quit);
#endif
--
1.8.3.2
From 6896ffa4fc85bf0dfae58e69a860d2076c1d9fd2 Mon Sep 17 00:00:00 2001
From: Timothy Gu <timothygu99@gmail.com>
Date: Tue, 30 Sep 2014 17:16:32 -0700
Subject: [PATCH 2/2] Handle missing S_IS* macros more gracefully
diff --git a/colors.c b/colors.c
index 89d9035..ec19844 100644
--- a/colors.c
+++ b/colors.c
@@ -152,14 +152,22 @@ _rl_print_color_indicator (char *f)
{
colored_filetype = C_FILE;
+#if defined (S_ISUID)
if ((mode & S_ISUID) != 0 && is_colored (C_SETUID))
colored_filetype = C_SETUID;
- else if ((mode & S_ISGID) != 0 && is_colored (C_SETGID))
+ else
+#endif
+#if defined (S_ISGID)
+ if ((mode & S_ISGID) != 0 && is_colored (C_SETGID))
colored_filetype = C_SETGID;
- else if (is_colored (C_CAP) && 0) //f->has_capability)
+ else
+#endif
+ if (is_colored (C_CAP) && 0) //f->has_capability)
colored_filetype = C_CAP;
+#if defined(S_IXUGO)
else if ((mode & S_IXUGO) != 0 && is_colored (C_EXEC))
colored_filetype = C_EXEC;
+#endif
else if ((1 < astat.st_nlink) && is_colored (C_MULTIHARDLINK))
colored_filetype = C_MULTIHARDLINK;
}
@@ -173,8 +181,10 @@ _rl_print_color_indicator (char *f)
colored_filetype = C_STICKY_OTHER_WRITABLE;
else
#endif
+#if defined (S_IWOTH)
if ((mode & S_IWOTH) != 0 && is_colored (C_OTHER_WRITABLE))
colored_filetype = C_OTHER_WRITABLE;
+#endif
#if defined (S_ISVTX)
else if ((mode & S_ISVTX) != 0 && is_colored (C_STICKY))
colored_filetype = C_STICKY;
diff --git a/colors.h b/colors.h
index fc926e5..e62edd0 100644
--- a/colors.h
+++ b/colors.h
@@ -96,7 +96,7 @@ enum indicator_no
};
-#if !S_IXUGO
+#if !S_IXUGO && defined(S_IXUSR) && defined(S_IXGRP) && defined(S_IXOTH)
# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
#endif
diff --git a/posixstat.h b/posixstat.h
index 3eb7f29..854a2c9 100644
--- a/posixstat.h
+++ b/posixstat.h
@@ -78,30 +78,44 @@
#if defined (S_IFBLK) && !defined (S_ISBLK)
#define S_ISBLK(m) (((m)&S_IFMT) == S_IFBLK) /* block device */
+#elif !defined (S_IFBLK)
+#define S_ISBLK(m) 0
#endif
#if defined (S_IFCHR) && !defined (S_ISCHR)
#define S_ISCHR(m) (((m)&S_IFMT) == S_IFCHR) /* character device */
+#elif !defined (S_IFCHR)
+#define S_ISCHR(m) 0
#endif
#if defined (S_IFDIR) && !defined (S_ISDIR)
#define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) /* directory */
+#elif !defined (S_IFDIR)
+#define S_ISDIR(m) 0
#endif
#if defined (S_IFREG) && !defined (S_ISREG)
#define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) /* file */
+#elif !defined (S_IFREG)
+#define S_ISREG(m) 0
#endif
#if defined (S_IFIFO) && !defined (S_ISFIFO)
#define S_ISFIFO(m) (((m)&S_IFMT) == S_IFIFO) /* fifo - named pipe */
+#elif !defined (S_IFIFO)
+#define S_ISFIFO(m) 0
#endif
#if defined (S_IFLNK) && !defined (S_ISLNK)
#define S_ISLNK(m) (((m)&S_IFMT) == S_IFLNK) /* symbolic link */
+#elif !defined (S_IFLNK)
+#define S_ISLNK(m) 0
#endif
#if defined (S_IFSOCK) && !defined (S_ISSOCK)
#define S_ISSOCK(m) (((m)&S_IFMT) == S_IFSOCK) /* socket */
+#elif !defined (S_IFSOCK)
+#define S_ISSOCK(m) 0
#endif
/*
@@ -137,6 +151,8 @@
/* These are non-standard, but are used in builtins.c$symbolic_umask() */
#define S_IRUGO (S_IRUSR | S_IRGRP | S_IROTH)
#define S_IWUGO (S_IWUSR | S_IWGRP | S_IWOTH)
+#if defined(S_IXUSR) && defined(S_IXGRP) && defined(S_IXOTH)
#define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
+#endif
#endif /* _POSIXSTAT_H_ */
--
1.8.3.2