mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +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
38 lines
839 B
Makefile
38 lines
839 B
Makefile
freebsd_CFLAGS=-pipe
|
|
|
|
ifneq ($(LTO),)
|
|
freebsd_CFLAGS += -flto
|
|
freebsd_LDFLAGS += -flto
|
|
endif
|
|
|
|
freebsd_CXXFLAGS=$(freebsd_CFLAGS)
|
|
|
|
freebsd_release_CFLAGS=-O2
|
|
freebsd_release_CXXFLAGS=$(freebsd_release_CFLAGS)
|
|
|
|
freebsd_debug_CFLAGS=-O1
|
|
freebsd_debug_CXXFLAGS=$(freebsd_debug_CFLAGS)
|
|
|
|
ifeq (86,$(findstring 86,$(build_arch)))
|
|
i686_freebsd_CC=clang -m32
|
|
i686_freebsd_CXX=clang++ -m32
|
|
i686_freebsd_AR=ar
|
|
i686_freebsd_RANLIB=ranlib
|
|
i686_freebsd_NM=nm
|
|
i686_freebsd_STRIP=strip
|
|
|
|
x86_64_freebsd_CC=clang -m64
|
|
x86_64_freebsd_CXX=clang++ -m64
|
|
x86_64_freebsd_AR=ar
|
|
x86_64_freebsd_RANLIB=ranlib
|
|
x86_64_freebsd_NM=nm
|
|
x86_64_freebsd_STRIP=strip
|
|
else
|
|
i686_freebsd_CC=$(default_host_CC) -m32
|
|
i686_freebsd_CXX=$(default_host_CXX) -m32
|
|
x86_64_freebsd_CC=$(default_host_CC) -m64
|
|
x86_64_freebsd_CXX=$(default_host_CXX) -m64
|
|
endif
|
|
|
|
freebsd_cmake_system=FreeBSD
|