802ac5ba5a
Update libraries to match VFX platform 2024, and a few other upgrades to latest versions. boost 1.82.0 deflate 1.18 (new) ffi 3.4.4 freeglut (deleted) ispc 1.12.1 llvm 17.0.6 materialx 1.38.8 mesa 23.3.0 numpy 1.24.3 opencolorio 2.3.0 openexr 3.2.1 openimageio 2.5.6.0 opensubdiv 3.6.0 openvdb 11.0.0 osl 1.13.5.0 (now dynamic) python 3.11.6 sqlite 3.42.0 sse2neon 0d6e9b3dd4 usd 23.11 vulkan 1.3.270 xm2 2.12.3 This only updates the build scripts, the precompiled libraries for each platform will land over the coming weeks. Ref #113157 Co-authored-by: Ray Molenkamp <github@lazydodo.com> Co-authored-by: Campbell Barton <campbell@blender.org> Pull Request: https://projects.blender.org/blender/blender/pulls/116420
64 lines
2.7 KiB
Diff
64 lines
2.7 KiB
Diff
diff -Naur ispc-1.17.0.org/CMakeLists.txt ispc-1.17.0/CMakeLists.txt
|
|
--- ispc-1.17.0.org/CMakeLists.txt 2022-01-15 01:35:15 -0700
|
|
+++ ispc-1.17.0/CMakeLists.txt 2022-02-12 12:44:24 -0700
|
|
@@ -443,7 +447,7 @@
|
|
|
|
# Include directories
|
|
target_include_directories(${PROJECT_NAME} PRIVATE
|
|
- ${LLVM_INCLUDE_DIRS}
|
|
+ ${LLVM_INCLUDE_DIRS} ${CLANG_INCLUDE_DIRS}
|
|
${XE_DEPS_DIR}/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
|
|
@@ -607,7 +607,7 @@
|
|
NAMES
|
|
"${CMAKE_STATIC_LIBRARY_PREFIX}${clangLib}${CMAKE_STATIC_LIBRARY_SUFFIX}"
|
|
clang-cpp
|
|
- HINTS ${LLVM_LIBRARY_DIRS})
|
|
+ HINTS ${LLVM_LIBRARY_DIRS} ${CLANG_LIBRARY_DIR})
|
|
if (NOT ${${clangLib}Path} IN_LIST CLANG_LIBRARY_FULL_PATH_LIST)
|
|
list(APPEND CLANG_LIBRARY_FULL_PATH_LIST ${${clangLib}Path})
|
|
endif()
|
|
@@ -546,6 +550,29 @@
|
|
endif()
|
|
endif()
|
|
|
|
+# Link against libstdc++.a which must be provided to the linker after
|
|
+# LLVM and CLang libraries.
|
|
+# This is needed because some of LLVM/CLang dependencies are using
|
|
+# std::make_shared, which is defined in one of those:
|
|
+# - libclang-cpp.so
|
|
+# - libstdc++.a
|
|
+# Using the former one is tricky because then generated binary depends
|
|
+# on a library which is outside of the LD_LIBRARY_PATH.
|
|
+#
|
|
+# Hence, using C++ implementation from G++ which seems to work just fine.
|
|
+# In fact, from investigation seems that libclang-cpp.so itself is pulling
|
|
+# std::_Sp_make_shared_tag from G++'s libstdc++.a.
|
|
+if(UNIX AND NOT APPLE)
|
|
+ execute_process(
|
|
+ COMMAND g++ --print-file-name libstdc++.a
|
|
+ OUTPUT_VARIABLE GCC_LIBSTDCXX_A
|
|
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
+ )
|
|
+ if(GCC_LIBSTDCXX_A AND EXISTS ${GCC_LIBSTDCXX_A})
|
|
+ target_link_libraries(${PROJECT_NAME} ${GCC_LIBSTDCXX_A})
|
|
+ endif()
|
|
+endif()
|
|
+
|
|
# Build target for utility checking host ISA
|
|
if (ISPC_INCLUDE_UTILS)
|
|
add_executable(check_isa "")
|
|
diff -Naur ispc-1.17.0.org/cmake/GenerateBuiltins.cmake ispc-1.17.0/cmake/GenerateBuiltins.cmake
|
|
--- ispc-1.17.0.org/cmake/GenerateBuiltins.cmake 2022-01-15 01:35:15 -0700
|
|
+++ ispc-1.17.0/cmake/GenerateBuiltins.cmake 2022-02-12 12:44:24 -0700
|
|
@@ -124,6 +124,8 @@
|
|
|
|
if ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "x86")
|
|
set(target_arch "i686")
|
|
+ # Blender: disable 32bit due to build issues on Linux and being unnecessary.
|
|
+ set(SKIP ON)
|
|
elseif ("${bit}" STREQUAL "64" AND ${arch} STREQUAL "x86")
|
|
set(target_arch "x86_64")
|
|
elseif ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "arm")
|