When I build the function branch on macOS I get this error:
/Users/wouter/Documents/Blender/Functions/blender/source/blender/functions/backends/llvm/builder.hpp:4:10: fatal error:
'llvm/IR/IRBuilder.h' file not found
#include <llvm/IR/IRBuilder.h>
In file included from /Users/wouter/Documents/Blender/functions/blender/source/blender/blenlib/intern/BLI_range.cpp:1:
/Users/wouter/Documents/Blender/functions/blender/source/blender/blenlib/BLI_range.hpp:135:24: error: no member named 'ceil' in namespace 'std'; did
you mean simply 'ceil'?
m_chunk_amount(std::ceil(m_total_range.size() / (float)m_chunk_size))
^~~~~~~~~
ceil
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/math.h:841:1: note: 'ceil' declared here
ceil(_A1 __lcpp_x) _NOEXCEPT {return ::ceil((double)__lcpp_x);}
^
1 error generated.
Only BLI_math.hpp and BLI_range.hpp had to be edited. But when building is almost done, I get a error related to llvm again:
[100%] Linking CXX executable ../../bin/Blender.app/Contents/MacOS/Blender
Undefined symbols for architecture x86_64:
"llvm::EnableABIBreakingChecks", referenced from:
llvm::VerifyEnableABIBreakingChecks in libbf_functions.a(initialize.cpp.o)
llvm::VerifyEnableABIBreakingChecks in libbf_functions.a(function_generation.cpp.o)
llvm::VerifyEnableABIBreakingChecks in libbf_functions.a(numeric.cpp.o)
llvm::VerifyEnableABIBreakingChecks in libbf_functions.a(numeric_lists.cpp.o)
llvm::VerifyEnableABIBreakingChecks in libbf_functions.a(llvm_types.cpp.o)
llvm::VerifyEnableABIBreakingChecks in libbf_functions.a(fgraph_tuple_call.cpp.o)
llvm::VerifyEnableABIBreakingChecks in libbf_functions.a(fgraph_ir_generation.cpp.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
/Users/wouter/Documents/Blender/functions/blender/source/blender/blenlib/BLI_string_map.hpp:314:52: error:
constexpr function’s 1st parameter type ‘BLI::StringRef’ is not a literal
type
constexpr uint32_t compute_string_hash(StringRef key) const
~~~~~~~~^
/Users/wouter/Documents/Blender/functions/blender/source/blender/blenlib/BLI_string_ref.hpp:139:7: note:
‘StringRef’ is not literal because it is not an aggregate and has no
constexpr constructors other than copy or move constructors
class StringRef : public StringRefBase {
^
1 error generated.