depends: Add FreeBSD support
This commit is contained in:
parent
607c01aa56
commit
cca6e5c645
|
@ -58,6 +58,7 @@ ifeq ($(host_os),)
|
||||||
host_os:=$(findstring linux,$(full_host_os))
|
host_os:=$(findstring linux,$(full_host_os))
|
||||||
endif
|
endif
|
||||||
host_os+=$(findstring darwin,$(full_host_os))
|
host_os+=$(findstring darwin,$(full_host_os))
|
||||||
|
host_os+=$(findstring freebsd,$(full_host_os))
|
||||||
host_os+=$(findstring mingw32,$(full_host_os))
|
host_os+=$(findstring mingw32,$(full_host_os))
|
||||||
host_os:=$(strip $(host_os))
|
host_os:=$(strip $(host_os))
|
||||||
ifeq ($(host_os),)
|
ifeq ($(host_os),)
|
||||||
|
@ -74,6 +75,9 @@ endif
|
||||||
ifeq ($(host_os),linux)
|
ifeq ($(host_os),linux)
|
||||||
host_cmake=Linux
|
host_cmake=Linux
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(host_os),freebsd)
|
||||||
|
host_cmake=FreeBSD
|
||||||
|
endif
|
||||||
ifeq ($(host_os),darwin)
|
ifeq ($(host_os),darwin)
|
||||||
host_cmake=Darwin
|
host_cmake=Darwin
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
freebsd_CC=clang-8
|
||||||
|
freebsd_CXX=clang++-8
|
||||||
|
freebsd_AR=ar
|
||||||
|
freebsd_RANLIB=ranlib
|
||||||
|
freebsd_NM=nm
|
||||||
|
|
||||||
|
freebsd_CFLAGS=-pipe
|
||||||
|
freebsd_CXXFLAGS=$(freebsd_CFLAGS)
|
||||||
|
|
||||||
|
freebsd_release_CFLAGS=-O2
|
||||||
|
freebsd_release_CXXFLAGS=$(freebsd_release_CFLAGS)
|
||||||
|
|
||||||
|
freebsd_debug_CFLAGS=-g -O0
|
||||||
|
freebsd_debug_CXXFLAGS=$(freebsd_debug_CFLAGS)
|
||||||
|
|
||||||
|
freebsd_native_toolchain=freebsd_base
|
||||||
|
|
|
@ -24,6 +24,7 @@ $(package)_archiver_darwin=$($(package)_libtool)
|
||||||
$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test,date_time,regex,serialization,locale
|
$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test,date_time,regex,serialization,locale
|
||||||
$(package)_cxxflags=-std=c++11
|
$(package)_cxxflags=-std=c++11
|
||||||
$(package)_cxxflags_linux=-fPIC
|
$(package)_cxxflags_linux=-fPIC
|
||||||
|
$(package)_cxxflags_freebsd=-fPIC
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
package=freebsd_base
|
||||||
|
$(package)_version=11.3
|
||||||
|
$(package)_download_path=https://download.freebsd.org/ftp/releases/amd64/$($(package)_version)-RELEASE/
|
||||||
|
$(package)_download_file=base.txz
|
||||||
|
$(package)_file_name=freebsd-base-$($(package)_version).txz
|
||||||
|
$(package)_sha256_hash=4599023ac136325b86f2fddeec64c1624daa83657e40b00b2ef944c81463a4ff
|
||||||
|
|
||||||
|
define $(package)_extract_cmds
|
||||||
|
echo $($(package)_sha256_hash) $($(1)_source_dir)/$($(package)_file_name) | sha256sum -c &&\
|
||||||
|
tar xf $($(1)_source_dir)/$($(package)_file_name) ./lib/ ./usr/lib/ ./usr/include/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_build_cmds
|
||||||
|
mkdir bin &&\
|
||||||
|
echo "exec /usr/bin/clang-8 -target x86_64-unknown-freebsd$($(package)_version) --sysroot=$(host_prefix)/native $$$$""@" > bin/clang-8 &&\
|
||||||
|
echo "exec /usr/bin/clang++-8 -target x86_64-unknown-freebsd$($(package)_version) --sysroot=$(host_prefix)/native $$$$""@" > bin/clang++-8 &&\
|
||||||
|
chmod 755 bin/*
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_stage_cmds
|
||||||
|
mkdir $($(package)_staging_dir)/$(host_prefix)/native &&\
|
||||||
|
mv bin lib usr $($(package)_staging_dir)/$(host_prefix)/native
|
||||||
|
endef
|
|
@ -10,6 +10,7 @@ define $(package)_set_vars
|
||||||
$(package)_config_opts=--enable-static
|
$(package)_config_opts=--enable-static
|
||||||
$(package)_config_opts=--disable-shared
|
$(package)_config_opts=--disable-shared
|
||||||
$(package)_config_opts_linux=--with-pic
|
$(package)_config_opts_linux=--with-pic
|
||||||
|
$(package)_config_opts_freebsd=--with-pic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
|
|
|
@ -36,6 +36,7 @@ $(package)_config_opts+=no-zlib
|
||||||
$(package)_config_opts+=no-zlib-dynamic
|
$(package)_config_opts+=no-zlib-dynamic
|
||||||
$(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags)
|
$(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags)
|
||||||
$(package)_config_opts_linux=-fPIC -Wa,--noexecstack
|
$(package)_config_opts_linux=-fPIC -Wa,--noexecstack
|
||||||
|
$(package)_config_opts_freebsd=-fPIC -Wa,--noexecstack
|
||||||
$(package)_config_opts_x86_64_linux=linux-x86_64
|
$(package)_config_opts_x86_64_linux=linux-x86_64
|
||||||
$(package)_config_opts_i686_linux=linux-generic32
|
$(package)_config_opts_i686_linux=linux-generic32
|
||||||
$(package)_config_opts_arm_linux=linux-generic32
|
$(package)_config_opts_arm_linux=linux-generic32
|
||||||
|
@ -49,6 +50,7 @@ $(package)_config_opts_powerpc_linux=linux-generic32
|
||||||
$(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc
|
$(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc
|
||||||
$(package)_config_opts_x86_64_mingw32=mingw64
|
$(package)_config_opts_x86_64_mingw32=mingw64
|
||||||
$(package)_config_opts_i686_mingw32=mingw
|
$(package)_config_opts_i686_mingw32=mingw
|
||||||
|
$(package)_config_opts_x86_64_freebsd=BSD-x86_64
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
ifeq ($(host_os),android)
|
|
||||||
packages:=boost openssl zeromq libiconv
|
packages:=boost openssl zeromq libiconv
|
||||||
else
|
|
||||||
packages:=boost openssl zeromq expat ldns libiconv hidapi protobuf libusb
|
|
||||||
endif
|
|
||||||
|
|
||||||
native_packages := native_ccache native_protobuf
|
native_packages := native_ccache
|
||||||
|
|
||||||
|
hardware_packages := hidapi protobuf libusb
|
||||||
|
hardware_native_packages := native_protobuf
|
||||||
|
|
||||||
android_native_packages = android_ndk
|
android_native_packages = android_ndk
|
||||||
android_packages = ncurses readline sodium
|
android_packages = ncurses readline sodium
|
||||||
|
|
||||||
darwin_native_packages = native_biplist native_ds_store native_mac_alias
|
darwin_native_packages = native_biplist native_ds_store native_mac_alias $(hardware_native_packages)
|
||||||
darwin_packages = sodium-darwin ncurses readline
|
darwin_packages = sodium-darwin ncurses readline $(hardware_packages)
|
||||||
|
|
||||||
linux_packages = eudev ncurses readline sodium
|
# not really native...
|
||||||
|
freebsd_native_packages = freebsd_base
|
||||||
|
freebsd_packages = ncurses readline sodium
|
||||||
|
|
||||||
|
linux_packages = eudev ncurses readline sodium $(hardware_packages)
|
||||||
|
linux_native_packages = $(hardware_native_packages)
|
||||||
qt_packages = qt
|
qt_packages = qt
|
||||||
|
|
||||||
ifeq ($(build_tests),ON)
|
ifeq ($(build_tests),ON)
|
||||||
|
@ -23,10 +27,8 @@ ifneq ($(host_arch),riscv64)
|
||||||
linux_packages += unwind
|
linux_packages += unwind
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(host_os),mingw32)
|
mingw32_packages = icu4c sodium $(hardware_packages)
|
||||||
packages += icu4c
|
mingw32_native_packages = $(hardware_native_packages)
|
||||||
packages += sodium
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(build_os),darwin)
|
ifneq ($(build_os),darwin)
|
||||||
darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
|
darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
|
||||||
|
|
|
@ -8,6 +8,7 @@ $(package)_patches=9114d3957725acd34aa8b8d011585812f3369411.patch 9e6745c12e0b10
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts=--without-documentation --disable-shared --without-libsodium --disable-curve
|
$(package)_config_opts=--without-documentation --disable-shared --without-libsodium --disable-curve
|
||||||
$(package)_config_opts_linux=--with-pic
|
$(package)_config_opts_linux=--with-pic
|
||||||
|
$(package)_config_opts_freebsd=--with-pic
|
||||||
$(package)_cxxflags=-std=c++11
|
$(package)_cxxflags=-std=c++11
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Set the system name to one of Android, Darwin, Linux, or Windows
|
# Set the system name to one of Android, Darwin, FreeBSD, Linux, or Windows
|
||||||
SET(CMAKE_SYSTEM_NAME @depends@)
|
SET(CMAKE_SYSTEM_NAME @depends@)
|
||||||
SET(CMAKE_BUILD_TYPE @release_type@)
|
SET(CMAKE_BUILD_TYPE @release_type@)
|
||||||
|
|
||||||
|
@ -23,13 +23,14 @@ SET(Readline_INCLUDE_DIR @prefix@/include)
|
||||||
SET(Readline_LIBRARY @prefix@/lib/libreadline.a)
|
SET(Readline_LIBRARY @prefix@/lib/libreadline.a)
|
||||||
SET(Terminfo_LIBRARY @prefix@/lib/libtinfo.a)
|
SET(Terminfo_LIBRARY @prefix@/lib/libtinfo.a)
|
||||||
|
|
||||||
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android")
|
|
||||||
SET(LRELEASE_PATH @prefix@/native/bin CACHE FILEPATH "path to lrelease" FORCE)
|
SET(LRELEASE_PATH @prefix@/native/bin CACHE FILEPATH "path to lrelease" FORCE)
|
||||||
|
|
||||||
|
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
SET(LIBUNWIND_INCLUDE_DIR @prefix@/include)
|
SET(LIBUNWIND_INCLUDE_DIR @prefix@/include)
|
||||||
SET(LIBUNWIND_LIBRARIES @prefix@/lib/libunwind.a)
|
SET(LIBUNWIND_LIBRARIES @prefix@/lib/libunwind.a)
|
||||||
SET(LIBUNWIND_LIBRARY_DIRS @prefix@/lib)
|
SET(LIBUNWIND_LIBRARY_DIRS @prefix@/lib)
|
||||||
|
|
||||||
|
if(NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
||||||
SET(LIBUSB-1.0_LIBRARY @prefix@/lib/libusb-1.0.a)
|
SET(LIBUSB-1.0_LIBRARY @prefix@/lib/libusb-1.0.a)
|
||||||
SET(LIBUDEV_LIBRARY @prefix@/lib/libudev.a)
|
SET(LIBUDEV_LIBRARY @prefix@/lib/libudev.a)
|
||||||
|
|
||||||
|
@ -40,6 +41,8 @@ SET(Protobuf_INCLUDE_DIRS @prefix@/include CACHE PATH "Protobuf include dir")
|
||||||
SET(Protobuf_LIBRARY @prefix@/lib/libprotobuf.a CACHE FILEPATH "Protobuf library")
|
SET(Protobuf_LIBRARY @prefix@/lib/libprotobuf.a CACHE FILEPATH "Protobuf library")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
SET(ZMQ_INCLUDE_PATH @prefix@/include)
|
SET(ZMQ_INCLUDE_PATH @prefix@/include)
|
||||||
SET(ZMQ_LIB @prefix@/lib/libzmq.a)
|
SET(ZMQ_LIB @prefix@/lib/libzmq.a)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue