From 4a26eba0d9d6d976ea24ae96127b61646710c6a0 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 18 Mar 2023 20:00:11 -0700 Subject: [PATCH] fix compilation under FreeBSD sys headers must come before libprocstat meson is missing a libprocstat dependency. iconv is also broken with meson and freebsd. Signed-off-by: Rosen Penev --- meson.build | 3 ++- src/futils.cpp | 4 +++- src/version.cpp | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 054b547d..48d04d96 100644 --- a/meson.build +++ b/meson.build @@ -49,6 +49,7 @@ cdata.set('EXV_ENABLE_VIDEO', get_option('video')) deps = [] deps += cpp.find_library('ws2_32', required: host_machine.system() == 'windows') +deps += cpp.find_library('procstat', required: host_machine.system() == 'freebsd') if cpp.get_argument_syntax() == 'gcc' and cpp.version().version_compare('<9') if host_machine.system() == 'linux' and cpp.get_define('_LIBCPP_VERSION', prefix: '#include ') == '' @@ -83,7 +84,7 @@ if zlib_dep.found() deps += zlib_dep endif -if meson.version().version_compare('>= 0.60') +if meson.version().version_compare('>= 0.60') and host_machine.system() != 'freebsd' iconv_dep = dependency('iconv', disabler: true, required: get_option('iconv')) else iconv_dep = dependency('', disabler: true, required: false) diff --git a/src/futils.cpp b/src/futils.cpp index 750d95c7..65ab8354 100644 --- a/src/futils.cpp +++ b/src/futils.cpp @@ -39,7 +39,7 @@ namespace fs = std::experimental::filesystem; #endif #if defined(__FreeBSD__) -#include +// clang-format off #include #include #include @@ -47,6 +47,8 @@ namespace fs = std::experimental::filesystem; #include #include #include +#include +// clang-format on #endif #ifndef _MAX_PATH diff --git a/src/version.cpp b/src/version.cpp index 49c526f9..580716d3 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -46,12 +46,14 @@ #elif defined(__APPLE__) #include #elif defined(__FreeBSD__) -#include +// clang-format off #include #include #include #include #include +#include +// clang-format on #elif defined(__sun__) #include #include