mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 20:42:59 +01:00
685b7a7a1b
094772656d71b3f5022ae292094e878da035de9e build: support LTO in depends (fanquake) Pull request description: This adds an `LTO` option to depends, i.e `make -C depends LTO=1`, which passes `-flto` when building packages (not currently qt), and automatically configures with `--enable-lto` when doing a build using a `CONFIG_SITE`. The following tables comapres the size (in bytes) of the stripped `x86_64` Linux binaries produced with master and this PR (full depends build): | Binary | stripped master | stripped LTO=1 | saving | | -------- | ----------------: | -------------: | --------: | | bitcoin-cli | 1178632 | 469872 | 60% | | bitcoin-tx | 2710584 | 1866504 | 31% | | bitcoin-util | 952880 | 240104 | 74% | | bitcoin-wallet | 7992888 | 5365984 | 32% | | bitcoind | 13421336 | 11868592 | 12% | | bitcoin-qt | 37680496 | 31640976 | 16% | ACKs for top commit: laanwj: Tested ACK 094772656d71b3f5022ae292094e878da035de9e Tree-SHA512: 6b8483ea490e57a153105ad8c38b25fb1af5d55b1af22db398c7c2573612aaf71b4d2b4cf09c18fd6331b1358dba01641eeaa03e5018a925392e1937118d984a
39 lines
851 B
Makefile
39 lines
851 B
Makefile
linux_CFLAGS=-pipe
|
|
|
|
ifneq ($(LTO),)
|
|
linux_CFLAGS += -flto
|
|
linux_LDFLAGS += -flto
|
|
endif
|
|
|
|
linux_CXXFLAGS=$(linux_CFLAGS)
|
|
|
|
linux_release_CFLAGS=-O2
|
|
linux_release_CXXFLAGS=$(linux_release_CFLAGS)
|
|
|
|
linux_debug_CFLAGS=-O1
|
|
linux_debug_CXXFLAGS=$(linux_debug_CFLAGS)
|
|
|
|
linux_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_LIBCPP_DEBUG=1
|
|
|
|
ifeq (86,$(findstring 86,$(build_arch)))
|
|
i686_linux_CC=gcc -m32
|
|
i686_linux_CXX=g++ -m32
|
|
i686_linux_AR=ar
|
|
i686_linux_RANLIB=ranlib
|
|
i686_linux_NM=nm
|
|
i686_linux_STRIP=strip
|
|
|
|
x86_64_linux_CC=gcc -m64
|
|
x86_64_linux_CXX=g++ -m64
|
|
x86_64_linux_AR=ar
|
|
x86_64_linux_RANLIB=ranlib
|
|
x86_64_linux_NM=nm
|
|
x86_64_linux_STRIP=strip
|
|
else
|
|
i686_linux_CC=$(default_host_CC) -m32
|
|
i686_linux_CXX=$(default_host_CXX) -m32
|
|
x86_64_linux_CC=$(default_host_CC) -m64
|
|
x86_64_linux_CXX=$(default_host_CXX) -m64
|
|
endif
|
|
linux_cmake_system=Linux
|