aboutsummaryrefslogtreecommitdiff
path: root/depends
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2022-01-03 13:21:58 +0800
committerfanquake <fanquake@gmail.com>2022-01-19 20:38:07 +0800
commitae9175f6086aa6c177084365c795e78c580eac1d (patch)
treef41e94a4bdc48897ea39486733b277111d661138 /depends
parent2d7ffce8521aef7f56a03cc6428d3be01cdb1990 (diff)
downloadbitcoin-ae9175f6086aa6c177084365c795e78c580eac1d.tar.xz
build: add FreeBSD support to depends
Diffstat (limited to 'depends')
-rw-r--r--depends/Makefile2
-rw-r--r--depends/builders/freebsd.mk5
-rw-r--r--depends/hosts/freebsd.mk31
-rw-r--r--depends/packages/bdb.mk1
-rw-r--r--depends/packages/boost.mk1
-rw-r--r--depends/packages/libevent.mk1
-rw-r--r--depends/packages/sqlite.mk1
-rw-r--r--depends/packages/zeromq.mk1
8 files changed, 43 insertions, 0 deletions
diff --git a/depends/Makefile b/depends/Makefile
index 73e2af5501..003778b375 100644
--- a/depends/Makefile
+++ b/depends/Makefile
@@ -76,6 +76,7 @@ build_vendor=$(word 2,$(subst -, ,$(build)))
full_build_os:=$(subst $(build_arch)-$(build_vendor)-,,$(build))
build_os:=$(findstring linux,$(full_build_os))
build_os+=$(findstring darwin,$(full_build_os))
+build_os+=$(findstring freebsd,$(full_build_os))
build_os:=$(strip $(build_os))
ifeq ($(build_os),)
build_os=$(full_build_os)
@@ -86,6 +87,7 @@ host_vendor=$(word 2,$(subst -, ,$(canonical_host)))
full_host_os:=$(subst $(host_arch)-$(host_vendor)-,,$(canonical_host))
host_os:=$(findstring linux,$(full_host_os))
host_os+=$(findstring darwin,$(full_host_os))
+host_os+=$(findstring freebsd,$(full_host_os))
host_os+=$(findstring mingw32,$(full_host_os))
ifeq (android,$(findstring android,$(full_host_os)))
diff --git a/depends/builders/freebsd.mk b/depends/builders/freebsd.mk
new file mode 100644
index 0000000000..465f58e04d
--- /dev/null
+++ b/depends/builders/freebsd.mk
@@ -0,0 +1,5 @@
+build_freebsd_CC=clang
+build_freebsd_CXX=clang++
+
+build_freebsd_SHA256SUM = shasum -a 256
+build_freebsd_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
diff --git a/depends/hosts/freebsd.mk b/depends/hosts/freebsd.mk
new file mode 100644
index 0000000000..307f844331
--- /dev/null
+++ b/depends/hosts/freebsd.mk
@@ -0,0 +1,31 @@
+freebsd_CFLAGS=-pipe
+freebsd_CFLAGS_CXXFLAGS=$(freebsd_CFLAGS)
+
+freebsd_CFLAGS_release_CFLAGS=-O2
+freebsd_CFLAGS_release_CXXFLAGS=$(freebsd_release_CFLAGS)
+
+freebsd_CFLAGS_debug_CFLAGS=-O1
+freebsd_CFLAGS_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
diff --git a/depends/packages/bdb.mk b/depends/packages/bdb.mk
index 8a3116bb3b..4e74c95a8e 100644
--- a/depends/packages/bdb.mk
+++ b/depends/packages/bdb.mk
@@ -10,6 +10,7 @@ define $(package)_set_vars
$(package)_config_opts=--disable-shared --enable-cxx --disable-replication --enable-option-checking
$(package)_config_opts_mingw32=--enable-mingw
$(package)_config_opts_linux=--with-pic
+$(package)_config_opts_freebsd=--with-pic
$(package)_config_opts_android=--with-pic
$(package)_cflags+=-Wno-error=implicit-function-declaration
$(package)_cxxflags+=-std=c++17
diff --git a/depends/packages/boost.mk b/depends/packages/boost.mk
index 5fe2b2bbb8..5e3baa5d75 100644
--- a/depends/packages/boost.mk
+++ b/depends/packages/boost.mk
@@ -25,6 +25,7 @@ endif
$(package)_config_libraries=filesystem,system,test
$(package)_cxxflags+=-std=c++17
$(package)_cxxflags_linux=-fPIC
+$(package)_cxxflags_freebsd=-fPIC
$(package)_cxxflags_android=-fPIC
$(package)_cxxflags_x86_64_darwin=-fcf-protection=full
$(package)_cxxflags_mingw32=-fcf-protection=full
diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk
index 0af5412d94..2305f96d27 100644
--- a/depends/packages/libevent.mk
+++ b/depends/packages/libevent.mk
@@ -12,6 +12,7 @@ define $(package)_set_vars
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
$(package)_config_opts_release=--disable-debug-mode
$(package)_config_opts_linux=--with-pic
+ $(package)_config_opts_freebsd=--with-pic
$(package)_config_opts_android=--with-pic
$(package)_cppflags_mingw32=-D_WIN32_WINNT=0x0601
endef
diff --git a/depends/packages/sqlite.mk b/depends/packages/sqlite.mk
index af5e0d09c9..36b6df7f6e 100644
--- a/depends/packages/sqlite.mk
+++ b/depends/packages/sqlite.mk
@@ -7,6 +7,7 @@ $(package)_sha256_hash=486748abfb16abd8af664e3a5f03b228e5f124682b0c942e157644bf6
define $(package)_set_vars
$(package)_config_opts=--disable-shared --disable-readline --disable-dynamic-extensions --enable-option-checking
$(package)_config_opts_linux=--with-pic
+$(package)_config_opts_freebsd=--with-pic
endef
define $(package)_preprocess_cmds
diff --git a/depends/packages/zeromq.mk b/depends/packages/zeromq.mk
index 9798248c61..473f48dd38 100644
--- a/depends/packages/zeromq.mk
+++ b/depends/packages/zeromq.mk
@@ -11,6 +11,7 @@ define $(package)_set_vars
$(package)_config_opts += --disable-libunwind --disable-radix-tree --without-gcov --disable-dependency-tracking
$(package)_config_opts += --disable-Werror --disable-drafts --enable-option-checking
$(package)_config_opts_linux=--with-pic
+ $(package)_config_opts_freebsd=--with-pic
$(package)_config_opts_android=--with-pic
$(package)_cxxflags+=-std=c++17
endef